キーTabとShiftTab画面をバインドする方法は?私の問題は、bind
これらのキーストロークを指定するために画面コマンドに何を渡すべきかわからないということです。
ところで、私も知っていますGNU画面:地域間移動しかし、答えは存在しません。
次の操作はすべてエラーのため失敗します-X: bind: character, ^x, or (octal) \032 expected
。
screen -X bind "\033[Z" focus up
screen -X bind "^[[Z" focus up
screen -X bind "\t" focus up
screen -X bind \033[Z focus up
screen -X bind ^[[Z focus up
screen -X bind \t focus up
Enterコマンドを押すとCtrlA:同じことが起こります。
ベストアンサー1
bindkey
指定された文字シーケンスを使用するのとは異なり、bind
これを行う唯一の方法は、機能が重要な場合はbind -k CAP
CAPを使用することです。termcap
例えば、
bind -k ku focus up
Upに送信された文字シーケンスをバインドするために使用されますfocus up
。 [背景]タブの場合は、次のようにする必要があります。
bind -k kB focus up
残念ながら何らかの理由で動作しないようです。なぜか分からない。私の最初の説明は間違っています。これはncurses
termcap等価物が正しく処理されないことに関連しているようですkcbt
。
$ infocmp -1 | grep Z
cbt=\E[Z,
kcbt=\E[Z,
$ infocmp -1C | grep Z
:bt=\E[Z:\
(kcbtはkBに変換されません)。
私のアイテムに追加する場合~/.screenrc
:
termcapinfo * kr=\E[Z
bind -k kr focus up
言い換えれば、私がscreen
あなたにそう言うなら、所有者端末(*
)、送信F63(kr
)\E[Z
、およびバインディングをF63実行するfocus up
だけです。しかし、今押すとShift+Tab送信されます。画面内 \EOC
、これは端末エミュレータによって表示される文字列です。画面(ホスト端末とは対照的に)送信を実装しますF63。