结合两个Emacs缓冲区?

时间:2011-10-25 14:35:53

标签: emacs elisp

给定两个单独的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 个答案:

答案 0 :(得分:15)

您应该可以使用rectangles来执行此操作。只需复制缓冲区2的内容,然后将矩形框(C-x r y)复制到缓冲区1中,第一行的“b”右边有一个空格。

答案 1 :(得分:5)

使用M-x 2C-associateM-x 2C-merge。您可能希望使用C-h v 2C-windows-widthM-x 2C-shrink-window-horizontal.

答案 2 :(得分:4)

我通常使用'paste'工具来处理此类应用程序(尽管没有Emacs ..)。如果您使用的是Linux,则默认情况下应该可用。

这很简单:

$ paste file1 file2 > file3

将你要求的方式将两个文件'file1'和'file2'合并到输出'file3'中。默认情况下,TAB用作列分隔符,但可以通过“-d”选项更改。

答案 3 :(得分:0)

如果你不介意在emacs之外进行组合,你可以保存这两个文件,并使用awk组合它们。

请看这个例子:http://www.linuxquestions.org/questions/linux-newbie-8/awk-question-331224/#post1682282