In emacs, you can use alias to shorten commands. For example, make frequently used commands just 1 or 2 letters.
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
;; make frequently used commands short (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)
;; major modes, use easy-to-remember names (defalias 'ahk-mode 'xahk-mode) (defalias 'bbcode-mode 'xbbcode-mode) (defalias 'lsl-mode 'xlsl-mode) (defalias 'ocaml-mode 'tuareg-mode) (defalias 'math-symbol-input-mode 'xmsi-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")
The default key for execute-extended-command is 【Alt+x】. You can set F8 or ▤ Menu key for execute-extended-command, so it's easier to type.
(global-set-key (kbd "<f8>") 'execute-extended-command) (global-set-key (kbd "<apps>") 'execute-extended-command) ; Microsoft Windows, menu/apps key (global-set-key (kbd "<menu>") 'execute-extended-command) ; Linux, menu/apps key
The ▤ Menu key is the key with a menu icon on PC Keyboards. On Linux, by default, execute-extended-command is assigned to the ▤ Menu key.
If you want other keys, see: Emacs: How to Define Keys. On the Mac, you might need to use other tools. See: Mac OS X: Keyboard Layout, Keymapping, Keybinding, Tools
When calling execute-extended-command, you can press the Tab ↹ key to show a list of suggestions.
You can turn on icomplete-mode. It'll show a list of completions automatically. Put this in your emacs init:
;; automatically show completions for execute-extended-command (icomplete-mode 1)