2013-02-20 51 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> 
相关问题