Встановлення клавіатур Emacs в zsh не працює (Ctrl-A, Ctrl-E)


17

Мої зв'язки Emacs zshне працюють ( CtrlA, CtrlE). Я використовую zshв OS X.

Вони можуть бути пов'язані з якоюсь іншою справою. Зараз я використовую о-о-мі-шш .

І мій .zshrcзакінчиться тут .

введіть тут опис зображення


@rene Готово! THX за порадою! : D
Такехіро Адачі

Зі скріншоту я збираюсь ви на Mac OS X? У мене така ж проблема в терміналі. Ctrl + A / E / K вже взяті в цій ОС (для використання в текстових полях GUI), що може пояснити це.
Генно

@Henno дійсно? Я використовую zsh atm, і коли я використовую bash, ctrl + a (перейти до першого символу рядка) та ctrl + e (перейти до кінця рядка) працює чудово. але коли я використовую zsh, він виглядає як скріншот. тому я думаю, що це проблема щодо zsh, а не ОС :(
Takehiro Adachi

@TakehiroAdachi ваш фіксований працював і для мене!
Генно

@Henno Великий: D!
Такехіро Адачі

Відповіді:


21

Я вирішив проблему. Схоже, oh-my-zsh переосмислив типові вкладки клавіатури.

Коли я додав рядок нижче в кінці мого .zshrc, CtrlEі CtrlAпрацював:

bindkey -e

чудово, працював і для мене!
Генно

5

Взагалі кажучи, ви можете знайти код ключа, ввівши CtrlVі ключ. Потім ви можете скористатися цією клавішею, bindkeyщоб зіставити її на zshфункціональності клавіатури (наприклад,beginning-of-line ).

У вашому конкретному випадку це було б CtrlV CtrlAіCtrlV CtrlE .

Потім ви можете помістити код у свою .inputrc, систему /etc/inputrcчи .zshrcподібне:

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

Це працює і для інших клавіш. Наприклад, у мене були проблеми з Homeі End.

Ви повинні мати можливість використовувати цей трюк у будь-якому термінальному сеансі: tty,

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.