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

ric*_*chq 7 x11 vim

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

Gow*_*wri 10

把它放在你的vimrc中

map ,n <Esc>:let @*=line(".")<CR>
Run Code Online (Sandbox Code Playgroud)

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


Pie*_*BdR 6

所以神奇的界限是:

 :call setreg('*', line('.'))
Run Code Online (Sandbox Code Playgroud)

原因:

  1. 寄存器*持有剪贴板
  2. line('.') 保留当前行号

当然,您可以将该功能映射到快捷方式:

nmap ,ln :call setreg('*', line('.'))<CR>
Run Code Online (Sandbox Code Playgroud)