我想知道是否有一个功能可以让您获得该命令的历史记录完成(通过按下UP和DOWN),但对于已经输入的参数,这对于sudo
来说非常方便,例如:
$ sudo vim [正在加载]
- >将完成我sudo vim .zshrc
(如果这是我的最后一个命令),但如果我[再次按下]我将完成:
$ sudo ls /
(如果这是我的倒数第二个sudo命令)
但我想要的是完成仅以sudo vim
开头的命令
我希望这是有道理的。
答案 0 :(得分:1)
这听起来类似类似于“鱼”般的建议。这是一个implementation for Zsh。这些事情通常比{-1}}或<div class="hidden" id="test1">
<div class="show" id="test2">test2 - i'm the only one visible!</div>
test1
</div>
<div class="hidden" id="test3">
<div id="test4">test4</div>
test3
</div>
<div class="hidden" id="test5">
<div id="test6">test5</div>
test6
</div>
完成比Up-Arrow。
还有tab
Zsh小部件,它会自动填充你最后输入的类似命令,到目前为止已输入。值得尝试:
Ctrl-D
答案 1 :(得分:0)
这是函数up-line-or-search
的限制。打开man zshzle
并搜索up-line-or-search
。此命令仅使用第一个单词来搜索历史记录。
要在up
/ down
键
autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[[A" up-line-or-beginning-search # Up
bindkey "^[[B" down-line-or-beginning-search # Down
答案 2 :(得分:0)
您可以使用history-beginning-search-backward
小部件。它在历史记录中向后搜索与当前行相同的行开始直到光标位置。您可以替换当前绑定或创建一个新绑定,例如在 Shift Up (在我的机器上映射到^[[a
):
bindkey '^[[a' history-beginning-search-backward
您可能还想绑定history-beginning-search-backward
窗口小部件,以便能够在我的计算机上的历史记录( ShiftDown ,^[[b
)中向两个方向移动:< / p>
bindkey '^[[b' history-beginning-search-forward