2013-02-20 9 views
31

Ich weißBefehl für Makeln Zeilennummern in vi

:set number 

und

:set nonumber 

Ich möchte wissen, ob es einen Befehl in vi/vim

:set togglenumber 

Linie angezeigt Nummer, wenn die Zeilennummern keine Zeilennummern anzeigen oder ausblenden, wenn Zeilennummern angezeigt werden.

+4

entweder 'set number!' oder 'invnumber'. Siehe auch [diese Tabelle] (http://stackoverflow.com/questions/9306914/how-can-i-get-all-the-abkurriations-of-vims-options/9312070#9312070) Ich habe vor einiger Zeit gemacht. – Benoit

Antwort

54

können Sie verwenden (auf VIM mindestens):

: set invnumber

Mehr 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 

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

11

In vim, viele Optionen unterstützen dieses set Muster, (zum Beispiel foo):

"enable the option 
set foo 

"disable it 
set nofoo 

"toggle the option 
set foo! 

"get option's current value 
set foo? 

für number, Karte ein Schlüssel zum :set nu! wäre in Ordnung sein.

10

Sie können jede (boolesche) Option mit dem Suffix ! umschalten, d. H. :set number! würde die Anzeige von Zeilennummern umschalten.

Die On-Board-Hilfe für diesen Befehl ist ein wenig versteckt; während man denken würde :help toggle würde Sie dort bekommen, ist es nicht ganz so. Mit :help set-! ist das Zauberwort.

1

Ich verwende relative Zeilennummern für alle Zeilen über und unter der aktuellen Zeile zusammen mit der absoluten Zeilennummerierung für die aktuelle Zeile. Aber das funktioniert erst seit Vim 7.4.

Dies wird manchmal genannt „Hybrid“ Zeilennummerierung (zB in dem Artikel https://jeffkreeftmeijer.com/vim-number/)

Zum Umschalten von „keine Zahlen zu“ bis „Hybrid“ Sie die folgenden Konfiguration verwenden:

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>