{"id":20622344,"url":"https://github.com/smoeding/emacs-cheat-sheet","last_synced_at":"2026-05-29T12:04:38.298Z","repository":{"id":151615435,"uuid":"340925252","full_name":"smoeding/emacs-cheat-sheet","owner":"smoeding","description":"My Emacs cheat sheet","archived":false,"fork":false,"pushed_at":"2022-03-06T13:12:07.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-17T05:29:23.474Z","etag":null,"topics":["emacs"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smoeding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-21T14:47:46.000Z","updated_at":"2022-03-06T13:10:52.000Z","dependencies_parsed_at":"2023-05-25T00:00:26.197Z","dependency_job_id":null,"html_url":"https://github.com/smoeding/emacs-cheat-sheet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Femacs-cheat-sheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Femacs-cheat-sheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Femacs-cheat-sheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Femacs-cheat-sheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smoeding","download_url":"https://codeload.github.com/smoeding/emacs-cheat-sheet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242300368,"owners_count":20105197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emacs"],"created_at":"2024-11-16T12:22:22.878Z","updated_at":"2026-05-29T12:04:33.271Z","avatar_url":"https://github.com/smoeding.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Emacs Cheat Sheet\n\nThis is a collection of Emacs keybindings that I should use more often.\n\n## Mark Ring\n\nKey                    | Command\n-----------------------|--------------------------------------------------\n\u003ckbd\u003eC-SPC C-SPC\u003c/kbd\u003e | Set the mark, pushing it onto the mark ring, without activating it.\n\u003ckbd\u003eC-u C-SPC\u003c/kbd\u003e   | Move point to where the mark was, and restore the mark from the ring of former marks.\n\u003ckbd\u003eC-x C-SPC\u003c/kbd\u003e   | Move point to buffer and position of the last entry in the global ring (`pop-global-mark`).\n\n## Moving by Defuns\n\nKey              | Command\n-----------------|--------------------------------------------------\n\u003ckbd\u003eC-M-a\u003c/kbd\u003e | Move to beginning of current or preceding defun (`beginning-of-defun`)\n\u003ckbd\u003eC-M-e\u003c/kbd\u003e | Move to end of current or following defun (`end-of-defun`)\n\u003ckbd\u003eC-M-h\u003c/kbd\u003e | Put region around whole current or following defun (`mark-defun`)\n\n## Editing with Parentheses\n\nKey              | Command\n-----------------|--------------------------------------------------\n\u003ckbd\u003eC-M-f\u003c/kbd\u003e | Move forward over a balanced expression (`forward-sexp`)\n\u003ckbd\u003eC-M-b\u003c/kbd\u003e | Move backward over a balanced expression (`backward-sexp`)\n\u003ckbd\u003eC-M-k\u003c/kbd\u003e | Kill balanced expression forward (`kill-sexp`)\n\u003ckbd\u003eC-M-t\u003c/kbd\u003e | Transpose expressions (`transpose-sexps`)\n\u003ckbd\u003eC-M-n\u003c/kbd\u003e | Move forward over a parenthetical group (`forward-list`)\n\u003ckbd\u003eC-M-p\u003c/kbd\u003e | Move backward over a parenthetical group (`backward-list`)\n\u003ckbd\u003eC-M-u\u003c/kbd\u003e | Move up in parenthesis structure (`backward-up-list`)\n\u003ckbd\u003eC-M-d\u003c/kbd\u003e | Move down in parenthesis structure (`down-list`)\n\n## Registers\n\nKey                    | Command\n-----------------------|-----------------------------------------------\n\u003ckbd\u003eC-x r SPC R\u003c/kbd\u003e | Record the position of point and the current buffer in register R (`point-to-register`)\n\u003ckbd\u003eC-x r j R\u003c/kbd\u003e   | Jump to the position and buffer saved in register R (`jump-to-register`)\n\u003ckbd\u003eC-x r s R\u003c/kbd\u003e   | Copy region into register R (`copy-to-register`)\n\u003ckbd\u003eC-x r i R\u003c/kbd\u003e   | Insert text from register R (`insert-register`)\n\u003ckbd\u003eC-x r +\u003c/kbd\u003e     | Append text to or increment register (`increment-register`)\n\n## Abbrevs\n\nKey                  | Command\n---------------------|-----------------------------------------------\n\u003ckbd\u003eC-x a g\u003c/kbd\u003e   | Define an abbrev, using one or more words before point as its expansion (`add-global-abbrev`)\n\u003ckbd\u003eC-x a l\u003c/kbd\u003e   | Similar, but define an abbrev specific to the current major mode (`add-mode-abbrev`)\n\u003ckbd\u003eC-x a i g\u003c/kbd\u003e | Define a word in the buffer as an abbrev (`inverse-add-global-abbrev`)\n\u003ckbd\u003eC-x a i l\u003c/kbd\u003e | Define a word in the buffer as a mode-specific abbrev  (`inverse-add-mode-abbrev`)\n\n## Calc\n\nKey                | Command\n-------------------|-----------------------------------------------\n\u003ckbd\u003eC-x * g\u003c/kbd\u003e | Open Calc and add region as vector (`calc-grab-region`)\n\u003ckbd\u003ev p\u003c/kbd\u003e     | Pack stack elements as vector; prefix is length (`calc-pack`)\n\u003ckbd\u003ev u\u003c/kbd\u003e     | Unpack vector on the top of the stack (`calc-unpack`)\n\u003ckbd\u003eV S\u003c/kbd\u003e     | Sort elements of a vector (`calc-sort`)\n\u003ckbd\u003eI V S\u003c/kbd\u003e   | Sort elements of a vector in decreasing order\n\u003ckbd\u003eu #\u003c/kbd\u003e     | Count number of values in a vector (`calc-vector-count`)\n\u003ckbd\u003eu +\u003c/kbd\u003e     | Sum values in a vector (`calc-vector-sum`)\n\u003ckbd\u003eu *\u003c/kbd\u003e     | Multiply values in a vector (`calc-vector-product`)\n\u003ckbd\u003eu M\u003c/kbd\u003e     | Compute mean of values in a vector (`calc-vector-mean`)\n\u003ckbd\u003eH u M\u003c/kbd\u003e   | Compute median of values in a vector (`calc-vector-median`)\n\u003ckbd\u003eu S\u003c/kbd\u003e     | Calculate sample standard deviation (`calc-vector-sdev`)\n\u003ckbd\u003eI u S\u003c/kbd\u003e   | Calculate population standard deviation (`calc-vector-pop-sdev`)\n\u003ckbd\u003et U\u003c/kbd\u003e     | Convert between date and Unix time value (`calc-unix-time`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmoeding%2Femacs-cheat-sheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmoeding%2Femacs-cheat-sheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmoeding%2Femacs-cheat-sheet/lists"}