私の端末設定はgnome-terminal + tmux + viバインディング付きzshです。
Vimのようなアプリケーション、またはzshのコマンドラインvi編集モードでさえ、頻繁に ESC キーですが、このキーの効果が発生するまでに少し遅延があります。参照 GNU画面でVim ESCキーが遅くなる
いくつかの実験の後、私は ESC キーとすぐに別のキー(たとえば b)を押すのと同じ効果があります Alt+b。なぜそうなのかわかりません(おそらくレガシーな理由で Alt?知りません)。いずれにせよ、私には2つあります Alt キーと私は私のこの動作をしたくない ESC キー。私は試しました C+[ それも同じ問題です。
これ、gnome-terminal、tmux、または私のOS自体(Ubuntu Natty)の責任者は不明です。これに対処する方法についてのアイデアは素晴らしいでしょう。
Update:別の端末(LXTerminal)でtmuxなしでチェックしたところ、遅延もそこにありました。
これが実際の修正です。以下を.tmux.conf
に追加します。
set -s escape-time 0
遅延は、ファンクションキーが押されたかどうかを判断する必要がある入力ルーチンによって発生します。このため、入力ルーチンは、ESC文字を読み取るたびにタイマーを開始します。タイマーが切れる前に入力から読み取られた文字(1/10秒としましょう)は、ファンクションキーのESCシーケンスとして解釈され、このESCシーケンスは、terminfoまたはtermcapデータベース(使用される低レベルのルーチンに依存)。
当然のことながら、これはESCが単独で使用されるアプリケーションには迷惑ですが、これに対する回避策はわかりません。
あなたの質問について ESC a = Meta a:
一部のキーボードではメタキーを使用できませんでした。回避策として、他のキーの前にESCキーを押すことがしばしば許可されていました。
これで問題が直接修正されるとは限りませんが、<Ctrl> c
を使用して挿入モードを終了できることがわかりました。これは、tmuxの画面スクロールを終了するためにも使用できます(<leader> PgUP
を使用して呼び出すことができます)