我想在列模式下将从电子表格复制的文本列插入到文本文件中,以便我可以直观地比较两个结果。 例如,如果我有一个像:
这样的文件status = 1
status = 0
status = 2
status = 4
我想插入参考结果
1
-1
2
4
所以我得到:
status = 1 1
status = 0 -1
status = 2 2
status = 4 4
可以吗?
答案 0 :(得分:4)
视觉块是要走的路,但你必须做一些技巧。您从电子表格复制了文本(列),这意味着您在vim的+
寄存器中有许多换行符。 regtype为V
:linewise。
您有两种方法可以实现您的目标:
方式1:首先"+p
,将列粘贴到vim,然后使用visual-block
(ctrl-v)选择并再次将其拉出,并在视觉块选择中粘贴到目的地。 / p>
方式2:调用:call setreg('+',@+,'b')
将regtype更改为block-wise。然后你可以粘贴在visal-block模式。
我更喜欢方式2.
答案 1 :(得分:3)
是的,使用视觉模式。 它可能不是最佳解决方案,但您可以执行以下操作:
转到status = 1
行上的最后一个字符,启动视觉区<C-v>
标记所有4行(3j
),按<S-a>
并按空格键两次。现在你有:
status = 1~~
status = 0~~
status = 2~~
status = 4~~
(~
表示在这里尾随空格)。
立即复制要以可视方框模式插入的文本(<C-v>
,标记所有内容,y
)。
现在,使用可视块模式标记4个最右边的尾随空格(要复制到的位置),然后点击p