在Vim中,有没有办法将当前行号复制到缓冲区?

时间:2008-11-17 11:02:40

标签: vim x11

使用gdb和Vim时,我经常想停在特定的行上。通常在Vim中,我将规则区域上显示的行号复制粘贴到gdb会话中。如果我可以使用"+<magic-incantation>之类的东西将当前光标位置的行号复制到xclipboard缓冲区中,那将会省去很多麻烦。这可能吗?

4 个答案:

答案 0 :(得分:10)

把它放在你的vimrc

map ,n <Esc>:let @*=line(".")<CR>

然后使用 n 将当前行号复制到剪贴板

答案 1 :(得分:6)

所以神奇的界限是:

 :call setreg('*', line('.'))

原因:

  1. 寄存器*持有剪贴板
  2. line('.')包含当前行号
  3. 当然,您可以将该功能映射到快捷方式:

    nmap ,ln :call setreg('*', line('.'))<CR>
    

答案 2 :(得分:0)

另外,要在vim中使用GDB,您可能需要查看vim.sourceforge.net上的一些gdb脚本 -

答案 3 :(得分:-1)

不确定这是否是您所追求的,但您尝试过使用标记吗?

将光标放在所需的行上,然后输入m和一个字母,例如a。

输入'a将带您到包含标记的行。

输入“a”会将您带到您在该行中标记的实际字母。

嗯,只是想一想,这必须是可用的,因为行号可用于各种功能,例如,用于状态栏。