# VimShell 使ったりして :shell
とか使ってない人が多いかもだけど。
:shell
でシェルに抜けたときに,それを忘れていて,編集中のファイルをふたたび開こうとして怒られたり,気がついたら3つくらい vim を抜けたりしたりして困っていたので,vim からシェルに抜けている時はちゃんとハッキリ分かるようプロンプトにだすようにした。
[[ -n "$VIMRUNTIME" ]] && \
PROMPT="%{${fg[white]}${bg[blue]}%}(vim)%{${reset_color}%} $PROMPT"
最初はシェルの親プロセスの名前を調べていたんだけど, @thinca さんのご指摘により,$VIMRUNTIME
という環境変数 (あと $VIM
という環境変数も設定されていた) を調べることにしました。格段にシンプルになりました。変数のローカリゼーションする必要もなくなりました。 @thinca さんありがとうございます!
これを ~/.zshrc
に書くことで
このように表示されるようになった。
そもそも :shell
つかわずに CTRL-Z
を使って抜けている人も多いみたいです。
@dayflower :sh 使うとそのへん面倒なので、自分は C-z でシェルに戻ってシェルを使い、あとプロンプトにジョブ数(%j)を表示してます。vimへはfgコマンドで戻ります。
わたしはどうしてもエディタを CTRL-Z
するのに抵抗感があるので :sh
に慣れてしまいましたが。