Vim:水平连接2列文本

时间:2018-08-30 04:13:46

标签: vim

说我有一个文件

a
b
c

还有另一个我

1
2
3

我可以在Vim中(或通常在shell中)以某种方式将第二个复制到第一个中以获得

a 1
b 2
c 3

3 个答案:

答案 0 :(得分:3)

按照以下vim中的逐步方法来实现。

  1. 打开第一个包含
    的文件 一个
    b
    c
  2. 打开包含第二​​个文件
    1
    2
    3
  3. 在第二个文件中,对于Windows gVim,通过键入 Ctrl + q (垂直选择模式)进入垂直选择,如果在其他操作系统中,则进入 Ctrl + v (垂直选择模式)。选中所有行后,按 y 即可提取内容。
  4. 转到第一个文件,然后在a后转到第1行,然后键入 p 粘贴内容。您将获得所需的内容。

答案 1 :(得分:2)

使用此:

vi file2 file1

ctrl + v

选择所有带有向下箭头的列,然后在命令模式下击 y ,然后在命令模式下击:n 。< / p>

在第二个文件第1行中,在 edit模式中添加两个空格,然后在 command模式

中按 p

答案 2 :(得分:2)

在shell上使用它:

paste file1 file2 | sed 's/\t/ /' >> outputfile

如果删除sed部分,则输出文件将具有制表符分隔的值。