web-dev-qa-db-ja.com

viで行番号を切り替えるコマンド

知っている

:set number

そして

:set nonumber

Vi/vimにコマンドがあるかどうかを知りたい

:set togglenumber

行番号が表示されていない場合は行番号を表示し、行番号が表示されている場合は行番号を非表示にします。

37
Habeeb Perwad

次を使用できます(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

63
MechanTOurS

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!にマップしても問題ありません。

12
Kent

!接尾辞を使用して(ブール)オプションを切り替えることができます。つまり、:set number!は行番号の表示を切り替えます。

このコマンドのオンボードヘルプは少し隠されています。 :help toggleでそこにたどり着くと思うかもしれませんが、そうではありません。 :help set-!を使用することが魔法の言葉です。

11
Jens

現在の行の上下のすべての行に、現在の行の絶対行番号とともに、相対行番号を使用します。しかし、これは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>
3
Simon Schürg