app: emacs - tag(): user.tabs tag(): user.splits tag(): user.line_commands # ----- GENERAL ----- # #suplex: key(ctrl-x) cancel: user.emacs("keyboard-quit") exchange: user.emacs("exchange-point-and-mark") execute: user.emacs("execute-extended-command") execute {user.emacs_command}$: user.emacs(emacs_command) execute $: user.emacs("execute-extended-command") user.insert_formatted(text, "DASH_SEPARATED") evaluate | (evaluate | eval) (exper | expression): user.emacs("eval-expression") prefix: user.emacs_prefix() prefix : user.emacs_prefix(number_signed_small) abort recursive [edit]: user.emacs("abort-recursive-edit") browse kill ring: user.emacs("browse-kill-ring") fill paragraph: user.emacs("fill-paragraph") insert char: user.emacs("insert-char") occurs: user.emacs("occur") other scroll [down]: user.emacs("scroll-other-window") other scroll up: user.emacs("scroll-other-window-down") package autoremove: user.emacs("package-autoremove") package list | [package] list packages: user.emacs("list-packages") reverse (lines | region): user.emacs("reverse-region") save buffers kill emacs: user.emacs("save-buffers-kill-emacs") save some buffers: user.emacs("save-some-buffers") sort lines: user.emacs("sort-lines") sort words: user.emacs("sort-words") file [loop] continue: user.emacs("fileloop-continue") go directory: user.emacs("dired-jump") other go directory: user.emacs("dired-jump-other-window") [toggle] debug on error: user.emacs("toggle-debug-on-error") [toggle] debug on quit: user.emacs("toggle-debug-on-quit") [toggle] input method: user.emacs("toggle-input-method") [toggle] truncate lines: user.emacs("toggle-truncate-lines") [toggle] word wrap: user.emacs("toggle-word-wrap") manual: user.emacs("man") manual : user.emacs("man") user.insert_formatted(text, "DASH_SEPARATED") # BUFFER SWITCHING # switch: user.emacs("switch-to-buffer") other switch: user.emacs("switch-to-buffer-other-window") display: user.emacs("display-buffer") # SHELL COMMANDS # shell command: user.emacs("shell-command") shell command inserting: user.emacs_prefix() user.emacs("shell-command") shell command on region: user.emacs("shell-command-on-region") shell command on region replacing: user.emacs_prefix() user.emacs("shell-command-on-region") # CUSTOMIZE # customize face: user.emacs("customize-face") customize face $: user.emacs("customize-face") user.insert_formatted(text, "DASH_SEPARATED") customize group: user.emacs("customize-group") customize variable: user.emacs("customize-variable") (customize | custom) [theme] visit theme: user.emacs("custom-theme-visit-theme") # MODE COMMANDS # auto fill mode: user.emacs("auto-fill-mode") dired omit mode: user.emacs("dired-omit-mode") display line numbers mode: user.emacs("display-line-numbers-mode") electric quote local mode: user.emacs("electric-quote-local-mode") emacs lisp mode: user.emacs("emacs-lisp-mode") fundamental mode: user.emacs("fundamental-mode") global display line numbers mode: user.emacs("global-display-line-numbers-mode") global highlight line mode: user.emacs("global-hl-line-mode") global visual line mode: user.emacs("global-visual-line-mode") highlight line mode: user.emacs("hl-line-mode") lisp interaction mode: user.emacs("lisp-interaction-mode") markdown mode: user.emacs("markdown-mode") menu bar mode: user.emacs("menu-bar-mode") overwrite mode: user.emacs("overwrite-mode") paredit mode: user.emacs("paredit-mode") rainbow mode: user.emacs("rainbow-mode") read only mode: user.emacs("read-only-mode") shell script mode: user.emacs("sh-mode") sub word mode: user.emacs("subword-mode") tab bar mode: user.emacs("tab-bar-mode") talon script mode: user.emacs("talonscript-mode") text mode: user.emacs("text-mode") transient mark mode: user.emacs("transient-mark-mode") visual line mode: user.emacs("visual-line-mode") whitespace mode: user.emacs("whitespace-mode") # MACROS # emacs record: user.emacs("kmacro-start-macro") emacs stop: user.emacs("kmacro-end-macro") emacs play: user.emacs("kmacro-end-and-call-macro") # PROFILER # profiler start: user.emacs("profiler-start") profiler stop: user.emacs("profiler-stop") profiler report: user.emacs("profiler-report") # WINDOW/SPLIT MANAGEMENT # # What emacs calls windows, we call splits. split solo: user.emacs("delete-other-windows") [split] rebalance: user.emacs("balance-windows") split shrink: user.emacs("shrink-window-if-larger-than-buffer") other [split] shrink: user.split_next() user.emacs("shrink-window-if-larger-than-buffer") user.split_last() split grow: user.emacs("enlarge-window") split grow : user.emacs("enlarge-window", number_small) split shrink : amount = number_small or 1 user.emacs("enlarge-window", 0 - amount) split widen []: user.emacs("enlarge-window-horizontally", number_small or 1) split narrow []: user.emacs("shrink-window-horizontally", number_small or 1) # ----- HELP ----- # apropos: user.emacs_help("a") describe (fun | function): user.emacs_help("f") describe key: user.emacs_help("k") describe key briefly: user.emacs_help("c") describe symbol: user.emacs_help("o") describe variable: user.emacs_help("v") describe mode: user.emacs_help("m") describe bindings: user.emacs_help("b") describe (char | character): user.emacs("describe-character") describe text properties: user.emacs("describe-text-properties") describe face: user.emacs("describe-face") view lossage: user.emacs_help("l") apropos $: user.emacs_help("a") user.insert_formatted(text, "DASH_SEPARATED") key(enter) describe (fun | function) $: user.emacs_help("f") user.insert_formatted(text, "DASH_SEPARATED") key(enter) describe symbol $: user.emacs_help("o") user.insert_formatted(text, "DASH_SEPARATED") key(enter) describe variable $: user.emacs_help("v") user.insert_formatted(text, "DASH_SEPARATED") key(enter) # ----- FILES & BUFFERS ----- file open: user.emacs("find-file") file rename: user.emacs("rename-file") (file open | find file) at point: user.emacs("ffap") other file open: user.emacs("find-file-other-window") (file | buffer) close: user.emacs("kill-buffer") key(enter) buffer kill: user.emacs("kill-buffer") buffer bury: user.emacs("bury-buffer") buffer revert | revert buffer: user.emacs("revert-buffer") buffer finish: edit.save() user.emacs("server-edit") buffer list: user.emacs("buffer-menu") buffer next: user.emacs("next-buffer") buffer last: user.emacs("previous-buffer") buffer rename: user.emacs("rename-buffer") buffer widen: user.emacs("widen") buffer narrow | [buffer] narrow to region: user.emacs("narrow-to-region") diff (buffer | [buffer] with file): user.emacs("diff-buffer-with-file") key(enter) # ----- MOTION AND EDITING ----- # mark: user.emacs("set-mark-command") go back: user.emacs("pop-to-mark-command") global [go] back: user.emacs("pop-global-mark") auto indent: user.emacs("indent-region") indent : user.emacs("indent-rigidly", number_signed_small) search back: user.emacs("isearch-backward") (search regex | regex search): user.emacs("isearch-forward-regexp") (search regex | regex search) back: user.emacs("isearch-backward-regexp") replace: user.emacs("query-replace") replace regex | regex replace: user.emacs("query-replace-regexp") # These start a word/symbol-search or toggle an existing search's mode. search [toggle] words: user.emacs("isearch-forward-word") search [toggle] symbol: user.emacs("isearch-forward-symbol") # These keybindings are only active in isearch-mode. search edit: user.emacs_meta("e") search toggle case [fold | sensitive]: user.emacs_meta("c") search toggle regex: user.emacs_meta("r") highlight lines matching [regex]: user.emacs("highlight-lines-matching-regexp") highlight phrase: user.emacs("highlight-phrase") highlight regex: user.emacs("highlight-regexp") unhighlight (regex | phrase): user.emacs("unhighlight-regexp") unhighlight all: user.emacs_prefix() user.emacs("unhighlight-regexp") recenter: user.emacs_prefix() user.emacs("recenter-top-bottom") (center | [center] from) top: user.emacs("recenter-top-bottom", number_small or 0) (center | [center] from) bottom: number = number_small or 0 user.emacs("recenter-top-bottom", -1 - number) go top: edit.jump_line(number) user.emacs("recenter-top-bottom", 0) go bottom: edit.jump_line(number) user.emacs("recenter-top-bottom", -2) next error | error next: user.emacs("next-error") last error | error last: user.emacs("previous-error") term right: user.emacs("forward-sexp") term left: user.emacs("backward-sexp") term up: user.emacs("backward-up-list") term end: user.emacs("up-list") term down: user.emacs("down-list") term kill: user.emacs("kill-sexp") term wipe: user.emacs("kill-sexp", -1) term (mark | select): user.emacs("mark-sexp") term copy: user.emacs("mark-sexp") edit.copy() term freeze: user.emacs("mark-sexp") user.emacs("comment-region") term [auto] indent: user.emacs("mark-sexp") user.emacs("indent-region") (sentence | sent) (right | end): edit.sentence_end() (sentence | sent) (left | start): edit.sentence_start() (sentence | sent) kill: user.emacs("kill-sentence") graph kill: user.emacs("kill-paragraph") graph up: edit.paragraph_start() graph down: edit.paragraph_end() graph mark: user.emacs("mark-paragraph") graph copy: user.emacs("mark-paragraph") edit.copy() graph cut: user.emacs("mark-paragraph") edit.cut() # NB. can use these to implement "drag left/right/up/down" commands, # but note that 'transpose line' and 'drag line down' are different. transpose [word | words]: user.emacs("transpose-words") transpose (term | terms): user.emacs("transpose-sexps") transpose (char | chars): user.emacs("transpose-chars") transpose (line | lines): user.emacs("transpose-lines") transpose (sentence | sentences): user.emacs("transpose-sentences") transpose (graph | graphs | paragraphs): user.emacs("transpose-paragraphs") register (copy | save): user.emacs("copy-to-register") register (paste | insert): user.emacs("insert-register") register jump: user.emacs("jump-to-register") register (copy | save) rectangle: user.emacs("copy-rectangle-to-register") rectangle clear: user.emacs("clear-rectangle") rectangle delete: user.emacs("delete-rectangle") rectangle kill: user.emacs("kill-rectangle") rectangle open: user.emacs("open-rectangle") rectangle (copy | save) [to] register: user.emacs("copy-rectangle-to-register") rectangle (yank | paste): user.emacs("yank-rectangle") rectangle copy: user.emacs("copy-rectangle-as-kill") rectangle number lines: user.emacs("rectangle-number-lines") # ----- XREF SUPPORT ----- # [xref] find definition: user.emacs("xref-find-definitions") [xref] find definition other window: user.emacs("xref-find-definitions-other-window") [xref] find definition other frame: user.emacs("xref-find-definitions-other-frame") [xref] find references: user.emacs("xref-find-references") [xref] find references [and] replace: user.emacs("xref-find-references-and-replace") xref find apropos: user.emacs("xref-find-apropos") xref go back: user.emacs("xref-go-back") visit tags table: user.emacs("visit-tags-table") # ----- PROJECT SUPPORT ----- # project [find] file: user.emacs("project-find-file") project [find] (regex | grep): user.emacs("project-find-regexp") project [query] replace regex: user.emacs("project-query-replace-regexp") project (dired | directory): user.emacs("projectile-dired") project [run] shell: user.emacs("projectile-run-shell") project [run] eshell: user.emacs("projectile-run-eshell") project search: user.emacs("project-search") project vc dir: user.emacs("project-vc-dir") project compile [project]: user.emacs("projectile-compile-project") project [run] shell command: user.emacs("projectile-run-shell-command-in-root") project [run] async shell command: user.emacs("projectile-run-async-shell-command-in-root") project (switch [to buffer] | buffer | buff): user.emacs("projectile-switch-to-buffer") project kill [buffers]: user.emacs("projectile-kill-buffers") project switch [project]: user.emacs("project-switch-project") # ----- VC/GIT SUPPORT ----- # vc (annotate | blame): user.emacs("vc-annotate") # ----- MAJOR & MINOR MODES ----- # # python-mode # python mode: user.emacs("python-mode") run python: user.emacs("run-python") python [shell] send buffer: user.emacs("python-shell-send-buffer") python [shell] send file: user.emacs("python-shell-send-file") python [shell] send region: user.emacs("python-shell-send-region") python [shell] send (function | defun): user.emacs("python-shell-send-defun") python [shell] send statement: user.emacs("python-shell-send-statement") python (shell switch | switch [to] shell): user.emacs("python-shell-switch-to-shell") # smerge-mode # smerge mode: user.emacs("smerge-mode") merge next: user.emacs("smerge-next") merge last: user.emacs("smerge-prev") merge keep upper: user.emacs("smerge-keep-upper") merge keep lower: user.emacs("smerge-keep-lower") merge keep base: user.emacs("smerge-keep-base") merge keep (this | current): user.emacs("smerge-keep-current") merge refine: user.emacs("smerge-refine") merge split: user.emacs("smerge-resolve") # outline-minor-mode # # frequent: overview, show, hide, next, last, forward, backward, up outline minor mode: user.emacs("outline-minor-mode") outline show all: user.emacs("outline-show-all") outline show entry: user.emacs("outline-show-entry") outline hide entry: user.emacs("outline-hide-entry") outline show [subtree]: user.emacs("outline-show-subtree") outline hide [subtree]: user.emacs("outline-hide-subtree") outline show children: user.emacs("outline-show-children") outline show branches: user.emacs("outline-show-branches") outline hide leaves: user.emacs("outline-hide-leaves") outline hide sublevels: user.emacs("outline-hide-sublevels") outline (hide body | [show] (overview | outline)): user.emacs("outline-hide-body") outline hide other: user.emacs("outline-hide-other") outline forward [same level]: user.emacs("outline-forward-same-level") outline (backward | back) [same level]: user.emacs("outline-backward-same-level") outline next [visible heading]: user.emacs("outline-next-visible-heading") outline (previous | last) [visible heading]: user.emacs("outline-previous-visible-heading") outline insert [heading]: user.emacs("outline-insert-heading") outline up [heading]: user.emacs("outline-up-heading") outline promote: user.emacs("outline-promote") outline demote: user.emacs("outline-demote") outline move [subtree] down: user.emacs("outline-move-subtree-down") outline move [subtree] up: user.emacs("outline-move-subtree-up") outline mark [subtree]: user.emacs("outline-mark-subtree")