我使用了很多 git 命令,由于它们大多是两个单词的命令名,因此匹配找不到最接近的匹配项。例如:
# type in some commands
git checkout -
git status
mvn test
# try to autocomplete based on the history. I want "git checkout -" to be filled in, but instead "git status" is filled in.
git c<history-search-backward>
git status
请注意,我输入的space
和在自动完成功能中被忽略。c
我认为这是 zsh 完成系统的一些缺点。这是真的吗?还是我误解了功能?
答案1
是的,history-search-backward
只查找以当前命令行的第一个单词开头的行。这既不是缺点也不是错误,而是故意的。
对于您的用例,您需要使用小部件history-beginning-search-backward
。这将根据从开始到光标位置的所有内容搜索历史记录。(这相当于bash 的 history-search-backward
命令)