230 lines
7.5 KiB
Org Mode
230 lines
7.5 KiB
Org Mode
#+title: Emacs TODOs
|
|
#+STARTUP: content
|
|
* High Priority
|
|
** persist scratch buffer
|
|
*** scratch keybind
|
|
** make project.el see Seafile/Notes as a project
|
|
** copy-region-for-reddit
|
|
* keybindings
|
|
** emacs
|
|
*** half-screen scrolling
|
|
https://karthinks.com/software/more-less-emacs/#bonus-half-screen-scrolling
|
|
*** previous/next buffer
|
|
*** C-o prefix for window managment
|
|
**** C-o C-o for other window
|
|
**** C-o wasd repeat map for moving manually
|
|
**** C-o / for vsplit
|
|
**** C-o - for hsplit
|
|
**** shift-wasd for moving windows
|
|
**** C-wasd for resizing
|
|
**** C-d for delete
|
|
**** C-/ for undo window change
|
|
**** other-window scrolling
|
|
**** z to save current layout and maximize current window
|
|
*** C-i for imenu
|
|
*** repeat map for C-v/M-v
|
|
*** repeat map for org navigation bindings
|
|
why is there only one for C-c C-u by default?
|
|
** dired
|
|
https://github.com/alexluigit/dirvish
|
|
*** toggle hidden files
|
|
** eshell toggle
|
|
call e-shell globally
|
|
previous buffer in eshell-mode
|
|
** open project straight to magit
|
|
** free keys
|
|
*** C-t
|
|
*** C-o
|
|
*** 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
|
|
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
|
|
** embark
|
|
https://karthinks.com/software/fifteen-ways-to-use-embark/
|
|
** Emacs everywhere
|
|
https://github.com/tecosaur/emacs-everywhere
|
|
** avy
|
|
https://karthinks.com/software/avy-can-do-anything/
|
|
https://github.com/xl666/avy-conf/blob/main/avy.org
|
|
** xref
|
|
*** dumb-jump
|
|
|
|
** yasnippet
|
|
*** org src blocks
|
|
** vertico
|
|
** mwim
|
|
replaces c-a hack
|
|
** marginalia
|
|
** treesit-auto
|
|
https://github.com/renzmann/treesit-auto
|
|
*** treesit-jump
|
|
https://github.com/dmille56/treesit-jump
|
|
** orderless
|
|
** consult
|
|
*** consult-yank-from-kill-ring
|
|
** 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/
|
|
*** complete files and lines
|
|
** org
|
|
*** TAB should cycle when at end of folded header line
|
|
*** keybind C-c C-c for committing code block changes
|
|
*** keybind C-c n 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
|
|
** popper
|
|
** verb
|
|
https://github.com/federicotdn/verb
|
|
for http requests
|
|
* 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
|
|
* languages
|
|
** python
|
|
** rust
|
|
* 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
|
|
** 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
|
|
** 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
|
|
** 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/
|