標準ターミナルにて、-m
オプションをつけずにgit commit
を打ったときに出てくる謎の画面(エディタ)・viで、コミットメッセージを編集する際の操作をまとめました。
とりあえずこれだけ覚えればok
- 開いたら
i
かa
を押す - メッセージを自由に編集する(※Ctrl+Zなどのショートカットキーは利かない)
- 編集が終わったら
esc
を押す -
:wq
と入力する - Enter
とりあえずメッセージ書ければいいやって人は、これだけでok。
動作の説明
まず、エディタが開いたときには、コマンドモードになっている。
コマンドモードでは、文字通りコマンドしか受け付けてくれない。
i
もしくはa
を押すと、編集モードになり、文字入力できるようになる。
普通のエディタのように、自由に文字入力できる。
i
とa
はほぼ一緒なので好きな方でよい。
厳密には、
i
(insert)では最初に左側にテキストが挿入され、a
(append)では最初に右側にテキストが追加されるという点で異なる。
書き終わったらコマンドモードに戻る
編集モードの状態で、esc
を押すと、コマンドモードに戻ることができる。
保存して閉じる
コマンドモードに戻したら、:wq
と入力 → Enterで、編集内容を保存してエディタを閉じることができる。
エディタ画面で、commitを途中で中断したくなった場合
コマンドモードで、:qa
もしくは:q!
と入力 → Enterで、コミットごと強制終了できる。
i
や:wq
とは何か
このi
とか:wq
の正体は、viあるいはVimというエディタのコマンドである。
vi とは
zshなどに搭載されているエディタのこと。
便利なコマンドで操作できるのが特徴。
Vim とは
Vimとは、viを基に作られた、viよりさらに高機能なエディタのこと。
git commit
では、Vim/viのコマンドを使っている
たとえば、:wq
は、Vim/viにおける「保存して終了」のコマンドである。
これは、実は:w
で「保存」してから、:q
で「終了」と、コマンドを分けることもできる。
また、ZZ
や:x
でも保存できる。
Vim/viには、他にもたくさんのコマンドがある。
こちらのサイトが、Vim/viの基本的なコマンドを解説してくれていて分かりやすい。