1.执行某一条历史命令
1)!! 直接执行上一条命令
2)!序号 执行history中序号指定的命令(中间没有空格!)
3)!-(这是负号!)序号 执行history中倒数下序号指定的命令(中间没有空格!)
3)!?[命令]?或![命令] 执行历史命令中以某个命令开头的命令中的最后一条命令(有点绕,直接看图就好)(中间没有空格!而且不能指定序号)
+)扩展:对某条命令进行扩展,直接在历史命令的基础上增加即可(作为参数使用时,前或后应该有空格= =)
2.改变参数
1)!^ 使用上一条命令中的第一个参数,也可以用!序号^调用
2)!$ 使用上一条命令中的最后一个参数,也可以用!序号$调用
3)!:- 使用上一条命令但删除最后一个参数,也可以用!序号:-调用(用在替换命令中比较方便,比如好几个文件都要替换里边相同的某个字符串)
4)!* 使用上一条命令中的所有参数,也可以用!序号$调用 !序号*调用(通常用在第一个命令打错了,但参数又很长的情况下)
5)![命令名]:[参数号] 使用历史命令中某个命令的某个参数,也可以用!![命令名]:[参数号]$调用(默认以最后一个为参考)
6)!!:gs/old/new 替换上一条命令中的某个参数,也可以用!序号:gs/old/new或![命令]:gs/old/new调用