Skip to content

Seme4eg/.doom.d

Repository files navigation

!!! spc h sir

Shortcuts

Minibuffer

minibuffer map + some keybings from global-map:

  • { ‘ctrl+b’, function() prev_char() end },
  • { ‘ctrl+f’, function() next_char() end },
  • { ‘alt+b’, prev_word },
  • { ‘alt+f’, next_word },
  • { ‘ctrl+a’, go_home },
  • { ‘ctrl+e’, go_end },
  • { ‘ctrl+d’, del_char_right },
  • { ‘ctrl+u’, del_to_start },
  • { ‘alt+d’, del_next_word },

<leader> #keymap

  • press ~<leader> <key> ?~ to see all keys under that prefix
  • TAB workspace (doom & C-t - new, gt/T)
  • b buffers
  • f <a href=”elisp:(helpful-variable ‘doom-leader-file-map)”>file
  • g git
  • i insert
  • n notes
  • o open
  • p project
  • q quit/session
  • s search
  • t <a href=”elisp:(helpful-variable ‘doom-leader-toggle-map)”>toggle (+ *s*[pell] checker)
  • c code (+ *J*[ump] to symbol in any workspace)
  • w <a href=”elisp:(helpful-variable ‘evil-window-map)”>window

Mine: digraph, listen

g prefix

Move the cursor … :

g e/E
to the end of the COUNT-th previous word/WORD.

Yank, paste, (re)selection:

gy
yank unindented
gv
Restore previous selection.
gp
reselect paste / alt paste
g n/N
Select next/previous match.

Other stuff:

