1

端末は ASCII 制御コードの送信方法しか認識していないため、 GUI モードで機能する一部の emacs キーボード バインディングは端末モードでは機能しません。キーを非 ASCII 制御コードにバインドしたときに emacs に文句を言わせる方法はありますか? 私はターミナルで時々しか emacs を実行せず、通常はリモートでのみ実行し、通常は何かが壊れているためだけに実行します。

また、特に 1 つの OS から別の OS (たとえば、Solaris -> Linux) にリモート接続するときに、修飾キーでさえ再マップされる (esc <-> ctrl が入れ替わる、または右の alt が機能するが左の alt が機能しない) 経験がありました。これがいつ発生したかを検出し、キーボード バインドを適切に切り替える方法はありますか?

基本的に: 端末で emacs をリモートで使用するたびに、GUI で一貫性のないエクスペリエンスが得られるのは残念です。

4

1 に答える 1

1

私はそれを行う良い方法を知りません.1つは、端末がエスケープシーケンスを介してほとんど何でもエンコードできるため、ASCII制御コードのみを送信できるというのは真実ではありません(たとえば、xtermは特別なエスケープシーケンスを送信します、CM-up、Emacs が認識する)。そのため、端末が Emacs に送信できるイベントのセット (およびどの Emacs が認識できるか) は、端末によって異なります。

本当に安全にしたい場合は、キー シーケンスが文字列 (ベクトルではなく、 を介して構築されたものではないkbd) として記述されるバインディングに制限することができます。これは基本的に、メタと組み合わせた ASCII 文字 (制御シーケンスを含む) のみを意味します。

于 2012-10-17T20:44:32.683 に答える