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

有没有办法检查选项卡完成菜单是否在ZSH中打开,zsh,oh-my-zsh,zshrc,zsh-completion,zsh-zle,Zsh,Oh My Zsh,Zshrc,Zsh Completion,Zsh Zle,有没有办法检查选项卡完成菜单是否在ZSH中打开 我问这个问题是因为我想将空格键绑定到接受搜索,这样我就可以接受空格键的补全,但是我想以一种不干扰空格键默认行为的方式来做(插入空格字符)。另外,我想要这个,因为我不喜欢用space关闭完成菜单时插入空格 有人帮我写了这段代码,但我需要一种方法来检查自动完成菜单是否打开 function space-or-accept-suggestion(){ 如果;那么 接受搜索 其他的 zle自插入 fi } zle-N空间或接受建议 bindkey-M em

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

我问这个问题是因为我想将空格键绑定到
接受搜索
,这样我就可以接受
空格
键的补全,但是我想以一种不干扰
空格
键默认行为的方式来做(插入
空格
字符)。另外,我想要这个,因为我不喜欢用
space
关闭完成菜单时插入空格

有人帮我写了这段代码,但我需要一种方法来检查自动完成菜单是否打开

function space-or-accept-suggestion(){
如果;那么
接受搜索
其他的
zle自插入
fi
}
zle-N空间或接受建议
bindkey-M emacs“”共享空间或接受建议

您无需对此进行检查。只要用这个:

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

更多信息可以在这里找到:

您不需要检查。只要用这个:

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

更多信息可在此处找到:

您需要更清楚地了解要检查的状态。据我所知,你所描述的是默认值。“自动完成”与tab键触发的完成不同,通常只通过一些插件(如autosuggestions)实现。如果您的意思是来自complist模块的菜单选择处于活动状态,则会使用
menuselect
keymap,以便您可以为其以不同方式绑定空间。但默认情况下,它将被接受并插入空格。已更新问题。这是制表符触发完成。谢谢您需要更清楚地了解要检查的状态。据我所知,你所描述的是默认值。“自动完成”与tab键触发的完成不同,通常只通过一些插件(如autosuggestions)实现。如果您的意思是来自complist模块的菜单选择处于活动状态,则会使用
menuselect
keymap,以便您可以为其以不同方式绑定空间。但默认情况下,它将被接受并插入空格。已更新问题。这是制表符触发完成。谢谢那似乎没什么用。例如,我键入cd~/并按tab键,选择某个选项,然后按space键,它仍然会插入空格。我想也许我应该让自己适应默认行为,而不是试图改变它,即使只有zsh不想这样工作。@DavidGuevara对不起,我忘了在使用
bindkey
命令之前,您还需要执行
zmodload zsh/complist
。我把它添加到我的答案中。请再试一次。这似乎没有任何作用。例如,我键入cd~/并按tab键,选择某个选项,然后按space键,它仍然会插入空格。我想也许我应该让自己适应默认行为,而不是试图改变它,即使只有zsh不想这样工作。@DavidGuevara对不起,我忘了在使用
bindkey
命令之前,您还需要执行
zmodload zsh/complist
。我把它添加到我的答案中。请再试一次。