有没有办法检查ZSH中的标签完成菜单是否打开

问题描述

是否可以检查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

解决方法

您无需检查。只需使用此:

a = "Raul"
if a in {"Kevin","John","Inbar"}:
    pass

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...