「inputrc」ファイルのキーバインディングのキー名の一般的な形式は何ですか?


17

inputrcファイル内のキーバインディングの形式は次のとおりです。

keyname: function-name or macro

キーネームについては、次のようなものを見ました:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

これらのキー名の意味は何ですか?また、キー名の一般的な形式は何ですか?ドキュメントへのリンクを共有してください。


2
ドキュメントについては、readline(3)マンページまたはreadlineユーザーマニュアルをご覧になることをお勧めします
jw013

1
キーの設定(readline-inputrc)を確認してください:$ bind -p
vigo

回答:


12

キーバインドは、次のいずれかの形式を使用して実行できます。

  1. キー名:command_name
  2. 「keystroke_sequence」:コマンド名

最初の形式では、単一のキーの名前を綴ることができます。たとえば、CONTROL-Uはcontrol-uと記述されます。これは、コマンドを単一のキーにバインドするのに便利です。

2番目の形式では、コマンドにバインドされるキーのシーケンスを記述する文字列を指定します。例として挙げたのは、特殊キーを表すemacs-tyleバックスラッシュエスケープシーケンスです

\C-コントロール
\M-メタ
\e-エスケープ

別のバックスラッシュ–を使用してバックスラッシュを指定できます\\。同様に'"エスケープすることもできます- \'そして\"

更新

これらの文字は、特殊キーを押したときに端末によって解釈されるものです。キーバインディングで通常のアルファベットと数字をバインドしたくないのは、それらを定期的に使用している可能性があり、あなたの~/.inputrcor /etc/inputrcファイルにマップされた組み合わせを誤ってヒットしたときに問題を引き起こす可能性があるためです。

[1~ is what is interpreted by your terminal when you press your HOME button. 

詳細については、単にread端末プロンプトで入力し、ファンクションキー、ホーム、エンド、矢印キーなどのすべての種類の特殊キーを押して、表示される内容を確認してください。

基本的な理解を提供できる小さな参考文献を次に示します。幸運を!:)


2
何が\e[1~\M-l\C-[OD意味?\e\M、および\C部品は明確です。残りはどうですか?例:[1~- Shift+ {+ 1+ Shift+ を押す必要があり`ますか?
ミシャモロシュコ

回答を更新しました。お役に立てば幸いです!
ジャイパルシン

リンクが壊れています。チルダまたはオープンブラケットが何のためにあるのかまだわかりませんか?
カールスミス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.