写入临时缓冲区的 Bash 命令

写入临时缓冲区的 Bash 命令

我记得不久前运行过这个命令,尽管我不记得该命令本身。我记得,您运行该命令,它将创建一个临时缓冲区,然后由默认编辑器(vim)对其进行编辑,并在关闭缓冲区时执行该命令。

例如:

$ <buffer edit command>
~ # Write bash temp script
~ for i in *; do
~     echo $i
~ done
$ file1
$ file2
$ file3
$ ...

有谁知道这个命令是什么?这就像只在 vim 中编写 bash 脚本而不保存文件并运行它一样。

答案1

您想将一些组合键绑定到edit-and-execute-command.我用:

bind '"\C-e": edit-and-execute-command'

在我的~/.bashrc。当我按下 Ctrl-e 时,它​​会调用$EDITOR并让我编辑该命令。当我保存并退出时,它会执行编辑的命令。

答案2

如果您运行set -o vi(或将其放在您的 中~/.bashrc),则v在正常模式下按(即按,Esc然后按v)将调出一个缓冲区,如您所描述的。

相关内容