zsh
和bash
制表符补全之间有一个烦人的区别:
假设您编写了一些命令,并希望在行首添加一些内容:
$ compute --some --stuff
然后你跳到行的开头,开始写sudo
(不好的例子 - 只是为了演示)
$ sudcompute --some --stuff
^ <---cursor
bash
会让你完成sud
到sudo
,而zsh
会尝试完成sudcompute
。
因此,在这种情况下,您必须写一个空格,跳回一个字符并尝试制表符完成。
如果您仍然习惯于bash
,您可以在sud
后尝试按 Tab 完成并将您开始编写的命令渲染为完全无用的东西。
简而言之:是否有一个选项可以让zsh
完成光标左侧的短语,无论它是否以空格结尾?
只是在我的.zshrc
文件中环顾四周,我认为这就是您想要的:
bindkey '^i' expand-or-complete-prefix
其中^i
<Ctrl-I>
通常是制表符。