Есть ли в Vim способ скопировать номер текущей строки в буфер?

StackOverflow https://stackoverflow.com/questions/295321

  •  08-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

поместите это в свой vimrc

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

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

Другие советы

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

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

Причина:

<Ол>
  • Регистр * содержит буфер обмена
  • line('.') содержит номер текущей строки
  • Конечно, вы можете сопоставить эту функцию с ярлыком:

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

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

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

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

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

    Если вы введете `a, вы попадете на букву, которую вы пометили в строке.

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top