lessとかgit commitとかするときに使うエディタを変更する

はじめに

Ubuntuだとlessの編集モード(ファイル閲覧中にvを押す)やgit commitでのコミットログ編集で使う標準エディタがデフォルトでnanoになっています。でも、やっぱりここはEmacsやviを使いたいのが人情というもの。
というわけで、標準エディタを変更する方法を調べてみました。

環境

やり方

環境変数EDITORを設定するだけ。
具体的には .zshrcとかに

export EDITOR=使うエディタ

と記述する。例えば、viを使いたいなら、

export EDITOR=vi

という感じ。

使うエディタを個別に指定したいときにはどうすんの?

lessの編集モードではvi、gitのコミットログ編集ではEmacs使いたい!みたいなときには、それぞれの環境変数に個別に指定すればOK。
lessなら

export LESSEDIT="vi %f"

gitなら

export GIT_EDITOR=emacs

みたいな感じ。

export EDITOR=emacsってやるといちいちEmacsが起動するとかありえないんだけど

emacsclientを使いましょう。すでに起動しているEmacsで編集できるようになります。
まず、.emacs

(server-start)

と記述*1
次に.zshrcなどに

export EDITOR=emacsclient

と記述します。編集を終了するには C-x C-# で。Emacsが起動していないときには使えないのが弱点だけど、よく訓練されたEmacs使いならそんな状況はありえないので大丈夫。

まとめ

なんか常識っぽい気もするけど、今まで知らなかったので調べてみました。これで心置きなくless中にvが押せますね!

*1:Emacs起動して M-x server-start でもいいけど