179 lines
5.2 KiB
Org Mode
179 lines
5.2 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
|
|
** 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
|
|
* 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
|
|
** org-evil bindings
|
|
M-hjlk for moving headings
|
|
** meow
|
|
*** equivalent of gd/gu (use embark?)
|
|
*** disable completing-read for meow-visit
|
|
*** equivalent of r (replace character under point, don't enter insert mode)
|
|
*** equivalent of . for repeating edits
|
|
*** learn kmacros
|
|
ability to scrape recent history for new macro
|
|
** try alternatives to meow
|
|
*** boon
|
|
*** xah-fly-keys
|
|
*** god-mode
|
|
*** kakoune.el
|
|
*** back to evil
|
|
** dired
|
|
https://github.com/alexluigit/dirvish
|
|
*** toggle hidden files
|
|
* read docs/configure
|
|
** magit
|
|
** eshell
|
|
https://www.masteringemacs.org/article/complete-guide-mastering-eshell
|
|
https://github.com/iostapyshyn/eshell-vterm
|
|
** tramp
|
|
*** multi-hop
|
|
specifically ssh -> 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/
|
|
** straight
|
|
*** lockfile
|
|
** corfu
|
|
https://takeonrules.com/2022/01/17/switching-from-company-to-corfu-for-emacs-completion/
|
|
** embark
|
|
https://karthinks.com/software/fifteen-ways-to-use-embark/
|
|
*** better binding for moving org subtrees
|
|
*** tagging org header
|
|
** vertico
|
|
** avy
|
|
** marginalia
|
|
** orderless
|
|
** consult
|
|
** corfu
|
|
https://www.youtube.com/watch?v=Vx0bSKF4y78
|
|
** org
|
|
*** C-RET should enter meow insert state
|
|
*** TAB should cycle sub-folds
|
|
*** 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
|
|
|
|
*** transclude
|
|
https://github.com/nobiot/org-transclusion
|
|
*** beautify
|
|
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
|
|
** see if multiple-cursors works with meow at all
|
|
** code folding
|
|
** symex
|
|
** rigpa
|
|
https://github.com/countvajhula/rigpa
|
|
* modeline
|
|
** diminish/delight
|
|
* port doom config.el
|
|
** set font to Fira Code
|
|
** 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 "."))
|
|
|
|
(map! :leader
|
|
:desc "Reveal"
|
|
"o o" #'reveal-in-file-browser)
|
|
#+end_src
|
|
|
|
* line wrapping
|
|
https://elpa.gnu.org/packages/adaptive-wrap.html
|
|
* Fix magit invisible changes in terminal
|
|
* when opening help buffer, focus it so I can q out
|
|
* Deconflict Emacs and Kitty hotkeys
|
|
* 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
|
|
* install
|
|
** yasnippet/tempo
|
|
** mwim
|
|
** undo-tree
|
|
** parinfer
|
|
** eglot / lsp-mode
|
|
* languages
|
|
** python
|
|
** nix
|
|
https://github.com/elkowar/rnix-lsp
|
|
** 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-<something> keys in normal mode seems to fuck everything up for some reason
|
|
** sexp state
|
|
** try dot mode
|
|
https://github.com/wyrickre/dot-mode
|
|
** 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 <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
|