Insert モードなどから抜ける際に Esc を押すと、実際に抜けるまで僅かながら遅れを感じることがあります。この記事はその改善方法です。Eliminating delays on ESC in vim and zshを参考にしているので、ほぼ似た内容です
Vim
~/.vimrc
に timeoutlen
と ttimeoutlen
を設定します。
set timeoutlen=1000 ttimeoutlen=0
これらは公式によれば以下のように説明されています。
The time in milliseconds that is waited for a key code or mapped key sequence to complete.
Vim documentation: options訳: キーコードとマッピングされたシーケンスの完了を待機する時間(ms)
これだけでは何のことかさっぱり理解できませんが、What is the difference between “mapped key sequences” and “key codes”?
にある statox氏の回答はとても詳しく説明されているので勉強になります。
Z shell
zsh は、複数文字シーケンスを使う時に、最初のシーケンスから次に追加のキーが入力されるまでどのくらい待機するかを、KEYTIMEOUT
という変数を参考にして決めます。値は 1/100 秒で指定します。
# ShortestKEYTIMEOUT=1
tmux
tmux もまた同様にしてエスケープシーケンスを待機します。その待機時間は .tmux.conf
に以下を設定することで短縮できます。
set -s escape-time 0