'escape-time 0' tmux設定の結果は?


16

内部tmuxで(neo)vimを実行すると、エスケープキーが遅延することがわかりました。これは

set -sg escape-time 0

私の.tmux.conf。おそらく、これは「メタ」キーとしてESCを使用する可能性を無効にします。「メタ」として機能するAltキーを備えたキーボードを常に使用していると仮定すると、その設定が潜在的に望ましくない結果をもたらす可能性があるのではないかと思っています。

回答:


16

escape-timeゼロに設定すると、tmuxがファンクションキーを認識できなくなります。そのマニュアルページに

escape-time time
エスケープが関数またはメタキーシーケンスの一部であるかどうかを判断するためにエスケープが入力された後、tmuxが待機する時間をミリ秒単位で設定します。デフォルトは500ミリ秒です。

「ファンクションキー」という用語は、その形式のすべてのものに適用されます(ページアップ、tmuxによるスクロールで使用、カーソルキーなど)。リモートで作業したことがない場合、500ミリ秒は過剰な場合があります。ローカル接続では20ミリ秒が有効です。ESCDELAYncurses の類似のデフォルトは1000ミリ秒です。それを変更する必要があると感じるユーザーはごくわずかです。


うーん...エスケープキーが0に設定されている場合でも、矢印キーとページアップがtmuxで正常に機能するようです
Michael Goerz

1
ドキュメントでは、tmuxで処理されるキーバインディングを参照しています(tmux内で実行されているアプリケーションではありません)。
トーマスディッキー

@AntoineCottenそれについて拡張していただけますか?Meta非機能キーとペアになるまで何も送信しなかったと考えましたが、その時点でエスケープとキーを「同時に」送信します(割り込みを使用する代わりにポーリングする場合、妥当なポーリング期間よりも短い遅延私は腸に沿って、エスケープタイムアウトを10未満に設定しませんでした。主に、デフォルトが非常に高い場合に問題が発生することが予想されたためです。
ジョンP

Metaの動作は端末に依存します。 tmuxそれを制御することはできませんが、xtermの特殊キー(テーブル内)については知っています。xtermの通常のキーのメタは何かをします(eightBitInputマニュアルを探してください)。他の端末については、何かをするかもしれませんが、通常は文書化されていません。
トーマスディッキー

@JohnP @ThomasDickey以前にescape-time、0に設定するとターミナルエミュレータのMetaコマンドに干渉することをコメントしました。修正したいのですが、macOS端末Escメタキーとして使用するため、これは本当でした。Altなどの別のキーを使用しても問題はありません。誤解を招く(削除された)コメントをおologiesびします。
アントワーヌコッテン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.