Answers:
!1255:p
会做这个
!
是历史记录回忆
1255
是行号
:p
打印但不执行
然后,您可以使用向上箭头将先前的(未执行的)命令取回,并可以根据需要进行更改。
我经常将此与hg
我最喜欢的别名(“ History Grep”)结合使用。
$ alias hg # Maybe use hgr instead if you are a Mercurial CLI user.
alias hg='history | tail -200 | grep -i'
不论大小写,都会在最近的历史记录行中搜索文本,并以这种方式使用:
当我想搜索最近的vi命令来编辑某个文件时,然后我想重用其中一个命令来编辑相同的文件但具有不同的文件扩展名。
$ hg variables
6153 vi Variables/user-extensions.js
6176 vi Variables/user-extensions.js
6178 vi Variables/user-extensions.js
6190 vi Variables/user-extensions.js
6230 hg variables
$ # Notice the difference in case with V and v is ignored
$ !6190:p
vi Variables/user-extensions.js
$ ["up-arrow"]
$ vi Variables/user-extensions.[now change .js to .html]
我还定义了hga
“全部历史记录Grep”以搜索我的整个历史记录:
$ alias hga
alias hga='history | grep -i'
但是我用的不多,因为我的历史记录(故意)非常大,并且输出太多,以后影响到终端中的后退页面。
hg
也是Mercurial的CLI。
在bash Ctl+alt+e
中进行外壳扩展,因此键入!1255
然后按此组合会将当前行替换为历史记录条目1255的内容
man bash
为shell-expand-line
。也许为gnome-terminal设置了快捷方式。