エンジニアを目指す初学者に向けて、わかりやすく解説したブログです。

【Neovim】まだコミットしていない編集中の行に色をつける

ゴール

  • 追加した行(未コミット):緑
  • 変更した行(未コミット):青
  • 削除した行(未コミット):赤

のように、編集箇所に色をつけて
まだコミットしていない編集箇所を可視化する。

Image in a image block

利用するプラグイン

gitsigns.nvimを利用する。

設定方法

プラグインを入れるだけで発動するようになっているので、特別な設定はなく入れるだけ。

-- ~/.config/nvim/lua/plugins/gitsigns.lua
return {
  'lewis6991/gitsigns.nvim'
}

設定のポイント

ただし、設定のポイントが1つだけある。

特に設定をしていない場合、色がつくとき↔つかないときにレイアウトがガタつく。

  • 非表示のとき:目印桁そのものがない状態
  • 表示のとき:目印桁を行番号の左に追加し、色を表示

目印桁の有無によってレイアウトが動いてしまうというわけだ。

これを解消するためには、 init.luaなどに以下の設定を入れておくと良い。

vim.opt.signcolumn = "yes"

これは目印桁の設定をコントロールしており、選択肢は以下の通り。

  • auto:表示すべき目印があるときのみ表示
  • no:常に表示しない
  • yes:常に表示する
  • number:目印を numberカラムに表示する( numberカラムがない場合はautoと同じ)

まとめ

  • gitsigns.nvimを使うことで、行番号付近に未コミットの変更状態を表示することができる
  • 目印桁の表示/非表示でレイアウトがガタつく問題が気になる場合は signcolumn オプションを yesもしくは numberにしておくことをおすすめする
  • 他にも機能はあるみたいだが、筆者は差分表示の目印機能しか使っていない