Comment puis-je afficher les numéros de ligne relatifs?


53

Un grand nombre de commandes vim peuvent prendre un nombre faisant référence au nombre de lignes sur lesquelles la commande agira.

Est-il possible d'afficher les numéros de ligne par rapport à la ligne actuelle? Quelque chose comme ce qui suit:

3: some text here
2: more text
1: This is the line above where the cursor is
0: The cursor is on this line
1: This is the line after the cursor
2: More text here

Réponses:


65

Je viens de répondre à une question similaire: comment puis-je ajouter des numéros de ligne à Vim?

À partir de la version 7.3, vous pouvez utiliser les éléments suivants:

set relativenumber

J'utilise réellement les deux relativenumberet numberdans mon vimrc qui utilisera des nombres relatifs pour toutes les lignes sauf la ligne actuelle.

set number                     " Show current line number
set relativenumber             " Show relative line numbers

Pas exactement, mais le premier changelog est mentionné dans 7.3. ftp.vim.org/pub/vim/patches/7.3/README
Collin Peters le

7

Vous pouvez activer ou désactiver la numérotation relative en utilisant:

:set rnu    " toggle relative numbering on
:set rnu!   " toggle relative numbering off

5
function! NumberToggle()
  if(&relativenumber == 1)
    set norelativenumber
  else
    set relativenumber
  endif
endfunc

nnoremap <leader>nt :call NumberToggle()<cr>

2
Le numéro norelativen numérise-t-il simplement la numérotation ou passe-t-il à la numérotation conventionnelle?
Nick J Adams

set numberest le paramètre qui contrôle la présence des nombres afin qu'il ne
permute

2
Le numbers.vimplug-in ajoute également des fonctionnalités de nombre relatif plus avancées, par exemple avoir la ligne occupée par votre curseur pour imprimer le numéro non relatif et passer à la numérotation non relative dans tout le fichier lorsque la fenêtre vim perd le focus.
bronzehedwick

1
@shawndumas alors y a-t-il une priorité de quels nombres sont montrés? Si, par exemple, j'avais défini un numéro dans mon vimrc et un ensemble, le numéro associé / norelativen pouvait-il basculer entre la numérotation relative et la numérotation standard?
Nick J Adams

1
c'est le plus correct
shawndumas

4

Si vous souhaitez utiliser un raccourci clavier pour changer le numéro de ligne relatif, voici un extrait de mon vimrc:

" Toggle relative line number
nmap <C-L><C-L> :set invrelativenumber<CR>

Dans ce cas, j’utilise deux fois ctrl-L pour l’activer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.