2

vim ではset incsearch、カーソルを移動せずに、現在の検索用語の次の一致にスクロールします。これを使用して、カーソルを移動せずにコードのセクションを読み取ることがよくあります。これは、ヒット<ESC>すると、検索を開始したときにカーソルがあった場所に画面が戻るためです。

<ESC>ただし、 を押した後、カーソルにスクロールして戻る前に、vim は一時停止します。この一時停止は非常にイライラします。この一時停止の背後にある目的は何ですか?また、この一時停止は構成可能ですか?

4

1 に答える 1

8

ターミナルで Vim を実行しているとします。<Esc>カーソル移動やAlt/ Meta+ 他のキーなど、多くの端末エスケープ シーケンスの先頭文字です。構成のどこかに alt/meta キーのマッピングを定義している場合、Vim はヒットした後、文字が長いシーケンスの開始ではないEscことを確認するために少し待機します。<Esc>

:help 'timeout'おそらく、それに応じて設定を確認して調整することをお勧めします。timeoutlen必要に応じて短い期間に設定できます (ttimeoutlenはデフォルトで -1 に設定されているため、使用されません)。

編集: tmux または GNU 画面で Vim を実行している場合、一時停止を防ぐにはおそらくこれだけでは不十分です。tmux を使用している場合は、Vicent Marti の提案set -s escape-time 0に従って、.tmux.conf に追加してみてください。GNU screen を使用している場合は、追加で成功する可能性があります

maptimeout 0
defc1 off

ここでbrian_ruizが提案したように、.screenrcに

于 2012-06-01T19:14:36.837 に答える