В Vim есть способ скопировать текущий номер строки в буфер? - PullRequest
7 голосов
/ 17 ноября 2008

При использовании GDB и Vim, часто я хочу остановиться на определенной строке. Обычно в Vim я копирую и вставляю номер строки в области правил в сеанс GDB. Это избавило бы меня от хлопот, если бы я мог использовать что-то вроде "+<magic-incantation> для копирования номера строки текущей позиции курсора в буфер xclipboard. Возможно ли это?

Ответы [ 4 ]

10 голосов
/ 17 ноября 2008

положи это в свой vimrc

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

затем с помощью , n скопирует текущий номер строки в буфер обмена

6 голосов
/ 17 ноября 2008

Итак, волшебная линия:

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

Причина:

  1. Регистр * держать буфер обмена
  2. line('.') содержит номер текущей строки

Конечно, вы можете сопоставить эту функцию с ярлыком:

nmap ,ln :call setreg('*', line('.'))<CR>
0 голосов
/ 17 ноября 2008

Кроме того, чтобы использовать GDB из vim, вы можете проверить некоторые сценарии GDB на vim.sourceforge.net -

0 голосов
/ 17 ноября 2008

Не уверен, что это то, что вам нужно, но вы пытались использовать маркеры?

Поместите курсор на нужную строку, затем введите m и букву, скажем a.

Ввод 'a приведет вас к строке, содержащей маркер.

Ввод `a приведет вас к фактическому письму, которое вы отметили в строке.

Хм, просто подумав немного, это должно быть доступно, так как номер строки доступен для использования в различных функциях, например, для использования в строке состояния.

...