2013-02-20 50 views
31

切換行號,我知道命令,在vi

:set number 

:set nonumber 

我想知道是否有任何命令在vi/vim的

:set togglenumber 

顯示線如果行號未顯示,則爲數字;如果顯示行號,則隱藏行號。

+4

無論是'set number!'還是'invnumber'。另請參見[本表](http://stackoverflow.com/questions/9306914/how-can-i-get-all-the-abbreviations-of-vims-options/9312070#9312070)我前一段時間做的。 – Benoit 2013-02-20 09:35:43

回答

54

您可以使用(在VIM至少):

:設置invnumber

更多信息:

: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 

來源:http://vim.wikia.com/wiki/Managing_set_options#Boolean_options

11

在vim中,許多選項支持此set模式(例如,foo):

"enable the option 
set foo 

"disable it 
set nofoo 

"toggle the option 
set foo! 

"get option's current value 
set foo? 

number,映射到:set nu!的關鍵將是確定的。

10

您可以使用!後綴切換任何(布爾型)選項,即:set number!會切換顯示行號。

該命令的板載幫助有點隱藏;而有人會認爲:help toggle會讓你在那裏,但它不完全。使用:help set-!是魔術詞。

1

我使用相對行號,對於當前行上下的所有行,以及當前行的絕對行編號。 但是這隻在Vim 7.4以後才起作用。

有時這被稱爲「混合」行號(例如,在文章https://jeffkreeftmeijer.com/vim-number/

要切換「沒有數字在所有」爲「混合」您可以使用以下配置:

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> 
相關問題