我知道
:set number
和
:set nonumber
我想知道Vi/Vim中是否有任何命令。
:set togglenumber
若行号未显示,则显示行号;若行号已显示,则隐藏行号。我知道
:set number
和
:set nonumber
我想知道Vi/Vim中是否有任何命令。
:set togglenumber
若行号未显示,则显示行号;若行号已显示,则隐藏行号。您可以在VIM中使用以下命令:
:set 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
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!
应该没问题。
使用!
后缀可以切换任何(布尔)选项,例如::set number!
可以切换显示行号。
此命令的内置帮助有点难以找到; 尽管人们可能认为:help toggle
会把你带到那里,但并非完全如此。 使用:help set-!
就是解决方法。
我使用相对行号,对于当前行上下的所有行使用相对行号,而对于当前行使用绝对行号。 但这只在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>
set number!
或invnumber
。另请参阅我之前制作的此表格。 - Benoit