Just an observation.
In the responses to the question here, there is close to zero actual comparison of Doom and Spacemacs features or behavior, or mention of specific benefits of one or the other.
Most of the response content is essentially voting - rooting for the colors of one team or the other. Maybe OP finds that that helps somehow; maybe not. (If it does, what a pity.)
Dunno what this indicates. Maybe it says something about Reddit, or about the nature of such questions, or about Doom and Spacemacs fans?
I really don't know. Just a weightless observation. And maybe after I write this it'll (hopefully) be proven wrong.
Just an observation.
In the responses to the question here, there is close to zero actual comparison of Doom and Spacemacs features or behavior, or mention of specific benefits of one or the other.
Most of the response content is essentially voting - rooting for the colors of one team or the other. Maybe OP finds that that helps somehow; maybe not. (If it does, what a pity.)
Dunno what this indicates. Maybe it says something about Reddit, or about the nature of such questions, or about Doom and Spacemacs fans?
I really don't know. Just a weightless observation. And maybe after I write this it'll (hopefully) be proven wrong.
At first I thought this was going to be about the very useful and delightful topic of "Best practices for avoiding work."
My inner Maynard G. Krebs jumped up to say "Work?!".
Here are some ways to move around. The first two are in vanilla Emacs. (There are previous
functions corresponding to the next
functions mentioned.)
-
C-M-e
andC-M-a
: Move to next "defun" (function definition). -
Imenu, if you know the name of the thing (e.g. a definition) you`re looking for. (Various libraries let you complete/filter and cycle among candidates.)
-
next-visible-thing
. Moves to end of next THING. First nonconsecutive use prompts for THING type. Or usenext-visible-thing
to define such a command for a specific kind of THING (so no prompt needed for the kind).Requires library
thing-cmds.el
, which requireshide-comnt.el
.Predefined THINGS (library
thingatpt+.el
needed for some):sexp, button, char, char-same-line, color, comment, decimal-number, defun, email, filename, hex-number, line, list, list-contents, non-nil-symbol-name, number, overlay, page, paragraph, region-or-word, sentence, string, string-contents, symbol, symbol-name, unquoted-list, url, whitespace, whitespace-&-newlines, word
"Visible" means invisible text is skipped. Option
ignore-comments-flag
controls whether to also ignore text in comments. -
Command
fw-to-next-thing
. Moves to the start of the next THING (unlikenext-visible-thing
, which moves to its end).Requires libraries
find-where.el
andthingatpt+.el
needed for some).Library
find-where.el
lets you get something at a position where an arbitrary predicate is true (not just a position at the start of a text THING), or move to such a position.E.g., function
fw-next-thing
returns the next THING and its position, and commandfw-to-next-thing
goes there.E.g., this defines a command to move to the beginning of the next sexp:
(defun to-next-sexp (n) "Go to next start of a sexp." (interactive "p") (fw-to-next-thing 'sexp nil n))
Likewise, for
fw-next-where
andfw-to-next-where
, which look for the next place and some data where some predicate is satisfied.See the Commentary in
find-where.el
. -
Commands in library
isearch-prop.el
to search within the text of certain things.E.g.,
isearchp-imenu-non-interactive-function
searches only within (or only outside of) definitions of functions that are not commands.isearch-property-forward
searches only within text that has (or doesn't have) a given text or overlay property.isearchp-zones-forward
searches only within (or only outside) the text of a given set of zones (i.e., within a noncontiguous region). -
The old library
hideif.el
lets you hide text that's withinifdef
s.
https://www.emacswiki.org/emacs/download/thing-cmds.el
https://www.emacswiki.org/emacs/download/hide-comnt.el
https://www.emacswiki.org/emacs/download/find-where.el
See my reply above. You can use either thing-cmd.el
or find-where.el
for that. You just need to define "statements of a given type" as a THING or define a predicate that is true for them. Or if their text has some property (even just face
from font-locking) then isearch-prop.el
will help.