Как заставить Ctrl + P вести себя так же, как стрелка вверх в Zsh?

14

Прежде всего, я использую zsh и oh-my-zsh практически без других настроек.

В Zsh, когда я нажимаю стрелку вверх, он приносит мне последние команды. И если я наберу несколько символов до того, как нажму стрелку вверх, появится последняя команда, начинающаяся с этих символов. Это довольно полезная функция, поскольку я в качестве альтернативы запускаю много команд git / vim / scp.

Но теперь я переключаюсь на клавиатуру без клавиш со стрелками, и я склонен использовать ctrl+ pвместо стрелки вверх для завершения истории. Однако, независимо от того, сколько символов я набрал перед нажатием ctrl+ p, это всегда даст мне самую последнюю команду (не последнюю, начинающуюся с этих символов)

Как мне настроить zsh (или oh-my-zsh), чтобы это исправить?

Гордон Гао
источник

Ответы:

15
bindkey "^P" up-line-or-search
Майкл Уайлд
источник
Большое спасибо! Я напишу проблему в oh-my-zsh, чтобы добавить ее в файл по умолчанию lib / keybinding.zsh.
Гордон Гао
2
Вы можете также добавить bindkey "^N" down-line-or-searchдля согласованности.
Эммануэль Жубо
5
bindkey -e

Это использует сочетания клавиш Emacs и, кажется, работает для меня.

Ноктюрн
источник
В rc-файле вашей оболочки, ~/.zshrc если вы установили, export EDITOR=vimто связывание ключей в shell изменится на vim. В этом случае вручную установите привязку ключей к режиму emacsbindkey -e
MutantMahesh