web-dev-qa-db-ja.com

Xterm Ctrl +矢印のショートカットキー

Xtermバージョン293を使用しています。コマンドでナビゲートしている間、私は通常、ショートカットキーをCtrl+LeftArrowまたはCtrl+RightArrowとして使用して前後に移動します。

しかし、そうしている間、むしろ予想される動作で、Ctrl+LeftArrow5Dを出力し、Ctrl+RightArrow5Cを出力します

xtermを期待どおりに機能させる方法は?

編集:

例えばxtermで、次のように入力すると:

shw$ This is a test

カーソルがisの後にあり、Ctrl+LeftArrowを押すと、カーソルが移動するはずですi of is(そして、もう一度Ctrl+LeftArrowを押すと、カーソルは-に移動する必要があります[〜#〜] t [〜#〜]これの)。しかし、代わりに、私は次のように結果を取得します

shw$ This is5D a test

Ctrl+RightArrowについても同じです

2
SHW

XtermでCtrl-arrowsをサポートするには、modifyKeyboardリソースを少なくとも2に設定します。例:

xterm -xrm "*modifyKeyboard: 2"

これが期待どおりの動作をしない場合は、アプリケーション(そのキーバインディング)が正しく構成されていない可能性があります。または、modifyCursorKeysリソースの変更を試みることもできます。

xterm -xrm "*modifyKeyboard: 2" -xrm "*modifyCursorKeys: 0"

エスケープシーケンスを認識するようにアプリケーションを構成する必要があります。たとえば、*modifyCursorKeys: 2(これがデフォルトです)およびzsh:

bindkey '\e[1;5C' forward-Word
bindkey '\e[1;5D' backward-Word

bashなどのlibreadlineに基づくアプリケーションの場合:

"\e[1;5C": forward-Word
"\e[1;5D": backward-Word

あなたの~/.inputrcファイル。

6
vinc17