Commande pour basculer les numéros de ligne dans vi

je sais

:set number

et

:set nonumber

je veux savoir s'il existe une commande en vi/vim

:set togglenumber

afficher le numéro de ligne si les numéros de ligne n'apparaissent pas ou cacher les numéros de ligne si les numéros de ligne apparaissent.

36
demandé sur Habeeb Perwad 2013-02-20 12:49:29

4 réponses

Vous pouvez utiliser (sur VIM au moins):

: set invnumber

Plus D'Info:

: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

59
répondu MechanTOurS 2013-02-20 10:22:06

Dans vim, de nombreuses options de support de ce set motif, (par exemple, foo):

"enable the option
set foo

"disable it
set nofoo

"toggle the option
set foo!

"get option's current value
set foo?

number, une carte, une clé pour :set nu! ok.

12
répondu Kent 2013-02-20 09:33:35

vous pouvez basculer n'importe quelle option (booléenne) en utilisant le ! suffixe, c'est à dire :set number! basculer l'affichage des numéros de ligne.

l'aide embarquée pour cette commande est un peu cachée, alors que l'on pourrait penser :help toggle vous obtiendrez là, ce n'est pas tout. En utilisant :help set-! c'est le mot magique.

11
répondu Jens 2013-02-20 09:43:39

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

cette numérotation est parfois appelée "Hybride" (par exemple dans l'article https://jeffkreeftmeijer.com/vim-number/)

Pour passer de "pas de chiffres 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>
1
répondu Simon Schürg 2018-01-05 09:36:06