I’d like actual examples instead of “I work faster”, something like “I can move straight to the middle of the file with 7mv” or “I can keep 4 different text snippets in memory and paste each with a number+pt, like 2pt”, things that you actually use somewhat frequently instead of what you can do, but probably only did once.

  • borf@lemmynsfw.com
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    4 months ago

    Just being able to jump to the top of the file, bottom of the file, beginning or end of the line, or directly to a regex pattern match or particular character already gives me some of the same satisfaction as a video game with really tight movement controls. (I also like being able to jump to lines by number, manipulate lines by number or range, and I like being able to get to the top, bottom, or middle of the screen with one or two keypresses.)

    In the same vein, deleting arbitrary lines at a time, performing external operations only on lines that match a particular pattern, and saving macro recordings of repetitive manual changes all feel like multiplicative powerups. Heck, incrementing and decrementing with ^a and ^x feels like one more little cheat code. Bouncing on parentheses with % makes structured files easy to get around in.

    These are all things I’ve done with some regularity over the years.

    • I Cast Fist@programming.devOP
      link
      fedilink
      arrow-up
      6
      ·
      4 months ago

      Bouncing on parentheses with % makes structured files easy to get around in.

      That’s something I wasn’t aware you could do in vim. % jumps to the next parentheses character, whether ( or )? Does it work with brackets and curly braces too?

      • litchralee
        link
        fedilink
        English
        arrow-up
        6
        ·
        4 months ago

        So far as I’m aware, yes. As a C engineer, it’s also useful for jumping from #ifdef to #endif .

      • expr@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        It generally works with a wide variety of delimiters. There’s a widely used plugin to make it work with even more, including language-specific keyword pairs.