合并两个Emacs缓冲区?

8
给定两个独立的emacs缓冲区,如何通过连接每个缓冲区的第一行,然后是第二行等等来合并它们?我可能需要在缓冲区#1中的每一行后面添加一个空格,以免出现“a b1 2”的情况,例如。
缓冲区#1
a b
a c
c x
缓冲区#2
1 2
5 4
3 2
结果
a b 1 2
a c 5 4
c x 3 2
4个回答

15

您应该能够使用矩形来完成此操作。只需复制缓冲区2的内容,然后使用矩形粘贴(C-x r y)将它们插入到缓冲区1中,在第一行中'b'的右边一个空格处放置光标。


5

使用M-x 2C-associateM-x 2C-merge进行操作。您可能需要使用C-h v 2C-windows-widthM-x 2C-shrink-window-horizontal来调整窗口宽度。


1
总有新的东西等待我们去发现 :) - phils
虽然问题中的简单示例更容易使用矩形处理,但2C-merge具有不需要手动处理长行的显著优点,这可能使其成为更健壮的答案。它还可以与缓冲区缩小完全契合,这非常好。 - phils

4

我通常使用 'paste' 工具处理这类应用程序(不过没有 Emacs..)。如果你使用的是 Linux,它应该默认可用。

操作非常简单:

$ paste file1 file2 > file3

该命令将按照您的要求合并两个文件'file1'和'file2'到输出文件'file3'中。默认情况下,使用TAB作为列分隔符,但可以通过“-d”选项进行更改。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接