`\C-`と `\e'の代わりにALT(メタ)または他の制御キーをプレフィックスとして使用してReadlineキーバインディングを設定するにはどうすればよいですか?

`\C-`と `\e'の代わりにALT(メタ)または他の制御キーをプレフィックスとして使用してReadlineキーバインディングを設定するにはどうすればよいですか?

Control(\C-)またはEscape()をプレフィックスとして使用して\eReadlineキーバインディングを設定する例のみを見つけることができます。

私の場合、macOSではその\C-スペースが主キーバインディングで完全に埋められており、\eTouch BarがあるMacbookではそのスペースは実用的ではありません。

入力"\M-f": kill-word結果~/.inputrcは次のとおりです。

bind -P | grep -F "\M-"
kill-word can be found on "\e[3;5~" "\ed".

ただし、またはプレフィックスをkill-word使用して実行することはできません。 Readlineはこれを無視します。OptionCommandfn

この問題はmacOSに固有のものですか?どうすれば解決できますか?

また、キーバインディング(たとえば、より長いキーバインディングのプレフィックス)が実行される前に発生する「タイムアウト」をどのように制御できますか?

@add(@laktak):bind '"^[f": kill-word'機能しませんが、ƒ端末で生成されます。 ここに画像の説明を入力してください。

ベストアンサー1

私はあなたが間違っているとは思わない。 Terminal.appに「Meta」に「Option」キーを使用するように指示します。ターミナル(+ ,)の環境設定に移動してプロフィールだから鍵盤[基本プロファイル]タブをクリックし、[オプションをメタキーとして使用]を選択します。

Terminal.appプロフィール→キーボード設定スクリーンショット

それ以外の場合、Option +キーは、+がOption生成fするのと同じ特殊文字を生成する基本的なmacOSアクション(ほとんどのキーマップから)を取得します。フック付きの小文字「f」スクリーンショットから(すべて参照ここ)。

存在するi 2学期, 私は左 Option キーが既に基本的に合理的な作業を行っていると思いますが、もし備えてこれを変更する方法は次のとおりです。

iTerm 2 オプションキーの動作

OptionをEscapeに再マップする場合は、システム環境設定のキーボード設定ウィンドウの下部近くにある「修飾子キー...」ボタンをクリックして実行できます。

macOSシステム設定キーボード準備パネル

次に、利用可能なオプションから必要に応じて再マッピングします。

macOS キーボード準備パネルで修飾子キーを再マッピングする

ControlキーがMacキーボード上の厄介な位置にあるため、Caps LockをControlに再マップできるように、新しいMacを使用して最初の5分でこの設定ウィンドウを開きました。

おすすめ記事