1

有没有办法检查选项卡完成菜单是否在 ZSH 中打开?

我问这个问题是因为我想将空格键绑定到,accept-search以便我可以接受该space键的完成,但我想以一种不干扰space键的默认行为的方式进行操作(插入space字符) . 另外,我想要这个,因为当我关闭完成菜单时我不喜欢space它插入一个空格。

reddit中的某个人帮助我完成了这个片段,但我需要一种方法来检查自动完成菜单是否打开。

function space-or-accept-suggestion() {
  if <INSERT WAY TO CHECK IF AUTOCOMPLETION MENU IS OPEN>; then
    zle accept-search
  else
    zle self-insert
  fi
}

zle -N space-or-accept-suggestion
bindkey -M emacs ' ' space-or-accept-suggestion
4

1 回答 1

0

你不需要检查那个。只需使用这个:

zmodload zsh/complist
bindkey -M menuselect ' ' accept-search

更多信息可以在这里找到:http: //zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#Menu-selection

于 2020-11-30T09:57:14.923 回答