#+title: Emacs TODOs #+STARTUP: content * mine for ideas https://github.com/daviwil/emacs-from-scratch/blob/9388cf6ecd9b44c430867a5c3dad5f050fdc0ee1/Emacs.org * keybindings ** emacs better bindings for page up / page down / home / end center cursor after page up / page down ** org-evil bindings M-hjlk for moving headings ** vertico C-hjkl for navigating files ** meow *** equivalents of evil <, > for indentation *** equivalent of gd/gu (use embark?) gd = (+lookup/definition) gu = (+lookup/references) *** equivalent of r (replace character under point, don't enter insert mode) *** equivalent of . for repeating edits learn kmacros * magit * undo-tree * parinfer * line wrapping https://elpa.gnu.org/packages/adaptive-wrap.html * if nix in path, prefer nix versions of emacs packages don't use :straight t in use-package declarations instead, have section that conditionally runs straight-use-package directives if necessary ** Emacs packages installed via Nix don't work in Mac app * Load terminfo on MacOS from nix profile source nix env vars from somewhere? * direnv * eglot / lsp-mode * corfu https://takeonrules.com/2022/01/17/switching-from-company-to-corfu-for-emacs-completion/ * embark ** function for org tagging * org ** C-RET should enter meow insert state ** better embark bindings for moving subtrees ** embark binding for tagging header ** keybind for narrow ** beautify https://mstempl.netlify.app/post/beautify-org-mode/ * languages ** python ** nix ** typescript ** web-mode * meow ** questions *** Why does xy copy the newline but x;y doesn't? *** Beacon mode How does beacon mode decide whether a movement creates all possible cursors or just one? How to express "insert before the second word of the line"? Why doesn't visit work consistently in beacon mode? *** defining C- keys in normal mode seems to fuck everything up for some reason ** notes *** r replaces selection with yank buffer * Notes from Mastering Emacs ** C-x # in emacsclient says "done with current buffer" ** C-x 8 RET (insert-char) for to insert weird characters ** C-h m (describe-mode) ** I in embark goes to manual ** (global-set-key [remap ] ') remaps all keybindings that refer to to ** repeat-mode describe-repeat-maps to see which keys repeat ** tab-bar-mode replacement for perspective.el offers window configurations as tabs, similar to iTerm/Kitty also look into tab history mode ** bookmarks C-x r (m)ark, (l)ist, jump to (b)ookmark ** registers C-x r (s)tore region, (i)nsert contents C-x r (SPC) store point, (j)ump to register