【问题标题】:How to set tab for zsh autocompletion?如何为 zsh 自动完成设置选项卡?
【发布时间】:2020-03-24 11:06:35
【问题描述】:

我想为 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
        )
}

使用的字符名称的约定是什么? tab怎么命名的?

【问题讨论】:

    标签: shell unix autocomplete zsh


    【解决方案1】:

    .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

    【讨论】:

      【解决方案2】:

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

      bindkey '\t' autosuggest-accept
      

      想了解更多,可以click here

      【讨论】:

      • 这对我有用,谢谢!
      【解决方案3】:

      对于所有为接受的答案而苦苦挣扎的人,我让它工作如下:

      bindkey '^I' autosuggest-accept
      

      ...'^I' 是制表符。

      【讨论】:

      • 这对我有用。 +1。
      • 我猜它显示 ^I 因为您使用的是 vim 并使用了 :set list
      【解决方案4】:

      你必须把

      bindkey '       ' autosuggest-accept
      

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

      bindkey '^ ' autosuggest-accept
      

      到文件。

      这是配置文件的链接,对此进行了解释:https://github.com/zsh-users/zsh-autosuggestions#key-bindings

      【讨论】:

      • 以及如何绑定tab?
      • 我认为您还有空间或其他东西,我已复制粘贴,但无法正常工作。最好的方法是直接输入bindkey '' autosuggest-accept,然后将光标放在对勾之间按tab
      • 请注意,现代编辑器通常设置为将 tab 键扩展为空格,这将阻止此操作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 2018-11-18
      • 2013-02-14
      • 2012-01-08
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多