## 19.7. Mike's Favorite Timesavers

I'm a very fast typist -- which means that I hate using special function keys, arrow keys, and especially mice. I deeply resent anything that moves me away from the basic alphanumeric keyboard. Even BACKSPACE and DELETE are obnoxious, since they force me to shift my hand position.

With this in mind, I've customized Emacs so that I can do virtually anything with the basic alphabetic keys, plus the CONTROL key. Here are some extracts from my .emacs file:

Go to http://examples.oreilly.com/upt3 for more information on: .emacs_ml

>     ;; Make CTRL-h delete the previous character. Normally, this gets
>     ;; you into the "help" system.
>      (define-key global-map "\C-h" 'backward-delete-char)
>     ;; make sure CTRL-h works in searches, too
>      (setq search-delete-char (string-to-char "\C-h"))
>     ;; bind the "help" facility somewhere else (CTRL-underscore).
>     ;; NOTE: CTRL-underscore is not defined on some terminals.
>      (define-key global-map "\C-_" 'help-command) ;; replacement
>      (setq help-char (string-to-char "\C-_"))
>     ;; Make ESC-h delete the previous word.
>      (define-key global-map "\M-h" 'backward-kill-word)
>     ;; Make CTRL-x CTRL-u the "undo" command; this is better than "CTRL-x u"
>     ;; because you don't have to release the CTRL key.
>      (define-key global-map "\C-x\C-u" 'undo)
>     ;; scroll the screen "up" or "down" one line with CTRL-z and ESC z
>      (defun scroll-up-one ( ) "Scroll up 1 line." (interactive)
>        (scroll-up (prefix-numeric-value current-prefix-arg)))
>      (defun scroll-down-one ( ) "Scroll down 1 line." (interactive)
>        (scroll-down (prefix-numeric-value current-prefix-arg)))
>      (define-key global-map "\C-z" 'scroll-up-one)
>      (define-key global-map "\M-z" 'scroll-down-one)
>     ;; Use CTRL-x CTRL-v to "visit" a new file, keeping the current file
>     ;; on the screen
>      (define-key global-map "\C-x\C-v" 'find-file-other-window)

The comments (lines beginning with two semicolons) should adequately explain what these commands do. Figure out which you need, and add them to your .emacs file. The most important commands are at the top of the file.

-- ML

Copyright © 2003 O'Reilly & Associates. All rights reserved.