使用vim编辑剪贴板中的内容,然后将其放入命令行以执行

时间:2019-02-28 04:09:47

标签: vim command-line terminal

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

您可以为vim定义一个别名,该别名粘贴*寄存器,并覆盖save命令,以便将其保存到*寄存器中。但是,有一种更简单的方法。

readline具有vi模式,只需将set editing-mode viset keymap vi-command添加到您的.inputrc

现在,按<ESC>后,您的阅读行将进入vi模式。 v打开vim来编辑终端中的实际行。但是对于简单的东西,您甚至都不需要它。您的readline现在接受cwdw,依此类推...(但只有vi命令,没有vim)。

如果您仍然想在终端中使用vi命令,那么这当然只是一个解决方案。但是由于您甚至试图在vi中编辑剪贴板,所以我想您还可以。