最近、 vim
で :terminal
使って生きてる。
bashrc の最後で
[[ -z "$VIM_TERMINAL" ]] && vim && exit
とか書いちゃうレベル。
ところで、 :terminal
の中で hub pull-request
とかうかつに使うと vim on :terminal on vim になってキモイ。
なんとかならんか。
Tapi
使ってやってみる
mattn神が書かれてる記事のとおりにやりゃあ、:terminal側から外のvimに編集をぶん投げられる。
https://qiita.com/mattn/items/e99e5dc7c4054ba25e7d
$echo hello! > hoge.txt
$echo-ne"\033]51;[\"drop\",\"hoge.txt\"]\07"
こうすると、実際外のvimで hoge.txt
の編集が開始される。
なら、そういう関数作りゃ良いのではないか。
zhsrc
function tvim(){echo-ne"\033]51;[\"drop\",\"$1\"]\07"}EDITOR=tvim
$EDITOR hoge.txt
ちゃんと編集が開始される。ところがどっこい。
$ hub pull-request
error using text editor for pull request message
$ git commit -ahint: Waiting for your editor to close the file... error: cannot run tvim: No such file or directory
error: unable to start editor 'tvim'
Please supply the message using either -m or -F option.
hub
とか git
は、愚直に$EDITOR
を呼ぶんじゃなくて、executableかどうかチェックしてるっぽい