经常在阅读一些文档并在终端上进行动手操作时,我想从文档中复制一些命令文本,然后对其进行编辑(例如替换主机名等),然后粘贴它到终端并执行它。我可以使用其他编辑器或当前目录中的临时文件来执行此操作。但是,这个过程很麻烦。我想我已经看到有人用inline
的vim编辑器实现了这一目标。流程是他按了一些快捷键,一个vim编辑器在终端中打开,其中已经有剪贴板中的内容,然后他进行了更改。保存并退出后,内容将显示在终端上。然后他需要做的就是按Enter。不幸的是,我不能问这个人,因为我只是顺便看到了它。我该如何实现?
答案 0 :(得分:2)
您可以将“编辑命令行”绑定到某些键绑定,我认为默认值为
Ctrl-x Ctrl-e
,则可以使用剪贴板寄存器"+p
,甚至可以开始插入模式并键入Ctrl-r +
。保存并退出编辑器后,命令将在您的命令行中。
答案 1 :(得分:1)
您可以为vim定义一个别名,该别名粘贴*
寄存器,并覆盖save命令,以便将其保存到*
寄存器中。但是,有一种更简单的方法。
readline具有vi模式,只需将set editing-mode vi
和set keymap vi-command
添加到您的.inputrc
。
现在,按<ESC>
后,您的阅读行将进入vi模式。 v
打开vim来编辑终端中的实际行。但是对于简单的东西,您甚至都不需要它。您的readline现在接受cw
,dw
,依此类推...(但只有vi命令,没有vim)。
如果您仍然想在终端中使用vi命令,那么这当然只是一个解决方案。但是由于您甚至试图在vi中编辑剪贴板,所以我想您还可以。