15

d私がvimを押すと、私のステータスラインが言いd、さらなる指示を無限に待ちます。

リーダーを押すと(,私にとって)、しばらく入力を待ってからタイムアウトします。

この機能を無効にして、次の指示を無期限に待機させるにはどうすればよいですか?

4

1 に答える 1

17

差出人:help ttimeout

'timeout', 'to', 'notimeout', 'noto'
boolean (default on)
global
                               
'ttimeout', 'nottimeout'                                               
boolean (default off)
global
{not in Vi}

これらの2つのオプションは、マップされたキーシーケンスまたはキーボードコードの一部が受信されたときの動作を一緒に決定します。

タイムアウト ttimeout アクション
オフ オフ タイムアウトしないでください
の上 オンまたはオフ :mappingsとキーコードでタイムアウト
オフ の上 キーコードでタイムアウト

両方のオプションがオフの場合、Vimは完全なマッピングまたはキーシーケンスが受信されるまで、または受信した文字のマッピングまたはキーシーケンスがないことが明らかになるまで待機します。例:「vl」をマッピングし、Vimが「v」を受け取った場合、「v」の後に「l」が続くかどうかを確認するために次の文字が必要です。オプションの1つがオンの場合、Vimは次のキャラクターが到着するまで約1秒待機します。その後、すでに受信した文字は単一文字として解釈されます。待機時間は「timeoutlen」オプションで変更できます。

低速の端末または非常にビジーなシステムでは、タイムアウトが発生するとカーソルキーが誤動作する可能性があります。両方のオプションがオフの場合、。で始まるキーコードがあると、Vimは入力後に永久に待機します。2回入力する必要があります。キーコードに問題はないが、:mappedキーシーケンスが1秒でタイムアウトしないようにしたい場合は、「ttimeout」オプションを設定し、「timeout」オプションをリセットします。

注:「互換性」が設定されている場合、「ttimeout」はリセットされます。

コメントから:

基本的に、ESCは矢印やその他の制御シーケンスの「リーダー」であるため、ESCを1回ではなく2回押す必要がある場合があります。– @Anton Kovalenko

実行して私の問題set notimeoutを解決しました。set ttimeout– @nightcracker

于 2014-10-30T15:37:40.977 に答える