Emacs: Defining Alias to Increase Productivity

Advertise Here

, 2010, …,

In emacs, you can define your own keyboard shortcuts such as F6 for frequently used commands. But if you use emacs extensively, you may have all easy keys used up. A alternative to keyboard shortcuts is to make command names 1 or 2 letters short.

For example, here's my aliases:

(defalias 'yes-or-no-p 'y-or-n-p) ; y or n is enough
(defalias 'list-buffers 'ibuffer) ; always use ibuffer
(defalias 'perl-mode 'cperl-mode) ; always use cperl-mode
(defalias 'man 'woman)

; major modes, easy naming
(defalias 'ahk-mode 'xahk-mode)
(defalias 'bbcode-mode 'xbbcode-mode)
(defalias 'cmd-mode 'dos-mode)
(defalias 'lsl-mode 'xlsl-mode)
(defalias 'ocaml-mode 'tuareg-mode)
(defalias 'math-symbol-input-mode 'xmsi-mode)

; shortening of often used commands
(defalias 'qrr 'query-replace-regexp)
(defalias 'lml 'list-matching-lines)
(defalias 'dml 'delete-matching-lines)
(defalias 'dnml 'delete-non-matching-lines)
(defalias 'dtw 'delete-trailing-whitespace)
(defalias 'sl 'sort-lines)
(defalias 'rr 'reverse-region)
(defalias 'rs 'replace-string)

(defalias 'g 'grep)
(defalias 'gf 'grep-find)
(defalias 'fd 'find-dired)

(defalias 'rb 'revert-buffer)

(defalias 'sh 'shell)
(defalias 'ps 'powershell)
(defalias 'fb 'flyspell-buffer)
(defalias 'sbc 'set-background-color)
(defalias 'rof 'recentf-open-files)
(defalias 'lcd 'list-colors-display)
(defalias 'cc 'calc)

; elisp
(defalias 'eb 'eval-buffer)
(defalias 'er 'eval-region)
(defalias 'ed 'eval-defun)
(defalias 'eis 'elisp-index-search)
(defalias 'lf 'load-file)

; major modes
(defalias 'hm 'html-mode)
(defalias 'tm 'text-mode)
(defalias 'elm 'emacs-lisp-mode)
(defalias 'om 'org-mode)
(defalias 'ssm 'shell-script-mode)
(defalias 'html6-mode 'xah-html6-mode)

; minor modes
(defalias 'wsm 'whitespace-mode)
(defalias 'gwsm 'global-whitespace-mode)
(defalias 'dsm 'desktop-save-mode)
(defalias 'acm 'auto-complete-mode)
(defalias 'vlm 'visual-line-mode)
(defalias 'glm 'global-linum-mode)

;; xah personal
(defalias '8w 'xwe-new-word-entry)
(defalias '8d 'xwe-add-definition)
(defalias '8s 'xwe-add-source)
(defalias 'c 'xah-cite)
(defalias 'cr 'compact-region)
(defalias 'cw 'count-words-region-or-line)
(defalias 'db 'dehtmlize-block)
(defalias 'dr 'dehtmlize-region)
(defalias 'dsc 'delete-secondlife-cache)
(defalias 'dss 'desktop-settings-setup)
(defalias 'dstp 'xah-fix-dstp)
(defalias 'eol 'replace-eols-to-p)
(defalias 'fs 'full-size-img-linkify)
(defalias 'ft 'fix-timestamp)
(defalias 'hb 'htmlize-block)
(defalias 'il 'image-linkify)
(defalias 'irh 'insert-random-hex)
(defalias 'irs 'insert-random-string)
(defalias 'k 'htmlize-keyboard-shortcut-notation)
(defalias 'wl 'wikipedia-linkify)
(defalias 'l 'xah-file-linkify)
(defalias 'lb 'listify-block)
(defalias 'mb 'make-blogger-entry)
(defalias 'mht 'make-html-table)
(defalias 'tb 'title-bracket-to-html-tag)
(defalias 'tls 'toggle-line-spacing)
(defalias 'xmae 'xah-make-atom-entry)
(defalias 'z 'amazon-linkify)
(defalias '~ 'make-backup)

(defalias '\(1\) 'xah-fix-number-items-block)
(defalias '& 'replace-html-chars)
(defalias '\\ 'escape-quotes-region)
(defalias '\[ 'remove-square-brackets)
(defalias '\" 'replace-straight-quotes)

Save the above in file and name it 〔my_alias.el〕, then put it in your 〔~/.emacs.d/〕 directory. Then, in your emacs init file 〔.emacs〕, put:

(load "my_alias")

Single Key for M-x

The default keyboard shortcut for execute-extended-command is 【Alt+x】.

You can define F5 to make it easy. (➲ How to Define Keyboard Shortcuts)

Even better, is to make Caps Lock key or Menu key do it. (aka Apps key, the key with a menu icon on PC Keyboards.)

To make it menu key, do this:

(global-set-key (kbd "<apps>") 'execute-extended-command) ; make the menu/apps key do M-x

To make it Caps Lock, you need a tool. See: System-wide ErgoEmacs Keybinding for Windows, Mac, Bash. For Mac, see: Mac OS X Keyboard Layout, Keymapping, Keybinding, Tools.

(On Linux, by default, execute-extended-command is assigned to the Menu key.)

blog comments powered by Disqus