Dans Vim, existe-t-il un moyen de copier le numéro de ligne actuel dans une mémoire tampon?
Question
Lorsque vous utilisez gdb et Vim, je souhaite souvent m'arrêter sur une ligne particulière. Normalement, dans Vim, je copie-colle le numéro de ligne figurant dans la zone de règle dans la session gdb. Cela me ferait économiser beaucoup de tracas si je pouvais utiliser quelque chose comme "+<magic-incantation>
pour copier le numéro de ligne de la position actuelle du curseur dans la mémoire tampon de xclipboard. Est-ce possible?
La solution
mettez ceci dans votre vimrc
map ,n <Esc>:let @*=line(".")<CR>
puis en utilisant , n copiera le numéro de ligne actuel dans le presse-papier
Autres conseils
La ligne magique est donc la suivante:
:call setreg('*', line('.'))
La raison:
- Le registre * tient le presse-papiers
-
line('.')
contient le numéro de ligne actuel
Bien sûr, vous pouvez associer cette fonction à un raccourci:
nmap ,ln :call setreg('*', line('.'))<CR>
De plus, pour utiliser GDB à partir de vim, vous pouvez consulter certains des scripts gdb sur vim.sourceforge.net -
Vous ne savez pas si c'est ce que vous cherchez, mais avez-vous essayé d'utiliser des marqueurs?
Placez le curseur sur la ligne souhaitée, puis entrez m et une lettre, dites a.
La saisie de 'a vous mènera à la ligne contenant le marqueur.
Si vous entrez `a, vous obtiendrez la lettre que vous avez marquée dans la ligne.
Hmm, en y réfléchissant un peu plus loin, cela doit être disponible car le numéro de ligne est disponible pour une utilisation dans diverses fonctions, par exemple. à utiliser dans la barre d'état.