Zsh shortcut 'ctrl + A' не работает
Недавно я переключился с bash на zsh shell. Точнее, oh-my-zsh
Очень приятно, но ярлык я чаще всего использую; переход к началу/концу строки больше не работает. Из docs должно быть
ctrl + A --> beginning
ctrl + E --> end
Однако, когда я делаю это, я получаю следующее
$~> my-command
$~> my-command^A # did a ctrl + A here
Хотя я вижу, что это работает всеми остальными, в моей системе что-то кажется другим. Любые предложения, что это может быть?
Ответы
Ответ 1
вам не нужно настраивать поведение Ctrl + A, если вы используете стандартную комбинацию клавиш (emacs
keymap). Он делает то, что вы ожидаете.
Однако, если вы установили zle для использования vi
keymap, вы должны определить keybind
для vi-beginning-of-line
. то же самое для Ctrl + E.
Итак, проверьте, какая карта была настроена в конфигурации. Если это было vi, попробуйте нажать ESC, затем ^ и $ должны делать то, что вы хотите.
Ответ 2
Если вам интересно, почему это произошло: у вас, вероятно, для $EDITOR
или $VISUAL
установлено значение vi/vim, в результате чего zsh по умолчанию использует карту ключей vi, которая не использует ctrl + a для перемещения каретки.
Добавление bindkey -e
в ~/.zshrc
восстановит старое поведение (~/.zshrc
emacs).
Ответ 3
zsh.zshrc
bindkey "^A" vi-beginning-of-line