zsh:如何使标签完成不需要光标后的下一个单词的空格?

fra*_*ans 7 bash zsh autocomplete tab-completion

zshbash标签完成之间存在令人讨厌的区别:

想象一下,你写了一些命令,并希望在行的开头添加一些东西:

$ compute --some --stuff
Run Code Online (Sandbox Code Playgroud)

然后你跳到行和行的开头并开始写sudo(坏的例子 - 只是为了演示)

$ sudcompute --some --stuff
    ^ <---cursor
Run Code Online (Sandbox Code Playgroud)

bash会让你完成sud,sudo同时zsh尝试完成 sudcompute.

因此,在这种情况下,您必须编写一个空格,跳回一个字符并尝试Tab-complete.

如果你仍然习惯了,bash你会尝试使用tab-complete sud并将你开始编写的命令渲染成完全没用的东西.

简而言之:是否可以选择让zsh光标左侧的短语完整,无论它是否以空格终止?

and*_*lrc 7

只是浏览了我的.zshrc文件,我认为这就是你想要的:

bindkey '^i' expand-or-complete-prefix
Run Code Online (Sandbox Code Playgroud)

哪里^i<Ctrl-I>它通常是标签.