在Emacs中连接多个文件

5
有没有一种快速(自动)的方法,可以使用emacs将目录中的所有文件合并成一个长文件呢?例如:
>Text_1.txt

>{contents of Text_1}

>Text_2.txt

>{contents of text2}


>FinalResult.txt
>{contents of Text_1
>contents of Text2}
2个回答

5
这个怎么样:
(defun insert-my-files ()
  (interactive)
  (let ((dir (read-directory-name "Directory to insert: ")))
    (mapc #'(lambda (file) 
              (let ((file-full (concat dir file)))
                (insert-file-contents file-full)))
          (cddr (directory-files dir)))))

使用命令 M-x insert-my-files,它将插入您提供的目录内容。


我在read-directory-name前面添加了file-name-as-directory,因为我第一次尝试使用此函数时粘贴的目录名称没有正斜杠,导致出现错误,因为该函数预计目录名称以正斜杠结尾。 - lawlist

3

我不知道是否可以称之为快速方法,但是insert-file可以用于将文件插入到现有缓冲区中。

对于你所说的特定情况,最快的方式可能是通过命令行:cat * > FinalResult.txt


不确定为什么您的编辑被拒绝了,但我已按照您的建议更正了我的代码。谢谢! - Tyler

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