xfce4-terminalのキーマッピングの変更

xfce4-terminalのキーマッピングの変更

こんにちは、xfce4-terminalのキーマッピングを少し変更したいと思います。おそらくXterm.VT100.translationsを.Xresourcesに追加するのと同じです。

特に、最後の単語を削除するにはctrl-backspaceを使用し、次の単語を削除するにはctrl-deleteを使用したいと思います。

ボーナス:バックスペース、削除、左矢印、右矢印にAltをCtrl(繰り返し機能)のように使用したいと思います。

xfce4-terminalでこれらの操作の全部または一部をどのように実行できますか?

編集:これまでの進捗状況:私はreadlineライブラリとbash組み込み関数 "bind"を使用してキーシーケンスをreadline関数にマップするbashを使用しています。私に必要な機能は「shell-kill-word」と「shell-backward-kill-word」です。原則として、次のことができるはずです。

"\C-Rubout":shell-backward-kill-word
"\C-Delete":shell-kill-word
"\M-Rubout":shell-backward-kill-word
"\M-Delete":shell-kill-word

ただし、xfce4端末エミュレータまたはプロセスの一部のアップストリームコンポーネント(ウィンドウマネージャ、xfwm4、Xorgプログラム自体?)は協力しません。通常、メタキーはエスケープ文字に変換されます。たとえば、次のようになります。

"\ey":shell-kill-word  <-- Meta + y kills next word

しかし、バックスペースと削除キーの使用には運がありませんでした。キーボードのバックスペース、削除、および制御キーの組み合わせによって生成された2つの端末エミュレータxfce4-terminalとxtermのキーコードをテストしました。 emacsのCh Clコマンドによると、

xterm:
  backspace:    DEL
  delete:       \e[3~
  \C-backspace: \C-h
  \C-delete:    \e[3;5~
  \M-backspace: y-umlaut (y with two dots over it)
  \M-delete:    nothing

xfce4-terminal:
  backspace:    DEL
  delete:       \e[3~
  \C-backspace: DEL
  \C-delete:    \e[3;5~
  \M-backspace: \e DEL
  \M-delete:    nothing

特にxfce4-terminalでは、\ C-backspaceをshell-backword-kill-wordにバインドすることは不可能です。これは、通常のバックスペースキーとまったく同じキーコードを送信するためです。そして、キーコードをまったく送信しないので、\ M-deleteをshell-kill-wordにバインドすることは不可能です。

Linuxに切り替えてすべてのハードウェア/ソフトウェア互換性の問題を処理する必要がある1つの(大きな)理由は、Linuxがカスタマイズ可能であるためです。たとえば、私はウィンドウをクリックするのではなく、ウィンドウの上にマウスを置くと、ウィンドウに焦点を合わせるのが好きです。私の考えでは、最新のLinuxディストリビューションでこれらの問題を解決することが最優先事項です。残念ながら、この問題を解決するための次の手順を実行するために、Xおよびxfceのすべてのバックグラウンド調査を実行する時間はありません。 Xorgエコシステムについてもっと知っている人は私に正しい方向を教えてもらえますか?たぶんより良い仕事をする代替端末エミュレータがありますか?

最後の情報:Xウィンドウでemacsを実行すると、キーコードの1つだけを除いてすべて選択されます。

backspace:    <backspace>
delete:       <delete>
\C-backspace: <C-backspace>
\C-delete:    <C-delete>
\M-backspace: <M-backspace>
\M-delete:    nothing

ベストアンサー1

いいですね。これは+、+、+、+.zshrcの私の内容です。ctrlctrlaltalt

## use Ctrl <- and Ctrl -> for jumping to word-beginnings on the CL
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word                       
## the same for alt-left-arrow and alt-right-arrow            
bindkey '^[[1;3C' forward-word                          
bindkey '^[[1;3D' backward-word

crtl私のシステムでは+delと+のために動作しますが、まだ+と+のキーがalt見つかりませんでした。delctrlbackspacealtbackspace

bindkey '^[[3;5~' kill-word
bindkey '^[[3;3~' kill-word

CtrlV+を押して希望のキーの組み合わせを入力すると、各キーの組み合わせを表す奇数文字を入力できます。たとえば、Ctrl+を押しVてからCtrl+を押すと^[[1;5D

おすすめ記事