После некоторого поиска я нашел ответ:
Чтобы узнать, какую escape-последовательность
запускает комбинация клавиш, выполните этот отличный ответ :
echo "
Ctrl V Esc / "
Что отображается для меня как: echo "^ [/"
. Ctrl V заставляет следующую клавишу отображаться как escape-последовательность, а не интерпретировать. Итак, теперь мы знаем, что пытаемся найти то, что связано с "^ [/"
.
Чтобы вывести список всех привязок клавиш zsh, просто выполните bindkey
без аргументов:
$ bindkey
"^A"-"^C" self-insert
"^D" list-choices
"^E"-"^F" self-insert
"^G" list-expand
"^H" backward-delete-char
...
"^Y"-"^Z" self-insert
"^[" vi-cmd-mode
"^[," _history-complete-newer
"^[/" _history-complete-older ### <--- Here it is.
"^[M" vi-up-line-or-history
"^[OA" vi-up-line-or-history
...
"^\\\\"-"~" self-insert
"^?" backward-delete-char
"\M-^@"-"\M-^?" self-insert
Итак, решив, что меня не волнует _history-complete-old
, я Я просто собираюсь его удалить. Я добавил это в свой .zshrc
:
# Unbind the escape-/ binding because it gets triggered when I try to do a history search with "/".
bindkey -r "^[/"
Если вместо этого вы просто хотите повторно привязать его к другому ключу, вы можете использовать:
bindkey -r "^[/"
bindkey "" _history-complete-older