Posted at

VimのEscキーを押してからのタイムラグを取り除く

More than 3 years have passed since last update.


問題

Vimを使っていて、インサートモードからノーマルモードに戻るためにEsc(エスケープ)キーを押下した際、モードが切り替わるまでにタイムラグがあり、コマンドが本文に入力されてしまう。


環境


  • Mac OS X 10.11.4

  • NeoVim 0.1.3

  • zsh 5.2

  • tmux 2.1


解決法


vim

キーコードシーケンスが終了するのを待つ時間を短くする。

set ttimeoutlen=10


zsh

KEYTIMEOUTパラメタは1/100秒単位で指定する。デフォルトは0.4秒なので、これを短くする。下記設定を$HOME/.zshrcに追加。

KEYTIMEOUT=1


tmux

下記設定を$HOME/.tmux.confに追加して、エスケープシーケンスの待ち時間を消す。

set -s escape-time 0


謝辞

John Hawthornさんのブログエントリを参考にさせていただきました。