如何为 zsh 自动完成设置选项卡?

How to set tab for zsh autocompletion?

我想为 zsh 自动完成插件设置选项卡。配置的相关部分:

# Widgets that accept the entire suggestion
(( ! ${+ZSH_AUTOSUGGEST_ACCEPT_WIDGETS} )) && {
        typeset -ga ZSH_AUTOSUGGEST_ACCEPT_WIDGETS
        ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=(
                forward-char
                end-of-line
                tab-char //my line
                vi-forward-char
                vi-end-of-line
                vi-add-eol
        )
}

使用的字符名称约定是什么? 选项卡如何命名?

你必须输入

bindkey '       ' autosuggest-accept

进入您的 .zshrc 文件。请注意,撇号之间的 space 是制表符的一次击键。 这与所有其他字符或字符组合类似。例如,如果您想要组合 ctrl+space 键来触发接受,您可以附加

bindkey '^ ' autosuggest-accept

到文件。

这是配置文件的 link,其中解释了:https://github.com/zsh-users/zsh-autosuggestions#key-bindings

对于那些正在为接受的答案而苦苦挣扎的所有人,我通过以下方式让它发挥作用:

bindkey '^I' autosuggest-accept

...其中“^I”是制表符。

这似乎在您的 ~/.zshrc 中按预期工作:

bindkey '\t' autosuggest-accept

想了解更多可以click here

.zshrc 文件中:

bindkey '^I'   complete-word       # tab          | complete
bindkey '^[[Z' autosuggest-accept  # shift + tab  | autosuggest

https://github.com/zsh-users/zsh-autosuggestions/issues/532#issuecomment-907361899