web-dev-qa-db-ja.com

zshのEmacsキーバインドが機能しない(Ctrl-A、Ctrl-E)

zshのEmacsキーバインディングが機能していません(CtrlA、 CtrlE)。 OSXではzshを使用しています。

彼らは他の何かに縛られているかもしれません。私は現在 oh-my-zsh を使用しています。

と私 .zshrcが終わった ここ

enter image description here

17
Takehiro Adachi

問題を解決しました。 oh-my-zshがデフォルトのキーバインディングをオーバーライドしていたようです。

.zshrcの最後に以下の行を追加すると、 CtrlE そして CtrlA 働いた:

bindkey -e
22
Takehiro Adachi

一般的に、キーのコードは次のように入力して見つけることができます CtrlV と鍵。次に、このキーをbindkeyとともに使用して、zshキーボード機能(例:beginning-of-line)にマップできます。

あなたの特定のケースではそれは CtrlVCtrlA そして CtrlVCtrlE

次に、次のように、コードを.inputrc、システム/etc/inputrc、または.zshrcに配置できます。

bindkey '^A' beginning-of-line
bindkey '^E' end-of-line

これは他のキーでも機能します。たとえば、私はいくつかの問題を抱えていました Home そして End

このトリックは、どのターミナルセッションでも使用できるはずです:tty、

4
tiktak