web-dev-qa-db-fra.com

Commande pour basculer les numéros de ligne dans vi

Je sais

:set number

et

:set nonumber

Je veux savoir s'il y a une commande dans vi/vim

:set togglenumber

pour afficher le numéro de ligne si les numéros de ligne ne s'affichent pas ou masquer les numéros de ligne si les numéros de ligne s'affichent.

37
Habeeb Perwad

Vous pouvez utiliser (sur VIM au moins):

: set invnumber

Plus d'informations:

:set number      Turn line numbers on
:set nonumber    Turn line numbers off
:set invnumber   Toggle line numbers
:set number!     Toggle line numbers
:set number&     Set option to default value
:set number?     Show value of option 

source: http://vim.wikia.com/wiki/Managing_set_options#Boolean_options

63
MechanTOurS

Dans vim, de nombreuses options prennent en charge ce modèle set, (par exemple, foo):

"enable the option
set foo

"disable it
set nofoo

"toggle the option
set foo!

"get option's current value
set foo?

pour number, mappez une clé sur :set nu! Serait bien.

12
Kent

Vous pouvez basculer n'importe quelle option (booléenne) à l'aide de ! suffixe, c'est-à-dire :set number! basculerait l'affichage des numéros de ligne.

L'aide intégrée pour cette commande est un peu cachée; alors qu'on pourrait penser :help toggle vous y amènerait, ce n'est pas tout à fait. En utilisant :help set-! est le mot magique.

11
Jens

J'utilise des numéros de ligne relatifs, pour toutes les lignes au-dessus et en dessous de la ligne actuelle, ainsi que la numérotation absolue de la ligne actuelle. Mais cela ne fonctionne que depuis Vim 7.4.

Ceci est parfois appelé la numérotation des lignes "hybride" (par exemple dans l'article https://jeffkreeftmeijer.com/vim-number/ )

Pour basculer de "pas de numéros du tout" à "hybride", vous pouvez utiliser la configuration suivante:

set number relativenumber " Turn line numbering on at startup
" Toggle line numbers from none at all
" to relative numbering with current line number
noremap <F3> :set invnumber invrelativenumber<CR>
3
Simon Schürg