27.6.2 Init File Examples
Here are some examples of doing certain commonly desired things with
* Make <TAB> in C mode just insert a tab if point is in the middle
of a line.
(setq c-tab-always-indent nil)
Here we have a variable whose value is normally `t' for `true' and
the alternative is `nil' for `false'.
* Make searches case sensitive by default (in all buffers that do not
(setq-default case-fold-search nil)
This sets the default value, which is effective in all buffers
that do not have local values for the variable. Setting
`case-fold-search' with `setq' affects only the current buffer's
local value, which is probably not what you want to do in an init
* Make Text mode the default mode for new buffers.
(setq default-major-mode 'text-mode)
Note that `text-mode' is used because it is the command for
entering the mode we want. A single-quote is written before it to
make a symbol constant; otherwise, `text-mode' would be treated as
a variable name.
* Turn on Auto Fill mode automatically in Text mode and related
'(lambda () (auto-fill-mode 1)))
Here we have a variable whose value should be a Lisp function. The
function we supply is a list starting with `lambda', and a single
quote is written in front of it to make it (for the purpose of this
`setq') a list constant rather than an expression. Lisp functions
are not explained here; for mode hooks it is enough to know that
`(auto-fill-mode 1)' is an expression that will be executed when
Text mode is entered. You could replace it with any other
expression that you like, or with several expressions in a row.
(setq text-mode-hook 'turn-on-auto-fill)
This is another way to accomplish the same result.
`turn-on-auto-fill' is a symbol whose function definition is
`(lambda () (auto-fill-mode 1))'.
* Load the installed Lisp library named `foo' (actually a file
`foo.elc' or `foo.el' in a standard Emacs directory).
When the argument to `load' is a relative pathname, not starting
with `/' or `~', `load' searches the directories in `load-path'
* Load the compiled Lisp file `foo.elc' from your home directory.
Here an absolute file name is used, so no searching is done.
* Rebind the key `C-x l' to run the function `make-symbolic-link'.
(global-set-key "\C-xl" 'make-symbolic-link)
(define-key global-map "\C-xl" 'make-symbolic-link)
Note once again the single-quote used to refer to the symbol
`make-symbolic-link' instead of its value as a variable.
* Do the same thing for C mode only.
(define-key c-mode-map "\C-xl" 'make-symbolic-link)
* Bind the function key <F1> to a command in C mode. Note that the
names of function keys must be lower case.
(define-key c-mode-map 'f1 'make-symbolic-link)
* Bind the shifted version of <F1> to a command.
(define-key c-mode-map '(shift f1) 'make-symbolic-link)
* Redefine all keys which now run `next-line' in Fundamental mode to
run `forward-line' instead.
(substitute-key-definition 'next-line 'forward-line
* Make `C-x C-v' undefined.
One reason to undefine a key is so that you can make it a prefix.
Simply defining `C-x C-v ANYTHING' would make `C-x C-v' a prefix,
but `C-x C-v' must be freed of any non-prefix definition first.
* Make `$' have the syntax of punctuation in Text mode. Note the
use of a character constant for `$'.
(modify-syntax-entry ?\$ "." text-mode-syntax-table)
* Enable the use of the command `eval-expression' without
(put 'eval-expression 'disabled nil)
automatically generated by info2www version 22.214.171.124