用sudo完成zsh历史记录
我想知道是否有一个功能可以让命令和已经输入的参数完成历史记录(通过上下键),这对用sudo完成zsh历史记录,zsh,zsh-zle,Zsh,Zsh Zle,我想知道是否有一个功能可以让命令和已经输入的参数完成历史记录(通过上下键),这对sudo非常方便,例如: $sudo vim[向上按] -->将完成我的sudo vim.zshrc(如果这是我的最后一个命令),但如果我再次[按向上]我将完成: $sudo ls/ (如果这是我倒数第二个sudo命令) 但我想要的是只完成以sudovim开头的命令。 我希望这是有道理的 这听起来像是“鱼”一样的建议。这是一个例子。与向上箭头相比,此类操作更倾向于tab或Ctrl-D完成 还有一个predict on
sudo
非常方便,例如:
$sudo vim[向上按]-->将完成我的sudo vim.zshrc
(如果这是我的最后一个命令),但如果我再次[按向上]我将完成:
$sudo ls/
(如果这是我倒数第二个sudo命令)
但我想要的是只完成以sudovim
开头的命令。
我希望这是有道理的 这听起来像是“鱼”一样的建议。这是一个例子。与向上箭头相比,此类操作更倾向于tab
或Ctrl-D
完成
还有一个predict on
Zsh小部件,它将自动填充您上次输入的类似命令。值得尝试:
% autoload predict-on; predict-on
这是功能上线或搜索的限制。打开manzshzle
并搜索上行或搜索。此命令仅使用第一个单词搜索历史记录
在向上
/向下
键上进行“全行”搜索
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
您可以使用历史开始向后搜索
小部件进行此操作。它在历史记录中向后搜索与当前行具有相同开头的行,直到光标位置。您可以替换当前绑定或创建新绑定,例如在ShiftUp上(在我的机器上它映射到^[[a
):
您可能还希望绑定历史开始向后搜索
小部件,以便能够在历史中双向移动(ShiftDown,^[[b
在我的机器上):
这不是“sudo”独有的功能。这是功能上行或搜索
的限制。打开man zshzle
并搜索上行或搜索
。此命令仅使用第一个单词搜索历史。
bindkey '^[[a' history-beginning-search-backward
bindkey '^[[b' history-beginning-search-forward