@kyanny's blog

My life. Opinions are my own.

git-config core.pager を cat にした / core.editor を emacsclient にした

$ man git (--no-pager, GIT_PAGER)
$ man git-config (core.pager)

~/.gitconfig に以下を追記。

[core]
        pager=cat

eshell のなかで git log とかすると less を起動してしまってエスケープ文字が化け化けになるうえに jk とかキー操作がきかなくて見づらいし使いづらいので、 cat で全部標準出力に出してしまうようにした。 eshell ならふつうにスクロールバックできるしコピペも楽だし、 >>># で別のバッファに書き出してそれだけ見ることもできる。

core.editor も vi が eshell のなかで開いて化けるので emacsclient にした。

[core]
        editor=emacsclient

emacsclient --no-wait にしたらバッファ閉じるときにいちいち yes/no 聞かれずにすむかなと思ってやってみたらバッファに何かかくまえにコミットが終わっちゃっててメッセージが空ですエラーみたいになってダメだった。ここは emacsclient にしといて、 commit するとミニバッファにちゃんと「書き終わったら C-x # 押せ」っていわれるのでそれにならった。これでさらに Emacs から出なくて済むようになった。