2010-04-21 80 views
35

每當我在emacs上編輯文件時,似乎臨時文件是用相同的名稱創建的,附加了〜。有沒有人知道一個快速/簡單的方法來刪除工作目錄中的所有這些文件?如何刪除所有以〜Emacs作結尾的文件

+0

如果您使用git,爲什麼不將它們添加到'.gitignore'文件中?我認爲您也可以在其他VCS中以類似的方式進行操作。 – 2017-08-12 10:45:51

回答

79

刪除當其他的答案在這裏正確地介紹瞭如何刪除這些文件,你應該明白這是怎麼回事。那些以〜爲結尾的文件是備份文件,由Emacs自動創建。他們有時可能會有用。如果你對這些文件感到厭煩並且想要每次刪除它們,那麼你要麼是

(1)。防止備份文件的創建:

(setq make-backup-files nil) 

(2)。讓它將備份文件保存在其他目錄中,除非你去找它們,否則它們不會打擾你。我在.emacs中有以下內容:

(setq backup-directory-alist '(("." . "~/.emacs.d/backup")) 
    backup-by-copying t ; Don't delink hardlinks 
    version-control t  ; Use version numbers on backups 
    delete-old-versions t ; Automatically delete excess backups 
    kept-new-versions 20 ; how many of the newest versions to keep 
    kept-old-versions 5 ; and how many of the old 
) 

(只有第一行是關鍵。)要查看有關backup-directory-alist的文檔,請鍵入C-h v backup-directory-alist

+0

上述命令應該如何輸入?無論是shell還是Meta-x似乎都不適合我...... – 2012-08-20 21:36:47

+1

@OcastaEshu:這應該放在你的'.emacs'配置文件中。 (在Unix上,它在你的主目錄中;我不確定該文件在Windows上的位置)。或者(非永久性的),你可以把它放在任何空的緩衝區中並執行Mx eval-buffer,或者輸入Mx eval-expression並鍵入/粘貼上面的內容。 – ShreevatsaR 2012-08-21 02:58:54

+2

您也可以通過Mx進行所有這些更改 - > customize-group - >備份 – 2013-10-30 23:44:02

5
rm -rf *~ 
+0

這不處理子目錄 – dzen 2010-04-21 06:22:17

+1

您可以通過鍵入M-!來從Emacs中調用上述命令。第一。 – offby1 2010-04-21 15:18:41

26
find . -name '*~' -exec rm {} \; 

編輯:咦......而這個作品,我張貼想rm *~將導致外殼內插~到用戶的主目錄。它沒有,至少在這臺機器上的bash版本 - YMMV,當然。

find有些版本會有-delete選項:

find . -name '*~' -delete 
+0

第二個在Mountain Lion上的mac上運行良好。謝謝。 – pjammer 2013-02-27 16:26:12

+0

'發現。 -name'*〜'-delete'在Ubuntu上工作正常 – 2017-05-29 07:25:50

+0

如何在子目錄中遞歸地執行 – vijayst 2017-06-30 15:53:47

9

你可以只

rm *\~ 

更有效,你可以改變,因此所有這些文件都存儲在一個公共位置emacs的備份目錄,將此添加到您的.emacs中:

'(backup-directory-alist (quote (("." . "/common/backup/path")))) 

other options you can fiddle with

+2

+1提到存儲備份文件的好習慣。 – 2010-04-21 07:12:18

6

從工作目錄:

$ rm *~ 

來自世界各地:

$ cd; find . -name '*~' | xargs rm -f 

從emacs的範圍內,使用dired

C-x C-f . RET ~ x y e s RET 

可以通過添加下面一行到你的〜/的.emacs

(setq make-backup-files nil) 

我不建議這最後一個,因爲emacs的的備份文件有救了我很多次永久禁止備份文件創建這些年來。

+2

+1爲直接的方式。 – 2010-04-21 07:14:10

4

您可以在Emacs中打開該目錄,國旗~所有備份文件,然後用x

2

在eamcs直接模式下:

d將此文件標記爲刪除。

u移除此行上的刪除標誌。

DEL將指針移到上一行並刪除該行上的刪除標誌。

x刪除標記爲刪除的文件。

#:旗所有自動保存文件(文件,文件的名字開始與`#「結尾)爲刪除

〜:旗所有備份文件(文件名以'結尾〜」)爲刪除

&:用於刪除具有特定類型名稱的所有文件的標誌,建議您可以再次輕鬆創建文件的名稱

。 :標記多餘的數字備份文件以進行刪除。任何一個文件的最舊和最新的少數備份文件是免除的;中間的人被標記。

%d regexp RET:標記刪除名稱與正則表達式正則表達式匹配的所有文件。

+0

使用創建它的軟件刪除這些文件是有意義的。我不喜歡'rm'方法,這很容易出錯。 – smonff 2015-09-18 10:33:04

相關問題