Vas*_*ass 76 command-line bash command-history
我使用 !n 其中 (n) 是在我想在命令提示符下执行的历史文件中执行一行的行号,我通过 history|less 找到。
但是有一个命令行历史事件我希望手动修改。如何在命令行中插入历史事件内容而不实际执行,以便我可以修改然后按回车?
最好的事物,
Gil*_*il' 93
要请求在历史替换后打印命令而不是执行命令,请添加:p 修饰符,例如!42:p. 生成的命令也将输入到历史记录中,因此您可以按Up进行编辑。
如果您设置了histverify 选项( shopt -s histverify),您将始终有机会编辑历史替换的结果。
该fc内置给人以历史扩展(无字标志)的机会有限,并且让你在外部编辑器中编辑以前的命令。
您可以使用!prefix来引用以 开头的最后一个命令prefix,也可以使用引用以 开头!?substring的最后一个命令substring。当您知道要查找的内容时,这可以节省大量时间history | less。
搜索以前的历史记录的另一种方法是增量搜索:按Ctrl+R并开始输入您要查找的内容的子字符串。按Ctrl+R去搜索字符串的前面occurence到目前为止和Ctrl+S如果你已经走得太远了。比其他大多数键Ctrl+ R,Ctrl+ S,Backspace和普通字符终止增量的搜索,并具有其通常的影响(如箭头键移动光标,你已经达到了线,Enter运行该命令)。
Rah*_*til 18
另一个小:Alt+#
注释掉当前行并将其移动到历史缓冲区中。
因此,当您组装命令行并且需要发出临时命令来例如查找文件时,您只需点击Alt+ #,发出另一个命令,进入历史记录,取消注释并继续。
您可以在按 Enter 键之前使用魔法空间来扩展历史记录。在您的 .inputrc 中,将空间映射到魔法空间:
$if Bash
Space: magic-space
$endif
Run Code Online (Sandbox Code Playgroud)
现在,每当您在历史规范后键入一个空格时,它都会立即展开 - 如果您想编辑它也很方便!
| 归档时间: |
|
| 查看次数: |
25781 次 |
| 最近记录: |