问题
When using gdb and Vim, often I want to stop on a particular line. Normally in Vim I copy-paste the line number showing on the rule area to the gdb session. It'd save me a lot of hassle if I could use something like "+<magic-incantation>
to copy the line number of the current cursor position into the xclipboard buffer. Is this possible?
回答1:
put this in your vimrc
map ,n <Esc>:let @*=line(".")<CR>
then using ,n will copy the current line number into the clipboard
回答2:
So the magic line is:
:call setreg('*', line('.'))
The reason:
- The register * hold the clipboard
line('.')
holds the current line number
Of course you can map that function to a shortcut:
nmap ,ln :call setreg('*', line('.'))<CR>
回答3:
Also, to use GDB from within vim, you may want to check out some of the gdb scripts on vim.sourceforge.net -
- http://vim.sourceforge.net/scripts/script.php?script_id=84
- http://vim.sourceforge.net/scripts/script.php?script_id=663
回答4:
Not sure if this is what you're after but have you tried using markers?
Put the cursor on the line you want, then enter m and a letter, say a.
Entering 'a will take you to the line containing the marker.
Entering `a will take you to the actual letter that you marked in the line.
Hmm, just thinking a bit further, this must be available as the line number is available for use in various functions, e.g. for use in the status bar.
来源:https://stackoverflow.com/questions/295321/in-vim-is-there-a-way-to-copy-the-current-line-number-into-a-buffer