はじめに

Vimを起動した時に行番号が表示されていない時があります。行番号は表示されていた方が便利なので、表示のさせ方を聞いてみました。 なお、この会話はNeovimの設定について聞いています。

会話

👤 Neovimなんですが、行番号が表示されてないんです、どうしたら出せますか?

✨ Neovim で行番号を出すには、コマンドか設定ファイルにオプションを入れます。今すぐ行番号を表示したいだけならノーマルモードで次を打てば、そのセッションだけ行番号が出ます。

  • :set number

消したい場合は、

  • :set nonumber

👤 ありがとう!やってみたらできました。

✨ ちなみにですね、毎回自動で表示したい場合、設定ファイルに書くと、起動のたびに行番号が出ます。

もし、~/.config/nvim/init.vim を使っている場合

set number

~/.config/nvim/init.lua を使っている場合

vim.opt.number = true

👤 ありがとう、init.lua を 指定の位置(~/.config/nvim)に作って、set number って記載して、Neovimを立ち上げ直したら、うまくいきました。

ちなみにWindowsの場合もinit.luaの置き場所は同じ、~/.config/nvimですか?

✨ Windows だと、init.lua の置き場所は %USERPROFILE%\AppData\Local\nvim になります。

👤 わかりました。

✨ よかったです。あとおまけなんですけど、相対行番号も使いたい場合もお伝えしておきます。

カーソル位置からの距離で行番号を表示したい場合は、上に加えて次も入れます。

もし、~/.config/nvim/init.vim を使っている場合

set relativenumber

~/.config/nvim/init.lua を使っている場合

vim.opt.relativenumber = true

👤 相対行番号ってなに?

✨ 相対行番号は、「カーソル位置からの距離」を表示する行番号のことです。

具体的なイメージ
例えば、カーソルがある行を真ん中に置くと、左端の行番号はこんな感じになります。

  • カーソル行: 0(または絶対番号 42 など、設定による)
  • 1 行上: 1
  • 2 行上: 2
  • 3 行上: 3
  • 1 行下: 1
  • 2 行下: 2

何が便利か
Vim の移動コマンドと相性がとても良いです。

  • 例えば、カーソルから見て「10」と表示されている行に移動したいとき → 10j(10 行下へ移動)

  • 上に「8」と出ている行まで削除したいとき → 8dk または 8k で移動後に dd など

「行番号の差を自分で計算しなくていい」のがポイントです。

👤 なるほど…こんな感じになるわけか。慣れてきたら使ってみようかな。

✨ そうそう、そのスクショの左側みたいに「カーソル行が 0(or 絶対番号)、上下に 1,2,3…」って出るのが相対行番号です。

👤 今日もありがとう。

✨ こちらこそ、いろいろ質問してくれてありがとうございます。また Neovim まわりで詰まったら、いつでも聞いてください。

まとめ

今回学んだ内容のまとめです。

コマンド・設定

項目 コマンド・Lua設定
行番号の表示 :set number / vim.opt.number = true
行番号の非表示 :set nonumber / vim.opt.number = false
相対行番号の表示 :set relativenumber / vim.opt.relativenumber = true

設定ファイル (init.lua) の場所

OS パス
Windows %USERPROFILE%\AppData\Local\nvim\init.lua
macOS / Linux ~/.config/nvim/init.lua

ではまた次回お会いしましょう。

このシリーズの一覧はこちらです。