history-search-backward 会忽略第一个空格字符后的搜索文本吗?

history-search-backward 会忽略第一个空格字符后的搜索文本吗?

我使用了很多 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命令)

相关内容