Update TODO

This commit is contained in:
2024-04-18 13:44:16 -07:00
parent 1963ad0715
commit 5b65791a78

View File

@@ -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-<SPC> | 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 <SPC> | 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 <A> to <B>
** 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/