Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm new to Unix. Whenever I exit the Emacs editor after editing a file say foo.c by pressing CTRL+X+C, I see a new file automatically created called ~foo.c. What is it and why is it automatically created?

Please help me... Thank you!

share|improve this question

migrated from stackoverflow.com Jan 23 '11 at 21:16

This question came from our site for professional and enthusiast programmers.

    
Hi Joe, Welcome to stack overflow. This question is off-topic here, because it's not programming related. In a few minutes it will be closed. You will have much better luck if you ask this quest at SuperUser.com or Unix.stackexchange.com –  Alan Jan 23 '11 at 21:12
    
The file would be named foo.c~ not ~foo.c. –  Slomojo Jan 23 '11 at 23:24
    
@Alan: It is not a good idea to recommend people to repost their questions on a different site. After it is closed it will be migrated automatically. –  Wuffers Jan 24 '11 at 0:27
    
@Mark: Thanks, I knew that stack use to do that, but the text for "Off Topic Close" no longer mentions it, so I wasn't sure, but now I know for certain! –  Alan Jan 24 '11 at 1:41

5 Answers 5

You can disable backups, but that's a bad idea for obvious reasons. If you dislike seeing them alongside the current file, you can tell Emacs to store them somewhere else.

I use the following in my ~/.emacs.d/init.el file:

;; Write backups to ~/.emacs.d/backup/
(setq backup-directory-alist '(("." . "~/.emacs.d/backup"))
      backup-by-copying      t  ; Don't de-link hard links
      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
share|improve this answer

They are backup files, so you can roll back to the previous version of the file if you need to.

If they bother you, just clean them up periodically with:

find . -name "*~" -depth 1 -delete

This will clear all the *~ files found in the current directory, remove -depth 1 if you want to clean them recursively in all sub-directories too, of course, any file ending with ~ will get killed, so apply caution.

Of course, you can tell Emacs to stop making them if you want, just add this line to your .emacs file.

(setq make-backup-files nil) ;; do not make backup files
share|improve this answer

What you're seeing is a temporary file created when editing the file.

The proper way to save and exit in emacs is Ctrl-x Ctrl-c (I don't believe you let go of Ctrl in between the x and c) Please see here for more emacs help.

share|improve this answer
1  
Since we're correcting the use of Ctrl+XC (which I'm sure the OP meant to mean Ctrl for both) - C-x C-c is the proper notation, also this just closes Emacs, it doesn't save and close. You need to do C-x C-s, C-x C-c to save and close. –  Slomojo Jan 23 '11 at 23:12
    
There is no need to let go of Ctrl while doing C-x C-c. –  Rene Saarsoo Jan 26 '11 at 23:28

This is a backup file created automatically by emacs. Don't worry.

share|improve this answer

When you save a file in Emacs, it automatically creates a backup file (what the file looked like before editing) with the “~” prefix.

If you don’t want this, see: http://www.rpi.edu/dept/acs/rpinfo/common/Computing/Consulting/Software/Emacs/Hints/backup.html

share|improve this answer
    
I would expect backup file names of the format foo.c~. Has it been changed lately? –  maxelost Jan 23 '11 at 23:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.