【发布时间】:2023-03-06 18:16:02
【问题描述】:
给定两个单独的 emacs 缓冲区,我如何通过连接每个缓冲区的第一行,然后是第二行等来组合它们?例如,我可能需要在缓冲区 #1 中的每一行之后添加一个空格,这样我就不会以“a b1 2”结尾。
缓冲区 #1
一个 一个 c x缓冲区#2
1 2 5 4 3 2结果
乙 1 2 一个 c 5 4 c x 3 2【问题讨论】:
给定两个单独的 emacs 缓冲区,我如何通过连接每个缓冲区的第一行,然后是第二行等来组合它们?例如,我可能需要在缓冲区 #1 中的每一行之后添加一个空格,这样我就不会以“a b1 2”结尾。
缓冲区 #1
一个 一个 c x缓冲区#2
1 2 5 4 3 2结果
乙 1 2 一个 c 5 4 c x 3 2【问题讨论】:
您应该可以使用rectangles 来执行此操作。只需复制缓冲区 2 的内容,然后将它们矩形拉出 (C-x r y) 到缓冲区 1,点在第一行中 'b' 右侧的一个空格。
【讨论】:
使用M-x 2C-associate 和M-x 2C-merge。您可能想使用C-h v 2C-windows-width 或M-x 2C-shrink-window-horizontal.
【讨论】:
2C-merge 具有相当大的优势,不需要您手动处理长行,这可能使其成为更可靠的答案。它还可以完全按照您希望的缓冲区缩小工作,这很棒。
对于此类应用程序,我通常使用“paste”工具(虽然没有 Emacs..)。如果您使用的是 Linux,它应该默认可用。
很简单:
$ paste file1 file2 > file3
这将按照您要求的方式将两个文件“file1”和“file2”合并到输出“file3”中。默认情况下,TAB 用作列分隔符,但这可以通过“-d”选项进行更改。
【讨论】:
如果您不介意在 emacs 之外进行合并,您可以保存这两个文件,然后使用 awk 将它们合并。
看这个例子:http://www.linuxquestions.org/questions/linux-newbie-8/awk-question-331224/#post1682282
【讨论】: