什么是bash中的“<Esc>Kv”

Ren*_*ger 13 bash keyboard-shortcuts vi

当我在 bash 中并按Esc, Shift+ K, 时V,bash 会$EDITOR以类似于/tmp/bash-fc-186566385.

为什么会这样,它的目的是什么?

我可能需要提到我正在使用 .bash 运行 bash set -o vi。

cof*_*Mug 12

你不需要Shift+ k。使用Esc+v将起作用,因为您允许使用内置 vi 编辑器进行 shell 命令行编辑set -o vi(同样可以使用 Ctrl+ x+ 实现e)。这相当于执行fc对操作历史列表和历史文件有用的内置命令。它将调用在您的$EDITOR(否则,您的 shell 的默认编辑器)中设置的任何编辑器来编写一个长的、棘手的或复杂的命令,然后在保存和关闭编辑器后执行它们。有关fc命令的详细信息,请参见此处:Bash history builtins。


for*_*are 10

这允许您构建具有完整 Vi 编辑功能的命令。如果您输入一些命令并保存退出,:wq这些命令将被运行。

澄清:它允许您在您设置的任何编辑器中构建命令$EDITOR,当您保存并退出时,内容将运行。(澄清这不仅仅是 Vi!)

此外,正如RealSkeptic所指出的,shift+K组合不需要调出编辑器。简单地说esc,V会。

  • 也 Ctrl-x + e (如果您不在 vi 模式下) (3认同)
  • 编辑器模式不是可以通过escape-V来访问吗?那里的“shift-K”似乎只是伏都教。 (2认同)