追記: 現在は推奨していません。
GitEdit とは、Git for Windows 用のエディターとして最適化されたテキストエディターです。
要約
- vi を覚えるのはめんどくさい。
- Git 用のテキストエディターとして使うための条件が意外と多い。
- 結局、ふさわしいエディターが見つからなかったので自作した。
- ぜひダウンロードして下さい。
十の理由
1. 軽量
機能を必要最小限に絞っているため、とても起動が速いです。
2. 文字コード
日本語話者として、コミットメッセージに日本語を混ぜたい場面は少なくないでしょう。コミットメッセージに日本語を含めるには、ファイルを utf-8 などの文字コードで保存する必要があります。
ここで問題なのは、コミットメッセージを書き込むファイルを開く段階では、そのファイルに日本語の (すなわち半角文字ではない) 文字が含まれていないことがよくあるため、エディターが文字コードを判断するのが難しいということです。例えば、私が長らく愛用していた TeraPad は、半角文字だけからなるファイルを標準の文字コード (shift_jis) で開いてしまいます。
git_edit はそのようなファイルを utf-8 (BOM なし) で開くようになっています。
3. 改行文字
git add --patch
の e
オプションなどを使って差分を編集するとき、Git から提示されるファイルは改行コードが LF になっていて、保存するときも LF でなければエラーになってしまいます。そのため、編集に使うテキストエディタは改行コードを正しく扱う (あるいはLFだけ扱う) 必要があります。git_edit のエディター部分である AvalonEdit は、そのあたりちゃんとできています。
4. 構文強調
git commit
に -v
オプションをつけると、コミットメッセージを保存するファイルにの後半に差分(diff)をつけてくれます。コミットの内容がコミットメッセージを考える材料として使いやすく提示されるわけです。この機能のサポートとして、git_edit はコミットメッセージの編集時に diff の構文強調を有効化します。
5. 「保存して終了」コマンド
コミットメッセージや rebase -i
の todo リストなどは、テキストを保存してからエディターを閉じる必要があります。git_edit では、1回のキー入力 (Ctrl+W
) で保存→閉じるという2アクションを行えるようになっています。
6. 「クリアして終了」コマンド
コミットメッセージや rebase -i
の todo リストなどは、ファイルの中身を空っぽにして保存することで処理を「キャンセル」することができます。git_edit にはそのためのコマンド Ctrl+Shift+W
があります。
7. 入力補完
Control + Space で入力補完が効きます。
8. テキストエディターエンジン AvalonEdit
名前がかっこいい。
9. まとめ
Git 用のテキストエディターに要求した条件のまとめ:
- 起動が速い。
- 保存と終了が速い。
- OS標準の文字コードより utf-8 (BOMなし) を優先する。
- 改行文字が LF のファイルを LF のまま編集・保存できる。
- diff の構文着色ができる。
- 入力補完ができる。
10. おわりに
この文章は Sublime Text 3 で書きました。