如果我不知道它是什么或触发了什么,如何禁用它?
我已通过将我的zsh
关键模式设置为vi模式bindkey -v
。
要进行历史记录搜索,请按Esc进入“命令模式”,然后/开始搜索。但是,如果我按得太快,它会执行其他操作,但是我不知道该怎么办!我假设Esc-/
是一些绑定,但是我不知道它是什么。如何找到并关闭它?
经过一番搜索,我找到了答案:
要发现escape sequence
触发组合键的原因,请遵循以下出色答案:
echo "
CtrlVEsc/"
对我来说,该显示为:echo "^[/"
。CtrlV强制以下键显示为转义序列,而不是被解释。因此,现在我们知道我们正在尝试查找绑定的对象"^[/"
。
要列出所有zsh键绑定,只需bindkey
不使用args即可执行:
$ 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-older
,我将其删除。我将此添加到我的.zshrc
:
# Unbind the escape-/ binding because it gets triggered when I try to do a history search with "/".
bindkey -r "^[/"
相反,如果您只想将其重新绑定到其他键,则可以使用:
bindkey -r "^[/"
bindkey "<some-other-key-combo>" _history-complete-older
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句