我有 2 个文件
文件1.txt
a =
b =
文件2.txt
1
2
我可以使用 gvim 合并它们以便输出如下所示:
a = 1
b = 2
答案1
拉出垂直块:例如,选择 中的行,file2.txt
用CTRLv拉出,然后在移动到中y第一行的末尾后粘贴。file1.txt
p
如果您vim
在 GNU 堆栈上运行,您也可以使用该paste
程序执行相同操作。用于-d
指定在文件中的字段之间使用什么分隔符。
paste -d "" 1 2 > merged.txt
答案2
如果你使用的是 Unix 或 Linux,只需使用粘贴命令:
:%!粘贴 - 文件2.txt
这也适用于经典 vi,或者直接从命令行:
$ 粘贴 文件1.txt 文件2.txt >out.txt
希望这可以帮助
答案3
也可以与纯 vim 一起使用:
% vim -O file1.txt file2.txt # open both files vertically splitted
然后在 file1.txt 中将该块拖放到一个命名的寄存器中,比如说‘a’:
- gg转到文件开头
- ctrlv去选择块模式
- G转到最后一行
- $转到最后一行的最后一个字符
- "ay拉出以注册“a”
然后切换到 file2.txt 并执行:
- gg转到文件开头
- "aP将寄存器‘a’的内容粘贴到文本之前
答案4
您还可以在 Linux 上使用命令 :read 将一个文件的文本粘贴到另一个文件中,例如:
无论是哪种情况,首先用 vim 打开一个文件,然后定位到文件的某个部分并执行:
:读取文件1.txt
或者
:读取!cat file1.txt
它对于合并两个或多个文件的内容非常有用......