oh-my-zsh 歷史記錄完成

oh-my-zsh 歷史記錄完成

我最近切換到 zsh,使用羅比羅塞爾的oh-my-zsh。在此之前,我將 bash 與許多自訂內容一起使用,但我只錯過了一件事,因為 zsh 試圖變得「太聰明」:

如果我輸入git commit,然後zsh 會瀏覽所有最近的git命令。不過,我真正想要的是瀏覽所有以git commit(而不僅僅是git)開頭的命令。

我怎樣才能在 (oh-my-)zsh 中實現這種行為?

答案1

我在中找到了解決我的問題的方法ZSH 文檔。 Oh-my-zsh 似乎將鍵映射到類似的東西

bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward

這會產生我上面描述的確切行為。 ZSH 文件將行為描述history-search-backward

在歷史記錄中向後搜尋以緩衝區中的第一個字



我想要的是以下映射,我將其插入到我的~/.zshrc

bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward

的行為history-beginning-search-backward如下:

在歷史記錄中向前搜尋一行從目前行開始到遊標處。這會將遊標保留在其原始位置。

另外,如果\e[A向上或向下箭頭不起作用,請<ctrl-v><KEY (e.g., up arrow)>按另一個給定的終端^[OA。然後你就可以用它來代替\e[A.過程描述如下:http://zshwiki.org/home/zle/bindkeys

答案2

oh-my-zsh我希望 zsh 具有與已安裝並找到的插件相同的行為history-substring-search

我透過將插件添加到我的~/.zshrc

plugins=(git brew npm history-substring-search)

我猜這個問題提出時這個插件還不存在。只是實現相同目標的另一種方法。

相關內容