Files
dotfiles/thoom-emacs/TODO.org
2024-04-09 12:09:23 -07:00

152 lines
4.4 KiB
Org Mode

#+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
* High Priority
** persist scratch buffer
*** scratch keybind
** separate system clipboard and kill ring
* 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/
* keybindings
** emacs
better bindings for page up / page down / home / end
center cursor after page up / page down
https://karthinks.com/software/more-less-emacs/#bonus-half-screen-scrolling
*** previous/next buffer
** dired
https://github.com/alexluigit/dirvish
*** toggle hidden files
* read docs/configure
** when opening help buffer, focus it so I can q out
** eshell
https://www.masteringemacs.org/article/complete-guide-mastering-eshell
https://github.com/iostapyshyn/eshell-vterm
** tramp
*** multi-hop
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
https://karthinks.com/software/avy-can-do-anything/
** xref
*** dumb-jump
** yasnippet
** undo-tree
** vertico
** mwim
** marginalia
** treesit-auto
https://github.com/renzmann/treesit-auto
** orderless
** consult
** corfu
** cape
https://takeonrules.com/2022/01/17/switching-from-company-to-corfu-for-emacs-completion/
*** complete files and lines
** org
*** TAB should cycle when at end of folded header line
*** keybind for narrow
*** switch to use-package repeat-map for C-c C-n/p
*** better binds for moving subtrees
*** transclude
https://github.com/nobiot/org-transclusion
*** roam
*** beautify
https://zzamboni.org/post/beautifying-org-mode-in-emacs/
https://mstempl.netlify.app/post/beautify-org-mode/
https://github.com/Gavinok/emacs.d/blob/main/lisp/org-config.el
https://github.com/minad/org-modern
**** hide markup characters
**** org-modern
** magit
*** Fix magit invisible changes in terminal
** lsp-mode
*** lsp-booster
https://github.com/blahgeek/emacs-lsp-booster
** code folding
*** outli
** combobulate
** emacs-chrome
https://github.com/stsquad/emacs_chrome
** devdocs
https://github.com/astoff/devdocs.el
** vundo
https://github.com/casouri/vundo
* port doom config.el
** reveal in finder
#+begin_src emacs-lisp
(defun first-executable (candidates)
(seq-find #'executable-find candidates))
;; Reveal in finder/nautilus/whatever
(defun reveal-in-file-browser ()
(interactive)
(call-process
(first-executable '("xdg-open" "open"))
nil nil nil "."))
#+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
* 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 <A>] '<B>)
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
C-x r (s)tore region, (i)nsert contents
C-x r (SPC) store point, (j)ump to register
** highlighters
M-s h keymap
also H in embark
** auto-revert-tail-mode
** M-| pipes region to shell command
replaces region if invoked with C-u