![GNU画面に適した「コマンド文字」を検索するには?](https://linux33.com/image/77875/GNU%E7%94%BB%E9%9D%A2%E3%81%AB%E9%81%A9%E3%81%97%E3%81%9F%E3%80%8C%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E6%96%87%E5%AD%97%E3%80%8D%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F.png)
すでに使用しているいくつかのキーの組み合わせと競合しないGNU画面の「コマンド文字」を見つけるのに問題があります。
Emacs(およびorg-mode、通常のシェルなど)を介してCtrl+で構成されているほとんどすべてのコマンド文字は、[A-Z]
制限ゾーンです。。
簡単なものがあればいいと思いました。一貫して、ASCII範囲27〜31の文字を入力すると機能します。
上記の基準を満たす文字の1つを入力する方法を見つけるために使用できるツールはありますか?
(「一貫した」という言葉は、「すべてのキーボード」または少なくとも「すべてのアメリカのキーボード」で同じ方法で入力できることを意味します。)
答え1
Screenがエスケープ文字として認識するすべてのファンクションキーを使用できます。エスケープ文字(より正確にはエスケープ文字)を設定します。バイト\377
)をUTF-8が絶対に使用しないように入力しないものに変換します。command
たとえば、Escキーとして使用したいキーをF12(F2
termcap talkで - 画面マニュアルの「翻訳を入力する」セクションを参照):
escape \377\377
bindkey -k F2 command
記号名が既知の画面キーに限定されない。キーまたはキーコードをコマンドキー(ターミナルでエスケープシーケンスを送信する必要がある)に設定するには、Ctrlシェルプロンプトで+を押してから、キーを押して送信するエスケープシーケンスを確認します。Vこれにより、エスケープシーケンスはシェル内のエスケープシーケンスとして認識されず、文字通り挿入されます。たとえばF12、CtrlVF12^[[24~
^[
bindkey ^[[24~ command
Ctrl+を\画面エスケープキー(escape ^\\\
)として使用し、Ctrl+に文字を\ \挿入するようにします^\
。^\
制御文字を使用するプログラムはほとんどありません。 Emacsでは を呼び出しますtoggle-input-method
が、私は使用しません。旅行が変わることがあります。調理された端末はほとんど役に立たないSIGQUITを送信します(必要に応じてCtrl+Zの後にkill
コマンドが続く場合も通常は機能します。デフォルトではコアダンプを無効にします)。Ctrl+いくつかの必須キーボードレイアウトでは入力が難しいかもしれませんが、\USレイアウトでは簡単です。また、+を押すと文字を送信するように端末エミュレータを設定して、左手でも文字を入力できます。\AltGr^\
Ctrl`
Ctrl+ ](Emacs:)abort-recursive-edit
とCtrl+ ^(Emacs:未定義ですが、アメリカのキーボードや他の多くのレイアウトで入力するのは不便です)は、Emacsユーザーにとって可能な他の候補です。
ところで、Emacsといくつかのシェルを実行するためだけにScreenを使用している場合は、Screenは必要ありません。 Emacsも同じ目的に使用できます。単一のEmacsプロセスを引き続き実行し、emacsclient
すべての端末でこのEmacsプロセスのウィンドウを開くことができます。端末が消えたら、emacsclient
もう一度実行して同じEmacsインスタンスに接続できます。emacsclient
同じEmacsインスタンスに複数のインスタンスを関連付けることができ、異なるローカル接続とリモート接続を介して表示することもできます。
インターフェイスなしでEmacsを起動するには、を実行しますemacs --daemon
。次に、実行emacsclient -c
して既存のEmacsインスタンスのウィンドウを開きます(またはemacsclient -c -nw
テキストモードウィンドウを強制的に開きます)。 Emacsを起動し(まだ起動していない場合)、既存のEmacsインスタンス(存在する場合)に接続するには、を実行しますemacsclient -a '' -c
。
シェルを実行するには、Emacsで、またはM-x shell
などM-x term
を使用できます。 EmacsはScreenが行うことができるほとんどすべてを行うことができます。
答え2
私はすべての制御文字が私のアプリケーションですでに使用されているので、画面にMeta-aを使用しています。これを行うには、xtermsを8ビットモード(UTF-8エンコーディング無効、LANG = C)に設定し、
escape "<E1>a"
my の~/.screenrc
バイト<E1>
16 進数は 0xe1 です (つまり、小文字、エスケープ用に設定された上位ビット、a
メタ-a 転送のための一般)。a
xtermでUTF-8に興味がある場合はうまくいきませんが、純粋な8ビットを許可する場合はうまくいきます。
答え3
私は個人的に、次の2つの理由でCtrl-Jを使用してGNU画面を表示します。
- 通常は戻りキーにバインドされているため、あまり一般的ではありません。
タッチタイピストの場合、指は通常ここにあります。
脱出^ Jj