diff --git a/thoom-emacs/TODO.org b/thoom-emacs/TODO.org index 70cac5c..1a9b4d0 100644 --- a/thoom-emacs/TODO.org +++ b/thoom-emacs/TODO.org @@ -1,53 +1,13 @@ #+title: Emacs TODOs #+STARTUP: content -* Cheatsheet -** Zoom in/out -C-x C-[0/-/=] -has repeat map -** use-package key bindings -Can remap functions as well as keys -#+begin_src emacs-lisp -(use-package unfill - :bind ([remap fill-paragraph] . unfill-toggle)) -#+end_src -** use-package supports repeat-map -#+begin_src emacs-lisp -(use-package git-gutter+ - :bind - (:repeat-map git-gutter+-repeat-map - ("n" . git-gutter+-next-hunk) - ("p" . git-gutter+-previous-hunk) - ("s" . git-gutter+-stage-hunks) - ("r" . git-gutter+-revert-hunk))) -#+end_src -** shortdoc-display-group -shows useful documentation summary on various categories of things -** Act on other window with C-x 4 [...] -** Tab commands on C-x t -#+begin_src elisp - (global-set-key (kbd "M-[") 'tab-bar-history-back) - (global-set-key (kbd "M-]") 'tab-bar-history-forward) -#+end_src * High Priority ** persist scratch buffer *** scratch keybind -* mine for ideas -https://github.com/daviwil/emacs-from-scratch/blob/9388cf6ecd9b44c430867a5c3dad5f050fdc0ee1/Emacs.org -https://tony-zorman.com/posts/2022-10-22-emacs-potpourri.html -https://www.masteringemacs.org/article/demystifying-emacs-window-manager -https://github.com/emacs-tw/awesome-emacs -https://www.reddit.com/r/emacs/comments/x43eie/heres_a_list_of_emacs_keyboard_shortcuts_that_i/ -* free keys -** C-z -** C-t -** C-o -** C-j -** C-' -** C-, -** M-r +** make project.el see Seafile/Notes as a project +** copy-region-for-reddit * keybindings ** emacs -*** better bindings for page up / page down / home / end +*** expand C-a to jump to the first place after the bullet in org-mode *** center cursor after page up / page down https://karthinks.com/software/more-less-emacs/#bonus-half-screen-scrolling *** previous/next buffer @@ -57,6 +17,17 @@ https://github.com/alexluigit/dirvish ** eshell toggle call e-shell globally previous buffer in eshell-mode +** free keys +*** C-z +*** C-t +*** C-o +*** C-j +*** C-' +*** C-, +*** M-r +*** C/M-` +*** C/M-1 +*** M-i * read docs/configure ** when opening help buffer, focus it so I can q out ** eshell @@ -67,8 +38,6 @@ https://github.com/iostapyshyn/eshell-vterm specifically ssh -> docker https://github.com/emacs-pe/docker-tramp.el https://www.emacswiki.org/emacs/TrampAndDocker -** whitespace cleanup -https://batsov.com/articles/2011/11/25/emacs-tip-number-3-whitespace-cleanup/ ** embark https://karthinks.com/software/fifteen-ways-to-use-embark/ ** avy @@ -86,6 +55,8 @@ https://karthinks.com/software/avy-can-do-anything/ https://github.com/renzmann/treesit-auto ** orderless ** consult +** repeat-mode +https://karthinks.com/software/it-bears-repeating/ ** corfu ** cape https://takeonrules.com/2022/01/17/switching-from-company-to-corfu-for-emacs-completion/ @@ -120,6 +91,7 @@ https://github.com/stsquad/emacs_chrome https://github.com/astoff/devdocs.el ** vundo https://github.com/casouri/vundo +** popper * port doom config.el ** reveal in finder #+begin_src emacs-lisp @@ -135,14 +107,68 @@ https://github.com/casouri/vundo #+end_src * 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 * languages ** python ** rust -** nix -https://github.com/elkowar/rnix-lsp +* Cheatsheet +** Movement commands +| Unit | Move | Kill | Mark | Transpose | Notes | +|--------------+---------+---------------------+-----------+-----------+--------------------------------------| +| Word | M-b/f | M-d / M-DEL / C-DEL | M-@ | M-t | M- b/f/d/DEL | +| Sentence | M-a/e | M-k / C-x DEL | | M-x t-s | M- a/e/k | +| Paragraph | M-{/} | | M-h | M-x t-p | | +| Line | C-n/p | C-k / C-S-DEL | | C-x C-t | Join with M-^, delete blanks C-x C-o | +| Sexp | C-M-b/f | C-M-k / C-M-DEL | C-M- | C-M-t | C-M- b/f/k/DEL | +| List in/out | C-M-d/u | | | | | +| List sibling | C-M-n/p | | | | | +| Defun | C-M-a/e | | C-M-h | | | +| Screenful | C/M-v | | | | | +| Other window | C-M-v/V | | | | | +| Buffer | M- | | C-x h | | | +** Isearch +| Binding | Command | +|-----------+------------------------------------| +| C-w | Add word at point to search | +| M-s c | Toggle case sensitive | +| M-s r | Toggle regex | +| M-s w | Toggle word mode | +| M-s _ | Toggle symbol mode | +| M-s | Toggle lax whitespace matching | +| M-s ' | Toggle character folding (pg 160) | +| M-s M-. | Isearch forward for thing at point | +| M-s o | Occur mode | +** Comment +M-; DWIM +C-x C-; Line +** Jump to last mark +C-u C-SPC +** Zoom in/out +C-x C-[0/-/=] +has repeat map +** use-package key bindings +Can remap functions as well as keys +#+begin_src emacs-lisp +(use-package unfill + :bind ([remap fill-paragraph] . unfill-toggle)) +#+end_src +** use-package supports repeat-map +#+begin_src emacs-lisp +(use-package git-gutter+ + :bind + (:repeat-map git-gutter+-repeat-map + ("n" . git-gutter+-next-hunk) + ("p" . git-gutter+-previous-hunk) + ("s" . git-gutter+-stage-hunks) + ("r" . git-gutter+-revert-hunk))) +#+end_src +** shortdoc-display-group +shows useful documentation summary on various categories of things +** Act on other window with C-x 4 [...] +** Tab commands on C-x t +#+begin_src elisp + (global-set-key (kbd "M-[") 'tab-bar-history-back) + (global-set-key (kbd "M-]") 'tab-bar-history-forward) +#+end_src * Notes from Mastering Emacs ** C-x # in emacsclient says "done with current buffer" ** C-x 8 RET (insert-char) for to insert weird characters @@ -152,10 +178,6 @@ https://github.com/elkowar/rnix-lsp 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 @@ -164,6 +186,22 @@ C-x r (SPC) store point, (j)ump to register ** highlighters M-s h keymap also H in embark +** Macros (p226) +F3 start record / insert counter +F4 stop record / play macro +C-x ( start reocrd +C-x ) stop record +C-x e playback +C-0 F4 repeat macro until error +** Indentation +C-x TAB with a region enters an interactive indentation mode +** Alignment (p250) ** auto-revert-tail-mode ** M-| pipes region to shell command replaces region if invoked with C-u +* mine for ideas +https://github.com/daviwil/emacs-from-scratch/blob/9388cf6ecd9b44c430867a5c3dad5f050fdc0ee1/Emacs.org +https://tony-zorman.com/posts/2022-10-22-emacs-potpourri.html +https://www.masteringemacs.org/article/demystifying-emacs-window-manager +https://github.com/emacs-tw/awesome-emacs +https://www.reddit.com/r/emacs/comments/x43eie/heres_a_list_of_emacs_keyboard_shortcuts_that_i/