当我在 bash 中并按Esc, Shift+ K, V, bash 时,会启动$EDITOR
一个类似于/tmp/bash-fc-186566385
.
这是为什么?其目的是什么?
我可能需要提到我正在运行 bash set -o vi
。
答案1
你不需要Shift+ k。使用Esc+v可以工作,因为您允许使用内置 vi 编辑器进行 shell 命令行编辑(使用+ +set -o vi
也可以实现同样的效果 )。这相当于执行内置命令,该命令对于操作历史列表和历史文件很有用。它将调用您设置的任何编辑器(否则,您的 shell 的默认编辑器)来编写长的、棘手的或复杂的命令,然后在保存并关闭编辑器后执行它们。有关命令的详细信息请参见此处:Ctrlxefc
$EDITOR
fc
Bash 历史内置函数。
答案2
这允许您构建具有完整 Vi 编辑功能的命令。如果您输入一些命令并保存退出,:wq
这些命令将被运行。
澄清:它允许您在设置的任何编辑器中构造命令$EDITOR
,当您保存并退出时,内容将被运行。 (澄清这不仅仅是 Vi!)
另外,正如指出的真正的怀疑论者,不需要shift+组合来调出编辑器。K简单地说esc,V会。