假设您有以下包含两行的数据集
a
b
如果你想粘贴另一列,
c
d
如何粘贴该数据集以生成以下内容
a c
b d
或者,连续粘贴它们(如下所示),然后合并它们以产生上面的内容
a
b
c
d
这个问题来自于一个 PDF 文件的复制,该文件显示为两列,但复制为一列(右列仅仅附加到左列)。
答案1
Vim 有列编辑模式。Stack Overflow 上对此进行了回答:https://stackoverflow.com/questions/6971903/how-to-do-column-editing-in-vim
从博客文章,步骤一般为:
- Ctrl + V 进入列模式
- 选择要输入文本的列和行
- Shift + i 在列模式下进入插入模式
- 输入您要输入的文本。不要因为只有第一行被更改而灰心。
- Esc 应用更改(或按 Ctrl+c)
就像声明的那样在文档中,如果你使用的是 Windows 或者将 ctrl-v 映射到其他东西,你也许可以使用Ctrl-Q反而
答案2
这第一步并不总是必要的,但由于您想要在列之间添加空格并且文本中没有相应的空格,因此将“virtualedit”设置为“all”:
:set ve=all
接下来,将光标移动到要移动的文本的左上列并输入
Ctrl-V$
其中 Ctrl-V 表示CtrlV,然后将光标向下移动到要复制的文本的最后一行并键入y
以提取或d
以删除它。
现在将光标移动到 的右侧(就您而言),然后a
输入p
。