2010年11月3日星期三

Simple Emacs Configuration

Using Abbreviations

Emacs can automatically correct your spelling mistake as you type (such
as correcting "thier" with "their"), or expand your own abbreviations for full
word (such as replacing "Indie" with "Independent"). Emacs can do this when you
enable the "Abbrev" minor mode.

Add the following code to your ~/.emacs file to enable the
Abbrev minor mode, to load in abbreviations from ~/.abbrev_defs and
to save changes you make to the abbreviations table when you exit Emacs.

;; ===== Automatically load abbreviations table
=====

;; Note that emacs chooses, by default, the filename

;; "~/.abbrev_defs", so don't try to be too clever

;; by changing its name

(setq-default abbrev-mode t)

(read-abbrev-file "~/.abbrev_defs")

(setq save-abbrevs t)

To display a list of the current abbreviations Emacs uses, enter the
command list-abbrevs.

Highlight Current Line

To make Emacs highlight the line the curosr is currently on, add the
following
to your ~/.emacs :

;; ===== Set the highlight current line minor mode =====

;; In every buffer, the line which contains the cursor will be fully

;; highlighted

(global-hl-line-mode 1)

Set Indent Size

To set the standard indent size to some value other than default add the
following
to your ~/.emacs :

;; ===== Set standard indent to 2 rather that 4 ====

(setq standard-indent 2)

Line-by-Line Scrolling

By default Emacs will scroll the buffer by several lines whenever the
cursor goes above or below the current view. The cursor is also returned to the
middle-line of the current view.
This can be confusing to work
with since the cursor appears to jump around. If you prefer to have the
cursor remain at the top or bottom of the screen as scrolling takes place
then use:

;; ========== Line by line scrolling ==========

;; This makes the buffer scroll by only a single line when the up or

;; down cursor keys push the cursor (tool-bar-mode) outside the

;; buffer. The standard emacs behaviour is to reposition the cursor in

;; the center of the screen, but this can make the scrolling confusing

(setq scroll-step 1)

Turn Off Tab Character

To stop Emacs from entering the tab character into your files (when you press
the "tab" key) add the
following
to your ~/.emacs :

;; ===== Turn off tab character =====

;;

;; Emacs normally uses both tabs and spaces to indent lines. If you

;; prefer, all indentation can be made from spaces only. To request this,

;; set `indent-tabs-mode' to `nil'. This is a per-buffer variable;

;; altering the variable affects only the current buffer, but it can be

;; disabled for all buffers.

;;

;; Use (setq ...) to set value locally to a buffer

;; Use (setq-default ...) to set value globally

;;

(setq-default indent-tabs-mode nil)

Enable Wheel-Mouse Scrolling

By default Emacs does not respond to actions of a scroll button on a wheel
mouse; however, it can be made to do so with a simple configuration entry:

;; ========== Support Wheel Mouse Scrolling ==========

(mouse-wheel-mode t)

Prevent Backup File Creation

By default Emacs will automatically create backups of your open files
(these are the files with the ~ character appended to the filename). Add the
following to your ~/.emacs to prevent these backup files from
being created :

;; ========== Prevent Emacs from making backup files ==========

(setq make-backup-files nil)

Saving Backup Files to a Specific Directory

Backup files can occassionally be usful, so rather than completely
disabelling them, Emacs can be configured to place them in a specified
directory. Do this by adding the following to your ~/.emacs files:

;; ========== Place Backup Files in Specific Directory ==========

;; Enable backup files.

(setq make-backup-files t)

;; Enable versioning with default values (keep five last
versions, I think!)

(setq version-control t)

;; Save all backup file in this directory.

(setq backup-directory-alist (quote ((".*" .
"~/.emacs_backups/"))))

Enable Line and Column Numbering

Emacs can display the current line and column number on which the cursor
currently resides.
The numbers appear in the mode-line :

;; ========== Enable Line and Column Numbering ==========

;; Show line-number in the mode line

(line-number-mode 1)

;; Show column-number in the mode line

(column-number-mode 1)

Set Fill Column

The fill column influences how Emacs justifies paragraphs. For best
results choose a value less than 80: