水島雄太のブログ

個人的かつ雑多なブログです。

tmux/screen上でのnvimのescapeレスポンスを早くする

概要

tmux/screen 上で nvim を使用した際に、 escape/Ctrl-[ 入力に対するレスポンスが遅いため、これを解決する方法について記述します。

tmux/screen 上で nvim のescapeレスポンスを早くする

$HOME/.tmux.conf 上で 以下の設定を追記する

set -s escape-time 10

screen の場合は、以下の設定を $HOME/.screenrc に追記します。

maptimeout 10

vimなどで、 escape-time0 にしている例をよくみかけますが、nvimの場合0だとうまくいかず、 10程度のdelayを必要とします。

なぜこのような挙動になるのか

tmuxではEscape入力があった際に、500msec のディレイの後にバックグラウンドのターミナルにコマンドを送信している。

上記の設定ではこのディレイを極端に早くすることで、キー入力の直後にバックグラウンドのターミナルにEscapeコマンドを送信している。

参考文献

github.com