VIM 如何将四行合并为两行两列?

VIM 如何将四行合并为两行两列?

假设您有以下包含两行的数据集

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

博客文章,步骤一般为:

  1. Ctrl + V 进入列模式
  2. 选择要输入文本的列和行
  3. Shift + i 在列模式下进入插入模式
  4. 输入您要输入的文本。不要因为只有第一行被更改而灰心。
  5. Esc 应用更改(或按 Ctrl+c)

就像声明的那样在文档中,如果你使用的是 Windows 或者将 ctrl-v 映射到其他东西,你也许可以使用Ctrl-Q反而

答案2

这第一步并不总是必要的,但由于您想要在列之间添加空格并且文本中没有相应的空格,因此将“virtualedit”设置为“all”:

:set ve=all

接下来,将光标移动到要移动的文本的左上列并输入

Ctrl-V$

其中 Ctrl-V 表示CtrlV,然后将光标向下移动到要复制的文本的最后一行并键入y以提取或d以删除它。

现在将光标移动到 的右侧(就您而言),然后a输入p

相关内容