2008-11-17 5 views
6

Lorsque j'utilise gdb et Vim, souvent je veux m'arrêter sur une ligne particulière. Normalement, dans Vim, je copie-colle le numéro de ligne affiché dans la zone de règles à la session gdb. Cela me sauverait 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 le tampon xclipboard. Est-ce possible?Dans Vim, existe-t-il un moyen de copier le numéro de ligne actuel dans un tampon?

Répondre

10

mettre ceci dans votre vimrc

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

puis en utilisant ,n copie le numéro de ligne dans le presse-papiers

-1

Vous ne savez pas si c'est ce que vous recherchez, mais avez-vous essayé d'utiliser des marqueurs?

Placez le curseur sur la ligne souhaitée, puis entrez m et une lettre, par exemple a.

Entrer 'a vous amènera à la ligne contenant le marqueur.

Entrer `a vous amènera à la lettre que vous avez marquée dans la ligne. Hmm, juste en pensant un peu plus loin, cela doit être disponible car le numéro de ligne est disponible pour une utilisation dans diverses fonctions, par ex. à utiliser dans la barre d'état.

+0

Bien essayé, mais malheureusement, le tampon ne tient pas la ligne après. Les marques et les yanks doivent utiliser un ensemble différent de registres ... – richq

+0

Bugger. Je ne suis pas sûr de ce que vous vouliez, mais j'ai supposé que la navigation. Peut-être ajouter un peu plus de texte pour clarifier les questions? –

5

Ainsi, la ligne magique est:

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

La raison:

  1. Le registre * tenir le presse-papiers
  2. line('.') contient le numéro de la ligne actuelle

Bien sûr, vous pouvez mapper cette fonction à un raccourci:

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