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


17

私のEmacsキーバインドが機能しzshていません(CtrlA、CtrlE)。zshOS Xで使用しています。

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

そして私.zshrcはここにいます。

ここに画像の説明を入力してください


@rene完了!アドバイスをありがとう!:D
— 足立武洋

私が収集したスクリーンショットから、あなたはMac OS Xにいますか ターミナルにも同じ問題があります。そのOSでは、Ctrl + A / E / Kが既に使用されている(GUIのテキストフィールドで使用するため)。
— 辺野

@Henno本当に?私はzsh atmを使用しており、bashを使用すると、ctrl + a(行の最初の文字に移動)およびctrl + e(行の最後に移動)が正常に機能します。しかし、zshを使用すると、スクリーンショットのようになります。だから、OSではなくzshに関する問題だと思う:(
— 安達武博

@TakehiroAdachiあなたの修正も私のために働いた!
— 辺野

@Henno素晴らしい:D!
— 足立武弘

回答:


21

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

私は私の最後に以下の行を追加すると.zshrc、CtrlEとCtrlA働きました:

bindkey -e

素晴らしい、私のためにも働いた!
— 辺野

5

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

あなたの特定のケースでは、それはとにCtrlV CtrlAなりCtrlV CtrlEます。

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

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

これは他のキーでも機能します。例えば、私はといくつかのトラブルがあったHomeとEnd。

どの端末セッションでもこのトリックを使用できるはずです:tty、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.