我有两栏充满文字,我想让它们并排。例如,我有
abc
def
ghi
和
123
456
789
而且我要
123 abc
456 def
789 ghi
我所能找到的就是如何将同一行粘贴到列中每一行的末尾。我不知道如何在另一列的末尾粘贴多行文本块。
Answers:
使用可视块(ctrl-v
)剪切字母列。然后移至数字列的第一行。移至末尾并留出一个空格。然后粘贴字母列。
y
和p
,如果你没有指定一个特别的用"
。
我想知道为什么“可视块模式”对我不起作用。关键是在可视模式下拉动(或删除)。
我发现自己需要从具有可变长度的excel列中复制一些内容。这是我的方法:
Names
Donald Knuth
Sebastian Thrun
Peter Norvig
Satoshi Nakamoto
Age
100
50
60
45
假设您想将第二列放在第一列之后。
Age
Ctrl + v
即可进入视觉模式5
在45
y
即可拉动(或d
删除)您现在已在可视模式下拉动。
粘贴(在正常模式下)
移至第一行的末尾并添加更多空格,因为它比第二行短。如果粘贴“块”而不添加额外的空格,它将覆盖Sebastian Thrun中的“运行”。
现在您在第一行,在最后一个字符之后插入一些空格。确保您未处于插入模式,然后单击p
以粘贴该块。(如果要以插入模式粘贴,请使用ctrl+r "
)
ctrl+r "
无法按说明进行。那应该是吗?
:registers
并查看其中的内容。如果您确实有某些东西在下"
,您可能正在打字ctrl+r '
(请确保您掌握了班次)
1\n100\n1
,最后0
一个100
将丢失。
set clipboard^=unnamed
在vimrc
macOS和Vim之间自动共享剪贴板,那么这将不起作用。设置了该选项后,它将始终将内容粘贴为单列,而删除该选项后,粘贴将如上所述进行。
如果您使用的是Mac,并且无法弄清楚粘贴为何将换行插入新行,那是因为您使用的是系统粘贴板。
没问题,只是用缓冲区拉动/粘贴:
letter
缓冲区letter
缓冲区粘贴确保letter
不是,+
因为它不是系统粘贴板缓冲区,因此将具有相同的效果。
+
注册,不要让其p
粘贴列。
这看起来似乎很明显,但是如果您是从外部复制的缓冲区中粘贴,则仅凭视觉模式粘贴将无法正常工作。您可以做的是首先使用上述方法在空白区域中进行常规粘贴并垂直剪切/粘贴。
*
寄存器实际上是寄存器,这意味着系统剪贴板。