在 bash ( \bash --noprofile --norc
) 中,当插入符/回车符/光标 ( |
) 位于单词 ( ) 的中间时l|!@#asdf
,您可以双击 Tab 以显示ls
插入符 ( l
) 之前的单词的建议(对于此示例)。但在 zsh ( \zsh -f
) 中它根本不起作用——你必须在插入符号后有一个空格才能自动完成插入符号 ( l| !@#asdf
) 之前的单词。
这是 bash 擅长的几件事之一。谁能告诉我 zsh 中是否有启用此功能的设置?
在 bash ( \bash --noprofile --norc
) 中,当插入符/回车符/光标 ( |
) 位于单词 ( ) 的中间时l|!@#asdf
,您可以双击 Tab 以显示ls
插入符 ( l
) 之前的单词的建议(对于此示例)。但在 zsh ( \zsh -f
) 中它根本不起作用——你必须在插入符号后有一个空格才能自动完成插入符号 ( l| !@#asdf
) 之前的单词。
这是 bash 擅长的几件事之一。谁能告诉我 zsh 中是否有启用此功能的设置?
在这方面看起来更接近于 bash 的完成行为是使用小
expand-or-complete-prefix
部件而不是默认小部件expand-or-complete
(或者complete-word
如果_expand
启用了完成器)_prefix
否则,如果当前单词无法完成但光标左侧的部分可以完成,则可以将默认的配置为使用完成器:至少添加:
前
在你的
~/.zshrc
。最简单的方法是根据
compinstall
您的口味调整补全。只拥有这些而不受益于 zsh 补全的所有强大功能将是一种浪费。跑步:Running
compinstall
也作为一个选项提供zsh-newuser-install
,您应该在第一次调用时调用该选项,zsh
而还没有~/.zshrc
.你会想要
_prefix
在那里启用完成者。您仍然需要set -o completeinword
手动添加,因为它目前不是由compinstall
. 实际上有一个:该
compinstall
函数中的行。info zsh _prefix
详情请见。