[Vim問題] カーソル行からの相対的な行番号を表示する方法は?

カーソル行からの相対的な行番号

この記事では、Vim / neovim でプラグインを使わずに「カーソル行からの相対的な行番号を表示する」ためのコマンドについて、ご紹介します。

[解答] :set relativenumber

カーソル行からの相対的な行番号を表示した状態はこちら。

カーソル行からの相対的な行番号を表示

Vimコマンド カーソル行からの相対的な行番号を表示する

(ノーマルモード)
:set relativenumber

カーソル行からの相対的な行番号を表示することができます。縦移動したい場合に、相対的な行番号を見ることができるため、カウントを指定して移動するときに自分で数える必要がないので便利です。

ちなみに、カーソル行の行番号はファイル上から数えた行番号になります。

Vim設定ファイルへの記載

(.vimrc または init.vim)
set relativenumber

デフォルトでカーソル行からの相対的な行番号を表示します。

この設定と同時に、ステータスラインに絶対位置の行番号を表示する設定にしておくと補完しやすいですね。

参考

この記事執筆時点では、こちらの記事を通して、Vimmer界隈でそこそこ話題になった設定です。(この設定だけが原因ではありませんが)

https://qiita.com/uji_/items/5cc267d6a96c417a29ef

Qiita での盛り上がり

普通のエディタを利用していたユーザーには違和感がある設定ですが、下記のように愛用者も多いようです。

https://qiita.com/gorilla0513/items/afd32389bc5554f175e0

http://onioncode.com/blog/?id=15

筆者含め、この記事を見てから設定した人も多いようです。

このVimコマンドの補足情報

  • 利用頻度[star rate=2]
  • 便利さ[star rate=5]
  • 覚え易さ[star rate=3]

関連するVimヘルプ

Vim のヘルプでは下記のように解説されています。

‘relativenumber’ ‘rnu’ ‘norelativenumber’ ‘nornu’
‘relativenumber’ ‘rnu’ 切替 (既定ではオフ)
ウィンドウについてローカル
カーソル行からの相対的な行番号を表示する。相対行番号を見れば縦移動のコ
マンドでカウント指定 (count) を使うとき自分で数える必要がないので便
利である。特に他のコマンド (例: y d c < > gg gw =) と組み合わせるとき
など。
‘cpoptions’ に ‘n’ オプションが含まれていないときは、折り返された行を
表示するのに行番号の表示領域は使われない (これは ‘compatible’ がオフの
ときの既定動作である)。
行番号の表示領域の幅は ‘numberwidth’ オプションで設定できる。
折り返された行がとても長くてその行頭が画面外にあるときは、行番号の前に
‘-‘ 文字が表示される。
行番号の強調表示には hl-LineNr か hl-CursorLineNr が使われる。

カーソル行の前の番号もまた ‘number’ の値に依存し、この2つのオプション
の全ての組み合わせについては number_relativenumber を参照せよ。

options – Vim日本語ドキュメント

こちらは、Vim上では下記のコマンドでヘルプを確認できます。

:help relativenumber

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

Vim力を上げるための参考書

こちらの書籍が Vim力を上げる参考になります。

[temp id=3]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。