Bash/zsh 插入历史记录/ctrl-R 内联?

Bash/zsh 插入历史记录/ctrl-R 内联?

bash 和 zsh 中的 Ctrl-R 非常有用。别名也是如此!!- 它扩展到最后一个命令。我经常发现自己cat file | !!在按 Tab 键调整命令之前会执行以下操作:我想在使用时增量搜索我的历史记录!!,但 ctrl-R 似乎只能在空提示符下工作。

有没有办法在行首以外的地方插入历史命令?

尝试过的方法:

我尝试过$(fc -nl | fzf) TAB,但这引用了最后一个命令。我可以使用类似 zle 插件的东西(就像我在)但感觉有点过分了......

答案1

我通常首先使用reverse-search-history(ctrl-r)向后搜索以找到想要的行,然后使用beginning-of-line(ctrl-a)和kill-line (ctrl-k)将该行复制到杀戮环中,然后使用ctrl-C中断以免打扰历史。然后我可以在适当的位置输入我的命令,cat file |然后yank(ctrl-y)最后一次杀死。

如果我已经开始输入命令,我会转到行的开头,添加一个#,然后按 Enter 键将其放入历史记录中,然后返回搜索,并在中断后从历史。

相关内容