と入力すると、Alt-x
次のようなexecute:
ポップアップが表示されます。
~ %
execute: _
引き続き入力できます(スペースは使用できません)。
~ %
execute: what'sthis
Q1.このプロモーションの目的は何ですか?
Q2: このショートカットを別のキーバインディングに変更するには?M-x
これはemacsで非常に便利で、私はしばしばemacsでシェルを使用しているので、2つがクラッシュします。
数時間検索しましたが、まだ回答はありません。 (私のキーワードが間違っている可能性があります。Google:「zsh」+「実行:」、「google:zshキーバインディングバインドキー」
答え1
これにより:
bindkey | grep -F '^[x'
または簡単に:
bindkey '^[x'
またはAlt + xを表現する方法について質問がある場合:
bindkey | grep -w x
あなたが見ることができるもの:
"^[x" execute-named-cmd
これは、ESC xにバインドされたウィジェットの名前で、ほとんどの端末が押されたときに送信される一連のESC x文字です。Alt+x
info zsh execute-named-cmd
ウィジェットが何をしているかを教えてくれます(zsh-doc
一部のシステムではパッケージをインストールする必要があるかもしれません)。
名前が示すように、コマンドの実行を求めるメッセージが表示されます。ここのコマンドはzshウィジェット、エディタコマンドです。これは、command(から呼び出される)の代わりにzshエディタコマンドであることを除いて、emacs
'と同じです。Meta-xemacs
execute-extended-command
emacs
たとえば、そのプロンプトで入力してタップすると、デフォルトでbackward-delete-char
バインドReturnされたウィジェットが呼び出されますBackspace。でも同じことができますemacs
。
代わりに入力しdesc
Tab(Tab塗りつぶしdescribe-key-briefly
、ウィジェットはデフォルトでどのキーにもバインドされていませんemacs
)、キーを押すとReturn他のプロンプトが表示されます。
$
Describe key briefly: _
たとえば、クリックするとAlt+x何をするかを見ることができます。これにより、次のようになります。
"^[x" is execute-named-cmd
で同じ操作を実行すると、emacs
次のようになります。
M-x runs the command execute-extended-command
組み込まれていないウィジェットの場合、ウィジェットのリストを表示するにはキーバインディングリストをzle -al
実行します。zle -l
bindkey
Alt+x他のものにバインドできます。
bindkey "^[x" some-widget