2013-02-20 10 views
31

wiemPolecenie przełączanie numerów wierszy w vi

:set number 

i

:set nonumber 

Chcę wiedzieć, czy istnieją jakiekolwiek polecenie vi/vim

:set togglenumber 

wyświetlać linię numer, jeśli numery linii nie są wyświetlane lub ukrywanie numerów linii, jeśli wyświetlane są numery linii.

+4

"set number!" lub "invnumber". Zobacz także [tę tabelę] (http://stackoverflow.com/questions/9306914/how-can-i-w-all-the-abbreviations-of-vims-options/9312070#9312070) Zrobiłem jakiś czas temu. – Benoit

Odpowiedz

11

w vim, wiele opcje obsługują ten wzór set (na przykład foo):

"enable the option 
set foo 

"disable it 
set nofoo 

"toggle the option 
set foo! 

"get option's current value 
set foo? 

dla number, mapę kluczem do :set nu! byłoby ok.

10

Możesz przełączyć dowolną opcję (boolean) używając sufiksu !, tzn. :set number! przełączałaby wyświetlanie numerów linii.

Pomoc pokładowa dla tego polecenia jest nieco ukryta; podczas gdy ktoś by pomyślał, że dostaniesz tam :help toggle, to nie całkiem. Używanie :help set-! jest magicznym słowem.

1

Używam względnych numerów linii, dla wszystkich linii powyżej i poniżej bieżącej linii, wraz z bezwzględną numeracją linii dla bieżącej linii. Ale działa to tylko od Vima 7.4.

To jest czasami nazywane „Hybrid” numeracja linii (na przykład w artykule https://jeffkreeftmeijer.com/vim-number/)

aby przełączyć z „bez numerów na wszystkich” do „hybrid” można użyć następującej konfiguracji:

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> 
Powiązane problemy