Gedit and medit are two text editors that I know of that allow me to save a backup. So, if I create a file called temp.txt the next time I edit it and then save it, I'll have a backup called temp.txt~.My question is this: is there a text editor that allows me to have backups named in a serial fashion so that I can have more than just the one backup in case I want to go back to the file as it existed a few revisions ago?   For example, I'd have temp.txt as the latest version and temp.bak.1, temp.bak.2, etc.?If that is not possible, is there some script that will automatically rename a backup each time it is created so that serial versions are retained? Even a temp.timestamp.txt would be great.(I don't mind a solution using nano as the text editor.)I should clarify that I'm not a coder or programmer. I just want to have previous versions of text files that I edit. These text files maybe .css or .rc or .svg files that form part of a theme. So if I edit some aspect of a theme's file, I can go back a bit in case I don't like a change I made. 
Is it possible to have more than just one backup when editing text files?
backup;editors
There is a simple way to use mercurial for version control.First install it.To configure mercurial make a file ~/.hgrc with next content:[ui]username = Your name <your mail>verbose = TrueIf you use some mercurial servers, you can add more info to this file (read man hgrc).After that cd to directory with your text files. For example:> cd /tmp> mkdir data && cd data> cat > text_file.txtHello, this is a file.You can add also any number of files.After we must init mercurial:> hg initBy default there's no files still, so we must to say mercurial, that we want to include all:> hg st? text_file.txt> hg add    adding text_file.txt> hg stA text_file.txtNow we make do simple commit:> hg comm -m 'first run'text_file.txtcommitted changeset 0:87e90c949984Now do some fixes and see difference:> cat >> text_file.txt Add one line.> hg diffdiff -r 87e90c949984 text_file.txt--- a/text_file.txt Mon Apr 01 12:52:14 2013 +0400+++ b/text_file.txt Mon Apr 01 12:53:47 2013 +0400@@ -1,1 +1,2 @@ Hello, this is a file.+Add one line.Now make another commit, after watch hg log: you will see both commits.To return to first commit just do so:> hg upd -r 0:87e90c949984resolving manifestsgetting text_file.txt1 files updated, 0 files merged, 0 files removed, 0 files unresolved> cat text_file.txt Hello, this is a file.You see: a file is old.Now restore last file:> hg upd                  resolving manifestsgetting text_file.txt1 files updated, 0 files merged, 0 files removed, 0 files unresolved> cat text_file.txt Hello, this is a file.Add one line.Also you may do a simple script:#!/bin/bashwhile true; do  hg commit -m commit: $(date)  sleep 60doneRun it when you start to edit your file, and it will check for changes every minute, if there was changes, mercurial will make new commit.Also, as I've mention in comments, you can use at or cron for autocommits.