我有这个文件
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
~
~
我想在 DVB 应用程序之后的块中输入描述(复制和粘贴):所以结果如下
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps: Bla bla,description bla bla bla
dvb-apps: Bla bla,description bla bla bla
dvb-apps: Bla bla,description bla bla bla
dvb-apps: Bla bla,description bla bla bla
dvb-apps:
dvb-apps:
如果我使用控制台中的标准粘贴,我会得到
dvb-apps: Bla bla,description bla bla bla
Bla bla,description bla bla bla
Bla bla,description bla bla bla
Bla bla,description bla bla bla
dvb-apps:
dvb-apps:
dvb-apps:
如何粘贴到块中?
答案1
像您一样将内容复制到 vim 中的文档中,大概是在 X 中使用鼠标中键,使用插入模式,但在单独的行上。
然后转到新插入的第一行的第一列,并进入可视块模式,CTRL+v
您可以在其中选择内容。这里唯一的问题可能是不同的行长度,有时很难选择视觉块中的整个内容。您可能必须首先在最后一行添加一些空格,以便能够选择所有行的所有列。
完成此操作后,d
按删除键,导航到第一个目标行的正确列并使用 粘贴p
。
或者,执行任务但不是问题的实际解决方案,要求在 vim 中执行,将创建两个单独的文件:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
dvb-apps:
~
和
布拉布拉,描述布拉布拉布拉 布拉布拉,描述布拉布拉布拉 布拉布拉,描述布拉布拉布拉 布拉布拉,描述布拉布拉布拉 ~
然后使用
paste <FILE1> <FILE2> > <OUTPUTFILE>
将两个文件放在一起。
答案2
和我的无条件粘贴插件,您可以强制粘贴分块,这就是您想要的。因此,不要进入插入模式并使用鼠标中键粘贴(我想您已经完成了),而是将寄存器"*
与插件的gbp
映射一起使用。
答案3
如果您有xclip
(sudo apt-get install xclip
或类似的),您可以使用 . 从命令行访问系统(即 Xorg)剪贴板xclip -o
。这样,您可以!paste - <(xclip -o)
将键映射(例如<LEADER>p
)定义为:
:map <LEADER>p .,$!paste - <(xclip -o)<NL>
并用于<LEADER>p
粘贴当前 X 剪贴板内容。
<LEADER>
默认为\
(因此在上面的示例中将\p
执行粘贴命令),但可以更改为任何内容,-
例如,通过:let mapleader="-"
.