はじめに
Gitでマージコミットやリベース時にNanoエディタが起動してしまい、慣れ親しんだVimを使いたいと思ったことはありませんか?本記事では、GitのデフォルトエディタをVimに変更する方法を詳しく解説します。
問題の発生状況
多くの開発者が以下のような場面で困っています:
-
git pull origin main
実行時にマージコミットメッセージの編集でNanoが起動 -
git rebase -i
でインタラクティブリベース時にNanoが開く -
git commit
でコミットメッセージ編集時にNanoが立ち上がる
これらの問題は、Gitのエディタ設定が適切でないことが原因です。
Gitがエディタを選択する仕組み
Gitは以下の優先順位でエディタを決定します:
- core.editorの設定
- 環境変数VISUAL
- 環境変数EDITOR
- システムのデフォルトエディタ
現在の設定確認方法
Git設定の確認
git config --list
環境変数の確認
echo $VISUAL
echo $EDITOR
この確認により、現在どのエディタが設定されているかが分かります。
【メイン解決法】GitのデフォルトエディタをVimに設定
グローバル設定の変更
最も確実で推奨される方法は、Gitのグローバル設定を変更することです:
git config --global core.editor vim
設定確認
git config --list | grep core.editor
出力例:
core.editor=vim
設定ファイルの場所確認
git config --show-origin --get core.editor
その他の設定方法
1. 環境変数での設定
一時的な設定:
export EDITOR=vim
export VISUAL=vim
永続化(Bashの場合):
echo 'export EDITOR=vim' >> ~/.bashrc
echo 'export VISUAL=vim' >> ~/.bashrc
source ~/.bashrc
永続化(Zshの場合):
echo 'export EDITOR=vim' >> ~/.zshrc
echo 'export VISUAL=vim' >> ~/.zshrc
source ~/.zshrc
2. 設定ファイル直接編集
~/.gitconfig
を直接編集:
[core]
editor = vim
よくある問題と解決法
問題1:設定したのにVimが起動しない
原因:ローカルリポジトリの設定が優先されている
解決法:
# ローカル設定確認
git config --local core.editor
# ローカル設定削除(必要に応じて)
git config --local --unset core.editor
問題2:Vimが見つからないエラー
原因:Vimがシステムにインストールされていない
解決法:
# Ubuntu/Debian
sudo apt install vim
# CentOS/RHEL
sudo yum install vim
# macOS
brew install vim
Git設定の優先順位
Gitの設定は以下の順序で適用されます:
-
ローカルリポジトリ設定(
.git/config
) -
グローバル設定(
~/.gitconfig
) -
システム設定(
/etc/gitconfig
)
上位の設定が下位の設定を上書きするため、意図しない動作をする場合はこの順序で確認してください。
プロジェクト固有の設定
特定のプロジェクトでのみ別のエディタを使いたい場合:
# プロジェクトディレクトリで実行
git config --local core.editor nano
設定の削除方法
設定を削除したい場合:
# グローバル設定削除
git config --global --unset core.editor
# ローカル設定削除
git config --local --unset core.editor
まとめ
GitのデフォルトエディタをVimに変更するには、以下のコマンドが最も確実です:
git config --global core.editor vim
この設定により、すべてのGit操作でVimが起動するようになります。設定が反映されない場合は、ローカル設定やシステム設定が優先されていないか確認してください。
開発効率を向上させるために、使い慣れたエディタでGit操作を行いましょう。