emacs -nw
KDE端末エミュレータでコンソールモードで動作していますkonsole
。 Emacsでは、バッファ間の水平移動のためにパッケージでShift-LeftとShift-Rightを定義しましたwindmove
。私が見る問題は、konsole
Shift - 左とShift - 右のキーを食べているようです。 Shift-UpキーとShift-Downキーが機能します。 Emacsを使用して受信したキーストロークを読み、Ctrl-h l
Shift - 左キーとShift - 右キーストロークは受信されていませんが、Shift-UpキーとShift-Downキーストロークは受信されていることがわかります。
一方、Emacsはxterm
es Emacsの内部と外部で実行できgnome-terminal
、Shift-左とShift-右の正しいキーコードを受け取ることができます。
ESC [ 1 ; 2 C [windmove-right]
ESC [ 1 ; 2 D [windmove-left]
Konsole
KDE自体がShift-LeftとShift-Rightキーの組み合わせを渡すのではなく処理するようです。入力してプロフィールをSettings->Edit-CurrentProfile->Keyboard
編集します。"Default (XFree 4)"
ただし、Shift-Left と Shift-Right を定義しても効果はありません。
Right+Shift \E[1;*C
Left+Shift \E[1;*D
入力ダイアログボックスでテストした結果、正しい出力が生成されるようです。
ただし、設定を適用してEmacsに再入力すると、Shift-LeftとShift-Rightの文字は受信されません。 -AppScreenと+AppScreenも追加してみましたが、結果は同じです。
一方、「Default (XFree 4)」プロファイルで Shift+Up と Shift+Down のマッピングを表示できます。
Up+Shift ScrollLineUp
Down+Shift ScrollLineDown
これらのキーコードは、次の形式でEmacsに到着します。
ESC [ 1 ; 2 A [windmove-up]
ESC [ 1 ; 2 B [windmove-down]
Shift-LeftとShift-Rightが特別に処理される理由と、それをどのように機能させるかを知っている人はいますか?
ベストアンサー1
また、前/次のタブに切り替えるためのグローバル Konsole ショートカットとして定義されます。 Konsole設定 - >ショートカット設定に移動して削除します。
(最初にこれを実行してから説明した手順に従いました。変更を適用するには、konsoleも再起動する必要がありました。再起動する必要があるかどうかはわかりません。)