我经常发现自己盯着终端上打印的字符串,我需要在命令中使用它,但不想移动鼠标来复制/粘贴它。
我想知道zsh
iTerm 是否支持任意自动完成,从终端缓冲区中的任意字符串(不一定是我输入的内容,可能是打印的内容)。
我知道它一定存在(我知道我不是唯一的键盘狂),但我找不到它。我所能找到的只是目录、文件或特定命令(如 git)的自动完成器。
答案1
我不确定我是否理解正确,但如果该字符串通过上一个命令输出到终端,那么这可能会有所帮助:
zmodload -I zsh/parameter
insert-last-command-output () {
LBUFFER+="$(eval $history[$((HISTCMD-1))])"
}
zle -N insert-last-command-output
bindkey '^[x' insert-last-command-output
将其放入你的 zshrc 中。ALT-x
现在将把最后一个命令的结果插入到你的命令行中。
答案2
在 iTerm 中找到它新用户须知。
任意自动完成CMD+;