使い始めましたが、あまりにも頻繁に使用しているので、使用するのが面倒だとtmux
思います。Ctrlb0-9
Ctrl0-9Chromeのようにウィンドウを変更するだけでキーボードをどのようにバインドできますか?
設定しようとしましたが、.tmux.conf
成功しませんでした。
これは私の現在の.tmux.confファイルです。
bind C select-pane -t :.+
set -g status-bg black
set -g status-fg white
答え1
一部のControl+数値キー入力は、かなり標準化された順序を生成しますが、すべてではありません。
ここが私がいる場所です。xterm私が持っているもの:
C-1: 1 (i.e. not different form a plain 1 keystroke)
C-2: ^@
C-3: ^[
C-4: ^\
C-5: ^]
C-6: ^^
C-7: ^_
C-8: ^?
C-9: 9 (i.e. plain 9)
C-0: 0 (i.e. plain 0)
同じシーケンスが作成されます。アイテム2(かなり構成可能ですが)。
端末エミュレータが同様のシーケンスを生成する場合できるC-@
ほとんどをバインドします(キーには数値ではなく標準の「名前」(たとえば、など)を使用する必要があります^@
)。未変更のキーとは異なるものをまだ送信していないキー入力に対して、いくつかのシーケンス(たとえば、上記の1、9、0)を送信するように端末を設定する方法を見つける必要があります。
しかし、、プレフィックス(bind -n …
)なしでこれらのキーをバインドすると、多くの問題が発生する可能性があります。特に、Emacs(スタイル)編集などに一般的に使用される^[
Escape文字(ほとんどすべての端末制御シーケンスで使用されます)、^?
通常は削除文字(例:C-Space)などがあります。^@
おそらくより良いアプローチは、xtermスタイルの「modifyOtherKeys」シーケンスを送信するように端末を設定することです。マルチプレクサ1.8 ID(あなたの場合xtermこれを支持し、マルチプレクサ自動的にこれが必要です):
C-1: ^[[27;5;49~
C-2: ^[[27;5;50~
C-3: ^[[27;5;51~
C-4: ^[[27;5;52~
C-5: ^[[27;5;53~
C-6: ^[[27;5;54~
C-7: ^[[27;5;55~
C-8: ^[[27;5;56~
C-9: ^[[27;5;57~
C-0: ^[[27;5;48~
これマルチプレクサこのキーの名前はC-0
まさにそれです。
注:これらのキー名とシーケンスは認識されません。マルチプレクサ1.8より前のバージョン。
(で.tmux.conf
)次のようにバインドできます。
bind-key -n C-0 select-window -t :0
bind-key -n C-1 select-window -t :1
bind-key -n C-2 select-window -t :2
bind-key -n C-3 select-window -t :3
bind-key -n C-4 select-window -t :4
bind-key -n C-5 select-window -t :5
bind-key -n C-6 select-window -t :6
bind-key -n C-7 select-window -t :7
bind-key -n C-8 select-window -t :8
bind-key -n C-9 select-window -t :9
答え2
@ChrisJohnsenの答えは完璧ですが、一部の人は設定方法の助けを必要とするかもしれません。項目2これを達成する鍵です。
まず、以下のように「Iterm2 -> Preferences -> Profile -> Key」に進みます。
次に、いくつかの+がリストにない場合(リストの形式になっている)、シンボルをクリックしてデフォルトのリスト+
から利用できないプリセットを追加します。CtrlNumber^number
^1
ショートカットを選択中に+を押してから、タスクCtrlとして「エスケープ文字列を送信」を選択します。1次に、iterm2操作によって追加されるChris Johnsenのエスケープシーケンス(^ [を除く)を追加します。
後で他のすべてのコントロールに対してこのプロセスを繰り返して、すでに存在するコントロールを編集します。