g u/U
Convert text to lower/upper case.
g i
Switch to Insert state at previous insertion point.
g J
Join the selected lines without changing whitespace.
g ;/,
Go back/forward in changes history.
g O, SPC s i
Jump to a place in the buffer chosen using a buffer menu or mouse menu. (imenu)
:nv g@
Apply macro to each line. (:v “@” #’+evil:apply-macro)
g s SPC
Evil motion for ‘avy-goto-char-timer’.
g f/F
Opens the file at point (and goes to line-number).

ported from vim-unimpaired

  • see evil-motion-state-map

Objects:

  • *b*[uffer], *f*[ile], *w*[orkspace], *a*[rg], *c*[omment], *e*[rror], *h*[eading], *m*[ethod] start, *M*[ethod] end
  • d git gutter hunk / diff
  • hl *t*[odo]

other - text scale, narrowing

  • C-+ #’doom/reset-font-size

Custom evil keybinds:

  • :nv “zn” #’+evil:narrow-buffer
  • :n “zN” #’doom/widen-indirectly-narrowed-buffer
  • :n “zx” #’kill-current-buffer
  • :n “ZX” #’doom/save-and-kill-buffer

Packages

For any package / mode you are interested in keybindings for try first SPC h m and then evil-colleciton-<mode>[-map] var

  • window-select prefix spc w w (Hit ? to bring up the actions menu.)
  • vertico #kbds #modemap, also check Orderless filtering and orderless-affix-dispatch-alist var, C-SPC embark-preview
  • popup: C-~ (+popup/raise); C-` (+popup/toggle)
  • evil-quick-diff - used to diff and edit two separate blocks of text.
  • apropos-mode - obtain information about the Emacs entities that match a regular expression (regexp) or keywords that you type.
  • Rss/atom reader - evil-collection-elfeed.el

evil

  • evil/config.el
  • Custom Text Objects
  • evil-surround - ys, cs, ds & modemap
  • evil-nerd-commenter - comment any viable text objects (below). gc {motion} Inobvious motions: c / l*[line], *r*[egion], *\ - comment current line and enter insert mode on point
  • evil-lion - allows to align text by some CHAR; gl/L {motion} {char}
  • evil-numbers - works like C-a/C-x in vim, but here it is g-/g=.
  • evil-exchange - gx {motion} - exchange two regions with evil motion
  • evil-easymotion (gs spc or gs /) - g s ? to see possible command modifier.

FYI:

  • evil-multiedit - M-d / D , RET to exclude, C-M-D to restore last group. Ex command that allows to invoke evil-multiedit with a regular expression - ie[dit]. There is also a quick vid tut. Also R - #’evil-multiedit-match-all.

Development

SPC c - prefix

  • eval #readme
    SPC ;
    Evaluate EXPRESSION and pretty-print its value.
    M-x +eval …
    see all provided commands and bindings
  • lookup #features
    • K documentation, g d*[efinition], g *D - references, g *f*[ile], g *I*[mplementations], g *A*[ssignments]
    • SPC s ? - see all possible movements
  • +tree-sitter maps
    • +tree-sitter-goto-previous-map ([ g prefix)
    • +tree-sitter-goto-next-map (] g prefix)
    • +tree-sitter-inner-text-objects-map ??
  • all mode-specific keybinds reside under (SPC m ..)
  • sh-mode-map
  • Restclient #github #examples #vid-demo
    • restclient-mode-map
    • restclient-outline-mode-map
    • restclient-response-mode-map
    • Files ending with .http will have restclient-mode enabled by default.
    • C-c C-i: show information on resclient variables at point
  • Debug (dap):
    • M-x dap-debug
    • select ‘Go Dlv Launch File Configuration’
    • SPC m d - launch dap hydra

Golang #keybinds

  • gorepl
    • C-c C-r (gorepl-eval-line) - Evaluate current line.
    • C-c C-e (gorepl-eval-region) - Evaluate region selected.
    • C-c C-l (gorepl-run-load-current-file) - Run a GoREPL with a context file in it
    • C-c C-g (gorepl-run) - Start or switch to the GoREPL buffer
  • go-goto-map (prefix C-c C-f) - jumping to and manipulating the individual parts of function signatures.
  • yas/describe-tables

Edit field tags for golang struct fields.

  • go-tag-add (SPC m a) - Add field TAGS for struct fields.
  • go-tag-remove (SPC m d) - Remove field TAGS for struct fields.
  • go-tag-refresh - Refresh field TAGS for struct fields.

(e)lisp future

evil-collection-edebug.el, #elisp-mode-map, #elisp-refs-mode-map

Debug: evil-collction-debug + :

  • ‘#’ Toggle ‘print-circle’ for the frame at point.
  • ‘:’ Toggle ‘print-gensym’ for the frame at point.
  • ‘.’ Expand all the forms abbreviated with “…” in the frame at point.

dirvish #extensions

In dirvish, you can mark files across multiple dirvish buffers, and paste/move marked files/directory to current directory with one keystroke (dirvish-yank).

,
dirvish-dispatch
f
dirvish-file-info-menu
z
dirvish-history-jump
F
dirvish-layout-toggle
b
dirvish-quick-access
q
dirvish-quit
TAB
#’dirvish-subtree-toggle
gh
#’dirvish-subtree-up
gl
#’dirvish-subtree-down
SPC o p
#’dirvish-side <- open project sidebar (like treemacs)
SPC o P
#’dirvish-side-and-follow <- ..
SPC o /
open directory in dirvish (dirvish full mode)

F-s good to know:

dirvish-peek-mode - Show file preview when narrowing candidates using minibuffer.

  • dirvish - Start a full frame Dirvish session with optional PATH.
  • (*) dirvish-rename-space-to-underscore - Rename marked files by replacing space to underscore.
  • dirvish-_side_ - Toggle a Dirvish session at the side window.
  • dirvish-_side_-follow-mode - Toggle ‘dirvish-side-follow-mode’.
  • dirvish-chxxx-_menu_ - Help Menu for file attribute modification commands. Don’t see reason to bind since just ‘!/& chmod ..’ does the job
  • dirvish-epa-dired-_menu_ - Help menu for ‘epa-dired-do-*’ commands.
  • dirvish-subdir-_menu_ - Help Menu for Dired subdir management. Don’t think its needed.
  • dirvish-layout-switch - Switch Dirvish layout according to RECIPE.
  • dirvish-layout-toggle - Toggle layout of current Dirvish session.

dired #modemap + dirvish

SPC f dFind directory with dired
C-c C-rRun doom-package:dired-rsync
C-c C-eRename entries with doom-package:wdired
  • Opening file:
    a
    dired-find-alternate-file
    S-<return> / g O
    dired-find-file-other-window. In Dired, visit this file or directory in another window.
    g o
    dired-view-file - In Dired, examine a file in view mode, returning to Dired when done.
    M-RET
    dired-display-file
  • g prefix:
    ?
    dired-summary - Summarize basic Dired commands and show recent Dired errors.
    $
    dired-hide-subdir - Hide or unhide the current subdirectory and move to next directory.
    y
    dired-show-file-type - Print the type of FILE, according to the ‘file’ command.
    G
    dired-do-chgrp - Change the group of the marked (or next ARG) files.
    r
    revert-buffer
  • Navigation.
    J
    dired-goto-file
    I
    dired-maybe-insert-subdir
    > and ] ] and g j / < and [ [ and g k
    dired-next/prev-dirline
    C-M-n / C-M-p
    dired-next/prev-subdir
    < / >
    beginning/end-of-buffer
  • Marking - * prefix, and:
    • m dired-mark
    • t dired-toggle-marks
    • u dired-unmark
    • DEL dired-unmark-backward
    • F dired-do-find-marked-files
    • M-( dired-mark-sexp
    • M-DEL dired-unmark-all-files
    • M-{/} dired-prev/next-marked-file
    • U dired-unmark-all-marks
  • Flagging:
    #
    dired-flag-auto-save-files
    ~
    dired-flag-backup-files
    d
    dired-flag-file-deletion
    % &
    dired-flag-garbage-files
  • Regexp based shortcuts, % prefix, and additionally:
    A
    dired-do-find-regexp
    Q
    dired-do-find-regexp-and-replace
  • Shell
    !/X
    run shell command on file
    &
    run async shell command on file
    M-!
    dired-smart-shell-command
  • Dired-do-
    • B byte-compile
    • C copy
    • D delete
    • E open
    • H hardlink
    • I info
    • L load
    • M chmod
    • M-s a C-s isearch
    • N man
    • O chown
    • P print
    • R rename
    • S symlink
    • T touch
    • V run-mail
    • Y relsymlink
    • Z compress
    • c compress-to
    • g G (evil, G - orig) chgrp
    • k kill-lines
    • r (evil, ‘l’ - orig) redisplay
    • x flagged-delete
  • Writable Dired Mode.
    i
    togglable via ‘dired-toggle-read-only’
    C-c C-e
    wdired-change-to-wdired-mode
    • writable Dired mode is under dirvish menu (currently , r w)
    C-c C-c/C-x C-s
    finish, rename changed file names, exit WDired mode
    C-c C-k/C-c ESC
    abort, reverting any changes
    C-x C-q
    exit, ask to save/revert modified file names
  • Decrypt:
    : d
    epa-dired-do-decrypt
    : e
    epa-dired-do-encrypt
    : s
    epa-dired-do-sign
    : v
    epa-dired-do-verify
  • Image bindings - C-t prefix
  • Other:
    +
    create directory
    =
    diff: current file and asks for 2nd file
    gr
    revert current buffer, with file on disk
    o
    dired-sort-toggle-or-edit - Toggle sorting by date, and refresh the Dired buffer. With a prefix argument, edit the current listing switches instead.
    <localleader> h
    toggle ‘omitted’ files (hidden)
    )
    dired-git-info-mode
    (
    dired-hide-details-mode
    Y
    dired-copy-filename-as-kill
    =
    dired-diff
    W
    browse-url-of-dired-file
    % l
    dired-downcase
    % u
    dired-upcase
    M-s f C-s
    dired-isearch-filenames
    C-x u
    dired-undo
    .
    dired-clean-directory (Flag numerical backups for deletion)
    ? / h
    describe-mode

Important: if any kbds doesn’t work - call it from emacs-state!

  • Marking. m u U d - as expected, others:
    • ‘* c’ - Change all OLD marks to NEW marks.
    • ‘* m’ - Mark all modified buffers, regardless of whether they have an associated file.
    • ‘* M’ - Mark buffers by major mode.
    • ‘* u’ - Mark all ”unsaved” buffers. This means that the buffer is modified, and has an associated file.
    • ‘* s’ - Mark all buffers whose name begins and ends with ‘*’.
    • ‘* e’ - Mark all buffers which have an associated file, but that file doesn’t currently exist.
    * z
    Mark buffers whose associated file is compressed.
    • ‘* r’ - Mark all read-only buffers.
    • ‘* /’ - Mark buffers in ‘dired-mode’.
    • ‘* h’ - Mark buffers in ‘help-mode’, ‘apropos-mode’, etc.
    .
    Mark buffers which have not been viewed in ‘ibuffer-old-time’ hours.
    • ‘d’ - Mark the buffer at point for deletion.
    • ‘% n/m/f/g’ - Mark buffers by name / major mode / filename / content, using a regexp.
    % L
    Mark all locked buffers.
    • { / } - backwards/forwards-next-marked
    t, M
    Toggle modification flag of marked buffers.
    • ~ - toggle marks
    M-DEL, * *
    Unmark all buffers with mark MARK.
    DEL
    Unmark the buffers in the region, or previous ARG buffers.
  • Operations on marked buffers:
    • ‘S’ - Save the marked buffers.
    • ‘A’ / g v - View the marked buffers in the selected frame.
    • ‘H’ - View the marked buffers in another frame.
    • ‘V’ - Revert the marked buffers.
    • ‘T’ - Toggle read-only state of marked buffers.
    • ‘L’ - Toggle lock state of marked buffers.
    • ‘D’ - Kill the marked buffers.
    • ‘M-s a C-s’ - Do incremental search in the marked buffers.
    • ‘M-s a C-M-s’ - Isearch for regexp in the marked buffers.
    • ‘r’ - Replace by regexp in each of the marked buffers.
    • <normal-state> R do-rename-uniquely
    • ‘Q’ - Query replace in each of the marked buffers.
    • ‘I’ - As above, with a regular expression.
    • ‘P’ - Print the marked buffers.
    • ‘O’ - List lines in all marked buffers which match a given regexp (like the function ‘occur’).
    M-s a C-o, O
    Uses ‘pdf-occur-search’, if appropriate.
    • ‘X’ - Pipe the contents of the marked buffers to a shell command.
    • ‘N’ - Replace the contents of the marked buffers with the output of a shell
    !, F
    Run shell command COMMAND separately on files of marked buffers.
    |
    Pipe the contents of each marked buffer to shell command COMMAND. command.
    • ‘E’ - Evaluate a form in each of the marked buffers. This is a very flexible command. For example, if you want to make all of the marked buffers read-only, try using (read-only-mode 1) as the input form.
    • ‘W’ - As above, but view each buffer while the form is evaluated.
    • ‘k’ - Remove the marked lines from the Ibuffer buffer, but don’t kill the associated buffer.
    • ‘x’ - Kill all buffers marked for deletion.
  • Filtering (call from emacs-state):
    • ‘/ SPC’ - Select and apply filter chosen by completion.
    • ‘/ RET’ - Add a filter by any major mode.
    • ‘/ m’ - Add a filter by a major mode now in use.
    • ‘/ M’ - Add a filter by derived mode.
    • ‘/ n’ - Add a filter by buffer name.
    • ‘/ c’ - Add a filter by buffer content.
    • ‘/ b’ - Add a filter by basename.
    • ‘/ F’ - Add a filter by directory name.
    • ‘/ f’ - Add a filter by filename.
    • ‘/ .’ - Add a filter by file extension.
    • ‘/ i’ - Add a filter by modified buffers.
    • ‘/ e’ - Add a filter by an arbitrary Lisp predicate.
    • ‘/ >’ - Add a filter by buffer size.
    • ‘/ <’ - Add a filter by buffer size.
    • ‘/ *’ - Add a filter by special buffers.
    • ‘/ v’ - Add a filter by buffers visiting files.
    • ‘/ s’ - Save the current filters with a name.
    • ‘/ r’ - Switch to previously saved filters.
    • ‘/ a’ - Add saved filters to current filters.
    • ‘/ &’ - Replace the top two filters with their logical AND.
    • ‘/ |’ - Replace the top two filters with their logical OR.
    • ‘/ p’ - Remove the top filter. (like pop)
    • ‘/ !’ - Invert the logical sense of the top filter.
    • ‘/ d’ - Break down the topmost filter.
    • ‘/ /’ - Remove all filtering currently in effect.
  • Filter group:
    • ‘/ g’ - Create filter group from filters.
    • ‘/ P’ - Remove top filter group.
    • ‘TAB / C-j / M-n / ]]’ - Move to the next filter group.
    • ‘M-p / C-k / [[’ - Move to the previous filter group.
    • ‘/ \’ - Remove all active filter groups.
    • ‘/ S’ - Save the current groups with a name.
    • ‘/ R’ - Restore previously saved groups.
    • ‘/ X’ - Delete previously saved groups.
    g x
    Kill the filter group at point.
    M-j
    Move point to the filter group whose name is NAME.
    s D
    decompose-filter-group
  • Sorting:
    • ‘,’ - Rotate between the various sorting modes.
    • ‘o i’ - Reverse the current sorting order.
    • ‘o a’ - Sort the buffers lexicographically.
    • ‘o f’ - Sort the buffers by the file name.
    • ‘o v’ - Sort the buffers by last viewing time.
    • ‘o s’ - Sort the buffers by size.
    • ‘o m’ - Sort the buffers by major mode.
  • Other commands:
    • ‘g’ - Regenerate the list of all buffers. Prefix arg means to toggle whether buffers that match ‘ibuffer-maybe-show-predicates’ should be displayed.
    • ‘C-c C-a’ - Toggle automatic updates.
    • ‘`’ - Change the current display format.
    M-g, J
    Move point to the buffer whose name is NAME.
    • ‘SPC’ - Move point to the next line.
    • ‘C-p’ - Move point to the previous line.
    • ‘h’ - This help.
    • ‘=’ - View the differences between this buffer and its associated file.
    • <normal-state> g o visit-buffer-other-window
    • <normal-state> C-o visit-buffer-other-window-noselect
    C-x 5 RET
    Visit the buffer on this line in another frame.
    M-o
    Visit the buffer on this line, and delete other windows.
    C-t
    Visit the tags table in the buffer on this line. See ‘visit-tags-table’.
    X
    Bury the buffer on this line.
    y b
    Copy buffer names of marked (or next ARG) buffers into the kill ring.
    y f
    Copy filenames of marked (or next ARG) buffers into the kill ring.
    -
    Add REGEXP to ‘ibuffer-tmp-hide-regexps’.
    +
    Add REGEXP to ‘ibuffer-tmp-show-regexps’.
    g v
    do-view
    C-x v, g V
    As ‘ibuffer-do-view’, but split windows horizontally.

Filtering

Each Ibuffer buffer has its own stack of active filters. For example, you can create an Ibuffer buffer displaying only ‘emacs-lisp-mode’ buffers via ‘/ RET emacs-lisp-mode RET’.

You can also combine filters. For example, suppose you only want to see buffers in ‘emacs-lisp-mode’, whose names begin with “gnus”:

/ RET emacs-lisp-mode RET
/ n ^gnus RET

Additionally, you can OR the top two filters together with / | (AND with / &)

Filters can also be saved and restored using mnemonic names: see the functions ‘ibuffer-save-filters’ and ‘ibuffer-switch-to-saved-filters’.

Filter Groups

A filter group is basically a named group of buffers which match a filter, which are displayed together in an Ibuffer buffer.

Just like filters themselves, filter groups act as a stack. The first filter group is used. The filter groups are displayed in this order of precedence.

You may rearrange filter groups by using the usual pair ‘C-k’ and ‘C-y’. Yanked groups will be inserted before the group at point.

corfu

prefix C-x (C-SPC) - corfu + cape: Emulation of Vim’s omni-completion keybinds (:prefix “C-x” (:when (modulep! :completion corfu) :i “C-l” #’cape-line :i “C-k” #’cape-keyword :i “C-f” #’cape-file :i “C-]” #’complete-tag :i “s” #’cape-dict :i “C-s” #’yasnippet-capf :i “C-o” #’completion-at-point :i “C-n” #’cape-dabbrev :i “C-p” #’+corfu/dabbrev-this-buffer))) <– check it out

spell

Dictionary is set by ispell-dictionary variable. Can be changed locally with the function ispell-change-dictionary.

For now i removed spell from my init & config files cuz don’t need those. Settings i used (besides having aspell, aspell-en, aspell-ru installed on pc):

(after! spell-fu
  (setq spell-fu-idle-delay 0.5))  ; default is 0.25
(setq-default ispell-dictionary "en")

Evil already defines ‘z=’ to `ispell-word’ = correct word at point

  • :n “zg” #’+spell/add-word
  • :n “zw” #’+spell/remove-word
  • :m “[s” #’+spell/previous-error
  • :m “]s” #’+spell/next-error)

Info evil-collection-info.el Info-mode-map

SPC h i (info) - Enter Info, the documentation browser. Numeric prefix to this command switches / creates Info buffer with that number. (They r independent)

M-h (Info-help) - Enter the Info tutorial.

Basics:

  • g k/j or C-k/j (Info-prev/next) - Go to the “previous/next” node, but C-k/j also counts nesting.
  • g [ / ] or TAB / S-TAB (Info-prev/next-reference) - Move cursor to the previous/next cross-reference (link)
  • g m (Info-menu) - Go to the node pointed to by the menu item.
  • u (Info-up) - Go to the superior node of this node.
  • C-o/t (Info-history-back) - Go back in the history
  • TAB (Info-history-forward) - Go forward in the history (doesn’t work)
  • i (Info-index) - You can get to the index from the main menu of the file with the ‘m’ command and the name of the index node; then you can use the ‘m’ command again in the index node to go to the node that describes the topic you want. i is just a short-cut, which does all of that for u. It searches the index for a given topic (a string) and goes to the node which is listed in the index for that topic. Very powerful command, lets u get info on any ‘mode’-related thing.
  • I (Info-virtual-index) - behaves like ‘i’, but constructs a virtual info node displaying the results of an index search, making it easier to select the one you want.
  • g L (Info-history) - Go to a node with a menu of visited nodes.
  • d (Info-directory) - Go to the Info directory node. Which is the first one you saw when you entered Info, has a menu which leads (directly or indirectly, through other menus)
  • g t (Info-top-node) - command moves to the ‘Top’ node of the manual.
  • g T (Info-toc) - Go to a node with table of contents of the c…

Advanced:

  • a (info-apropos) - If you aren’t sure which manual documents the topic you are looking for. It prompts for a string and then looks up that string in all the indices of all the Info documents installed on your system.
  • g G (Info-goto-node) - If you know a node’s name, you can go there using this command. gTop<RET> is same as g t (info-top-node).
  • g 1..9 (Info-nth-menu-item) - Go to the node of the Nth menu item. They are short for the ‘m’ command together with a name of a menu subtopic.
  • M-n (clone-buffer) - creates a new independent Info buffer. The new buffer starts out as an exact copy of the old one, but you will be able to move independently between nodes in the two buffers.

To look up Info-mode variables go SPC h i -> g m -> Info -> g G Variables

f
following cross reference (part 1.7 of M-h)
f?
list all references in cur. node

Thing that allows u to:

  • Visit a package’s URL from the minibuffer (C-h p {package} -> spc ; u)
  • Add a keybinding for a command name from anywhere it appears: spc a on dired-jump -> l (set local kbd (globally is also there))
  • Working with sets of possible targets (collect / export)
    • Prefer ‘embark-export’ since when an exporter to a special major mode is available for a given type of target, it will be more featureful than an Embark collect buffer, and if no such exporter is configured the ‘embark-export’ command falls back to the generic ‘embark-collect-snapshot’.
    • Export buffer candidates to ibuffer (spc , -> spc ; E), same with files & variables.
    • Export grep or line candidates to a grep buffer: {any seach cmd} -> embark-export (E) -> C-c C-f to turn on ‘follow on point’

Acting on targets

Offering relevant actions to use on a target determined by the context:

  • In the minibuffer, the target is the current top completion candidate.
  • In the Completions buffer the target is the completion at point.
  • In a regular buffer, the target is the region if active, or else the file, symbol, URL, s-expression or defun at point.

Multiple targets can be present at the same location and you can cycle between them by repeating the ‘embark-act’ key binding.

Embark behaviors are configurable via the variable embark-indicators. Instead of selecting an action via its key binding, you can select it by name with completion by typing ‘C-h’ after ‘embark-act’.

Configuring which actions are offered for a type: embark-keymap-alist associates target types with variables containing keymaps, and those keymaps containing bindings for the actions.

These action keymaps are very convenient but not strictly necessary when using ‘embark-act’: you can use any command that reads from the minibuffer as an action and the target of the action will be inserted at the first minibuffer prompt. After running ‘embark-act’ all of your key bindings and even ‘execute-extended-command’ can be used to run a command. For example, if you want to replace all occurrences of the symbol at point, just use ‘M-%’ as the action, there is no need to bind ‘query-replace’ in one of Embark’s keymaps.

The actions in embark-general-map are available always. By default this includes bindings to save the current candidate in the kill ring and to insert the current candidate in the target buffer.

Emacs commands often do not set useful category metadata so the Marginalia (https://github.com/minad/marginalia) package, which supplies this missing metadata, is highly recommended for use with Embark.

embark-act RET usually runs the default action on target (in minibuffer - first candidate, in buffer - default action bound to ‘RET’ keymap (like browse-url on links))

embark-dwim runs default action for 1st target found (handy in non-minibuffers). Default behaviour is:

  • Open the file at point.
  • Open the URL at point in a web browser (using the ‘browse-url’ command).
  • Compose a new email to the email address at point.
  • In an Emacs Lisp buffer, if point is on an opening parenthesis or right after a closing one, it will evaluate the corresponding expression.
  • Go to the definition of an Emacs Lisp function, variable or macro at point.
  • Find the file corresponding to an Emacs Lisp library at point.

In Embark Actions buffer (embark’s Which-key) you can scroll that buffer with usual C-M-(S-)v - scroll-other-window(-down)

By default Doom uses embark-which-key-indicator, but embark comes with its own indicators, which u can look up in embark’s Info -> 3.1 Showing ..

C-h embark-help-key (after embark-act) - will prompt you for the name of an action with completion (but feel free to enter a command that is not among the offered candidates!). You can press ‘embark-keymap-prompter-key’, which is ‘@’ by default, at the prompt and then one of the key bindings to enter the name of the corresponding action.

Switching command without losing input | embark-become

B embark-become - change current command keeping your input (like switch-to-buffer -> find-file)

  • eww-open-in-new-buffer (M-RET)
  • eww-browse-with-external-browser (& / S-RET / go)
  • eww-readable (r / R)
  • eww-copy-page-url (SPC m y / y u - default)
  • eww-list-histories (g h) . The history is lost when EWW is quit. If you want to remember websites - use bookmarks. History limit is stored in eww-history-limit var.

What useful comes form doom module (rest i configured myself):

  • :ni [C-return] #’+eww/open-in-other-window
  • :n “yy” #’+eww/copy-current-url
  • :n “zk” #’text-scale-increase
  • :n “zj” #’text-scale-decrease

Navigation

  • eww-up-url (u) Go to the page marked ‘up’.
  • eww-top-url (U) Go to the page marked ‘top’.
  • eww-back-url (H) Go to the previously displayed page.
  • eww-forward-url (L) Go to the next displayed page.
  • eww-next-url (] ] / gj) Go to the page marked ‘next’.
  • eww-previous-url ([ [ / gk) Go to the page marked ‘previous’.

Bookmarks

  • eww-*list*-bookmarks (g b) Display the bookmarks.
  • eww-add-bookmark (m) Bookmark the current page.
  • eww-bookmark-kill (D) Kill the current bookmark.
  • eww-bookmark-urls Get the URLs from the current list of bookmarks.
  • eww-bookmark-yank (P / y u) Yank a previously killed bookmark to the current line.
  • eww-next-bookmark (M-n) Go to the next bookmark in the list.
  • eww-previous-bookmark (M-p) Go to the previous bookmark in the list.

Buffers

  • eww-*switch*-to-buffer Prompt for an EWW buffer to display in the selected window.
  • eww-*list*-buffers (g t) Enlist eww buffers.
  • eww-buffer-kill (D) Kill buffer from eww list.
  • eww-buffer-show-next (]] / gj) Move to next eww buffer in the list and display it.
  • eww-buffer-show-previous ([[ / gk) Move to previous eww buffer in the list and display it.

Togglables

  • eww-toggle-fonts (z f) Toggle whether to use monospaced or font-enabled layouts.
  • eww-toggle-colors (M-C) Toggle whether to use HTML-specified colors or not.
  • eww-toggle-images (M-I) Toggle whether or not to display images.
  • eww-toggle-checkbox Toggle the value of the checkbox under point.

Other

  • eww-open-file Render FILE using EWW.
  • eww-select-file Change the value of the upload file menu under point.
  • eww-download (d) Download URL to ‘eww-download-directory’.
  • eww-view-source (g f) View the HTML source code of the current page.
  • eww-search-words (M-s M-w) Search the web for the text in the region.

Shrface insignificant binds

  • shrface-html-export-as-org Export HTML to an org buffer.
  • shrface-html-export-to-org Export HTML to an org file as FILENAME.
  • shrface-default-keybindings Setup default keybingings for variable ‘shrface-mode’.

unused kbds

SPC .. j, k

Todos [0/3]

fix evil-collection not working properly in ‘diff-hl’ popup buffers

tree sitter

emacs migration plan

Good places to start:


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published