2013-08-20 124 views
4

是否有一種快速(自動)的方式來使用emacs從目錄中的所有文件創建一個長文件? IE在emacs中連接多個文件

>Text_1.txt 

>{contents of Text_1} 

>Text_2.txt 

>{contents of text2} 


>FinalResult.txt 
>{contents of Text_1 
>contents of Text2} 

回答

4

如何:

(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調用它,它會插入您提供的目錄內容。

+0

謝謝你做到了。 – LinkReincarnate

+0

我在'read-directory-name'前面添加了'file-name-as-directory',因爲我第一次嘗試使用這個函數時會粘貼一個目錄名而沒有正向結尾的斜槓,這會產生一個錯誤,因爲這個函數會考慮到目錄名以正向結尾斜線結尾。 – lawlist

2

我不知道,如果你把它的快捷方式,但insert-file可以用來插入一個文件到已有的緩衝區。

對於你雖然談論的特定情況下,以最快的方式可能是通過命令行:cat * > FinalResult.txt

+0

不確定編輯被拒絕的原因,但我已按照您的建議糾正了我的代碼。謝謝! – Tyler