用于在vi中切换行号的命令

时间:2013-02-20 08:49:30

标签: vim vi line-numbers

我知道

:set number

:set nonumber

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

:set togglenumber

如果行号没有显示则显示行号,如果显示行号则显示行号。

4 个答案:

答案 0 :(得分:61)

你可以使用(至少在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

答案 1 :(得分:12)

在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!即可。

答案 2 :(得分:11)

您可以使用!后缀切换任意(布尔)选项,即:set number!将切换显示行号。

此命令的板载帮助有点隐藏;虽然人们会认为:help toggle会让你到达那里,但事实并非如此。使用:help set-!是一个神奇的词。

答案 3 :(得分:3)

我使用当前行上下的所有行的相对行号,以及当前行的绝对行号。 但这只是自Vim 7.4起作用。

这有时被命名为“混合”行号(例如在文章https://jeffkreeftmeijer.com/vim-number/中)

要切换"根本没有数字" to" hybrid"您可以使用以下配置:

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>