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 键将其放入历史记录中,然后返回搜索,并在中断后从历史。