*扩展* 命令的 Shell 历史记录

*扩展* 命令的 Shell 历史记录

有没有办法获取我最近运行的命令行的实际扩展内容?我指的是文字“ argv”,而不是参数扩展和类似步骤之前的文本。

就我而言,我使用的是 zsh,但如果 shell 和终端仿真器的任何组合都支持它,我会很感兴趣。

这个问题的灵感来自于陣陣

答案1

zsh-自动建议正是您要找的。

答案2

我不确定如何扩展已经进入历史记录的命令,但我写了一个函数通过 fzf 选择任何文件并将它们传递给您想要的任何程序(GUI 或命令行工具)(您也可以在stackoverflow 上的回答)。我这样做的目的是,当你循环浏览历史记录并找到 fzf 执行完操作后展开的命令时。我每天都会用到它很多次,主要是用来更改目录或打开文件。

我将该函数称为“f”,因此如果您想使用行号(-b)和换行符(-E)来 cat 一个文件,您可以执行以下操作:

f cat -bE

或者

f cat -b -E

然后按回车键。FZF 启动,您选择的任何文件都将作为参数传递。

然后,当您返回命令历史记录时,您会看到:

cat -bE '/home/mattb/todo/README.md'

代替:

f cat -bE

相关内容