[vi]行を相対番号で表示

TIPS
TIPS

Vimで現在の行だけ絶対行番号を表示し、それ以外の行を相対番号で表示する設定は「ハイブリッド行番号(Hybrid Line Numbers)」と呼ばれます。

以下の2行を .vimrc (または Neovim の場合は init.lua や init.vim)に追加してください。

.vimrc の場合

set number
set relativenumber

実行中のVimで一時的に適用する場合

ノーマルモードで以下のコマンドを入力してEnterを押します。

:set number relativenumber

解説

Vim 7.4以降では、この2つの設定を同時に有効にすることで、以下のような表示になります。

  • 現在の行: エディタ上の「絶対的な行番号」が表示されます。
  • それ以外の行: 現在の行から「どれだけ離れているか」という相対値が表示されます。

この設定のメリット

Vimでは 5j(5行下に移動)や d3k(現在の行を含めて3行上まで削除)のように、移動や操作に数字を組み合わせることが多いため、相対番号が表示されていると「何行移動すれば目的の場所に行けるか」が直感的に計算しやすくなります。

もし現在の行も「0」と表示したい(純粋な相対表示にしたい)場合は、set nonumber と set relativenumber を組み合わせてください。

Q よくある質問 (FAQ)
Q. Neovimでハイブリッド行番号を設定するにはどうすればよいですか?
A.
init.luaに `vim.opt.number = true` と `vim.opt.relativenumber = true` の2行を追加することで、Neovimでも同様にハイブリッド表示を設定できます。
Q. 現在の行も「0」と表示する、純粋な相対行番号表示にするにはどうすればよいですか?
A.
.vimrcに `set nonumber` と `set relativenumber` を組み合わせて設定することで、現在の行を「0」とした純粋な相対表示に切り替えることができます。

コメント

タイトルとURLをコピーしました