はじめに
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 |
ではまた次回お会いしましょう。
このシリーズの一覧はこちらです。