This is the 3rd article in the series Using Emacs. If you
have followed the initial articles in this series, then you must
be knowing how to use many of the features of Emacs. Emacs can
be customized as much as one can possibly imagine (or rather it
can be customized to an extent you couldn't possibly imagine)
. You can make Emacs respond to over 1000 different commands of
yours. The power of Emacs becomes evident when you have used it
for over a year and then you move to some other editor...you would
sorely miss all the customizations that you have made in Emacs.
So let me explain how to make the customizations. Unlike normal
commands in Emacs, all the customization is done outside Emacs.
That means all the functionality that you would like to have in
Emacs has to be set before you start Emacs. These customizations
are stored in a file called .emacs which exists
in your home directory.
Assuming your home directory is /home/david the exact location
of the Emacs customization file would be /home/david/.emacs
. Note the . (period) before the filename makes this file a hidden
file. Use a ' ls -al ' to see this file in the directory listing.
All your customizations would be placed inside this single file.
When Emacs starts, it would look into this file and load all your
Believe me, once you start with this you would get addicted and
you would keep on customizing Emacs to such an extent that you
would no longer be satisfied with any other editor. Instead of
the minimum 10 Tips per article, this time I have only 8. But
they are excellent enough to make any beginner happy.
Note : For Tip No. 1 - Tip No. 26 refer to the other Articles
in the Using Emacs Series.
Open your .emacs file using any text editor. Enter all
the lines below as they are. The lines that begin with a ' ;;
' are comments and need not be included in your .emacs file. I
have them in mine for clarity sake so that whenever I edit my
.emacs I can clearly understand which command stands for
Tip No. 27 : Making <Delete> key work properly
In case this one was not already present in your .emacs file and
you have problems with deleting text using the <Delete>
key on your keyboard, then add the following lines.
;; Set up the keyboard so the <delete> key on both the regular
;; and the keypad delete the character under the cursor and to
;; under X, instead of the default, backspace behavior.
(global-set-key [delete] 'delete-char)
Tip No. 28 : Using <Home> & <End> keys to move
to beginning & end of lines
In case you do not like the default behavior of the <Home>
and <End> keys where they take you to the beginning and
end of the buffer (If you are used to the Windows behavior where
they take you to the beginning and the end of the lines) then
add the following. Now you shall get the keys to respond as desired.
;; [Home] & [End] key should take you to beginning and end
(global-set-key [home] 'beginning-of-line)
(global-set-key [end] 'end-of-line)
Tip No. 29 : Display Current Time in Emacs
This is a simple and excellent thing to do. This simply displays
the current time in status bar at the bottom of the screen. When
you are coding day 24-7 and lose track of time, this is the best
way to remind yourself of it ;-)
;; displays the time in the status bar
Tip No. 30 : Stop scrolling of screen at end of file
In case you have noticed, when you open a file (say it contains
20 lines), even when you reach the end of the file (the 20th line)
, Emacs continues scrolling and keeps adding empty lines at the
end as long as you press the <Down Arrow> Key. To avoid
this and make Emacs stop the scrolling of the screen as soon as
you reach the last line, add the following to your .emacs file.
;; Emacs will not automatically add new lines
(setq next-line-add-newlines nil)
Tip No. 31 : Syntax highlighting
This is probably the feature that newcomers love the most. You
have heard of this and you want to get it working as soon as you
can.. here it is.. this would enable coloring of the text as per
the mode that Emacs works in. Thus in C mode you would get all
the reserved words to be highlighted. Besides in C mode you would
see a lot of other things (such as comments, etc.) getting various
colors. The highlighting of the syntax makes the code easier to
;; syntax highlighting by default
Tip No. 32 : Change the irritating yes/no questions
If you have used Emacs for even a couple of days you must be already
irritated by the questions that Emacs asks to which the answer
has to be a 'yes' or a 'no'. Sometimes it asks a
'y' or a 'n' , but many times you are required to
type the entire words 'yes' or 'no' . Adding the
following line would change this default behavior and make Emacs
get rid of the ' yes/no ' question permanently. Now you would
only be asked the ' y/n ' question and you could simply
take the required action by a single keystroke.
;; Changes all yes/no questions to y/n type
(fset 'yes-or-no-p 'y-or-n-p)
Tip No. 33 : Change nature of scrolling
In case you are not happy with the way Emacs scrolls through a
buffer (since when it reaches the end of the screen, the buffer
moves half screen upwards and the new lines appear at the middle
of the screen), you could make Emacs scroll a line at a time.
Thus as you reach the end of screen the buffer would move only
one line upwards and continue in the same fashion rather than
the abrupt 1/2 screen movement.
;; Scroll down with the cursor,move down the buffer one
;; line at a time, instead of in larger amounts.
(setq scroll-step 1)
Tip No. 34 : Stop making those ~ backups
Emacs would make a backup file whenever it edits any file. Thus
you would always find a file with a similar name but ending with
a '~' in the same directory. In case you edit a.txt
there would be a a.txt~ in the same directory. To stop
this behavior add the following lines.
;; do not make backup files
(setq make-backup-files nil)
That's all for now. Watch out for the article in which I shall
be discussing customizations for C programmers using Emacs. I
could have added them here, but I decided to list them in a separate