4.0 KiB
Emacs TODOs
- Cheatsheet
- mine for ideas
- keybindings
- read docs/configure
- modeline
- port doom config.el
- line wrapping
- Fix magit invisible changes in terminal
- Deconflict Emacs and Kitty hotkeys
- if nix in path, prefer nix versions of emacs packages
- install
- languages
- meow
- Notes from Mastering Emacs
Cheatsheet
Zoom in/out
C-x C-[0/-/=] has repeat map
use-package key bindings
Can remap functions as well as keys
(use-package unfill
:bind ([remap fill-paragraph] . unfill-toggle))
Supports repeat-map
(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)))
shortdoc-display-group
shows useful documentation summary on various categories of things
mine for ideas
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
equivalents of evil <, > for indentation
equivalent of gd/gu (use embark?)
gd = (+lookup/definition) gu = (+lookup/references)
equivalent of r (replace character under point, don't enter insert mode)
equivalent of . for repeating edits
learn kmacros
dired
hjkl navigation
: for M-x
read docs/configure
magit
start in insert state in commit message
straight
lockfile
vertico
marginalia
orderless
consult
org
C-RET should enter meow insert state
better embark bindings for moving subtrees
embark binding for tagging header
keybind for narrow
switch to use-package repeat-map for C-c C-n/p
transclude
beautify
modeline
diminish/delight
port doom config.el
set font to Fira Code
reveal in finder
(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)
line wrapping
Fix magit invisible changes in terminal
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
undo-tree
parinfer
eglot / lsp-mode
languages
python
nix
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
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