Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)
00-11 @alien.top
BOT
Posts 0
Comments 6
Doom or Spacemacs?
  • 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.

  • Doom or Spacemacs?
  • 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.

  • How do you quickly navigate inside a source file using emacs ?
  • 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 and C-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 use next-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 requires hide-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 (unlike next-visible-thing, which moves to its end).

      Requires libraries find-where.el and thingatpt+.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 command fw-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 and fw-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 within ifdefs.

    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

    https://www.emacswiki.org/emacs/download/thingatpt%2B.el

    https://www.emacswiki.org/emacs/download/isearch-prop.el

  • How do you quickly navigate inside a source file using emacs ?
  • 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.