使用vim编辑什么';在将其放在要执行的命令行上之前,请先将其放在剪贴板中

使用vim编辑什么';在将其放在要执行的命令行上之前,请先将其放在剪贴板中,vim,command-line,terminal,Vim,Command Line,Terminal,通常,当我阅读一些文档并在终端中进行实践时,我希望从文档中复制一些命令文本块,然后编辑它(例如替换主机名等),然后将其粘贴到终端并执行它。我可以使用另一个编辑器或当前目录中的临时文件来执行此操作。然而,这个过程很麻烦。我想我已经看到有人通过某种程度上的inlinevim编辑器实现了这一点。流程是,他点击一些快捷键,一个vim编辑器在终端中打开,其中的内容已经在剪贴板中,然后他进行更改。保存并退出后,内容将显示在终端上。他需要做的就是按回车键。不幸的是,我不能问这个人,因为我只是顺便看到的。如何实

通常,当我阅读一些文档并在终端中进行实践时,我希望从文档中复制一些命令文本块,然后编辑它(例如替换主机名等),然后将其粘贴到终端并执行它。我可以使用另一个编辑器或当前目录中的临时文件来执行此操作。然而,这个过程很麻烦。我想我已经看到有人通过某种程度上的
inline
vim编辑器实现了这一点。流程是,他点击一些快捷键,一个vim编辑器在终端中打开,其中的内容已经在剪贴板中,然后他进行更改。保存并退出后,内容将显示在终端上。他需要做的就是按回车键。不幸的是,我不能问这个人,因为我只是顺便看到的。如何实现这一点?

您可以为vim定义一个别名,用于粘贴
*
寄存器,并覆盖save命令,使其保存到
*
寄存器。然而,有一个更简单的方法

readline有一个vi模式,只需将
设置编辑模式vi
设置键映射vi命令
添加到
.inputrc

现在,只要按下
,您的读线就处于vi模式
v
调出vim来编辑终端中的实际线路。但对于简单的东西,你甚至不需要它。您的readline现在接受
cw
dw
等等。。。(但只有vi命令,没有vim)

当然,这只是一个解决方案,如果您希望在终端中使用vi命令的话。但是,由于您甚至试图在vi中编辑剪贴板,我想您可以接受。

您可以将“编辑命令行”绑定到一些键绑定,我认为默认设置是
Ctrl-x Ctrl-e
然后您可以使用剪贴板寄存器
“+p
,甚至可以开始插入模式并键入
Ctrl-r+
。保存并退出编辑器后,命令将出现在您的命令行中