• Hexarei@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    The biggest benefit of (neo)vim is the motions.

    Honestly if you don’t use vim motions in your ide of choice, you’re missing out big time. Being able to do things like “Delete everything inside these parentheses”. di( or “wrap this line and the two lines below in a pair of {}” ys2j{ , or “swap this parameter with the next one” cxia]a. with a single shortcut is game changing.

    Even just being able to repeat an action a number of times is ridiculously useful. I use relative line numbers, so I can see how many lines away a target is and just go “I need to move down 17 lines” and hit 17j.

    Absolutely insane how much quicker it is too do stuff with vim motions than ctrl-shift-arrows and the like.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      3 months ago

      Honestly those things just don’t sound like common enough actions to be worth shaving 0.5 seconds off. How often do you know exactly how many lines to move a line by? And how often do you even need to move a line that far?

      I still don’t buy it.

      • pearable@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        3 months ago

        Relative lines means each line except the one your cursor is on is relative to your current line. Like this:

        5 5k jumps here

        4

        3

        2

        1

        6 your cursor is here

        1

        2

        3

        4

        5

        6

        7

        8 8j jumps here

        The main reason I like it is I don’t like mouse ergonomics. Keeping my hands on the keyboard just feels better

        • FizzyOrange@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          3 months ago

          Yes I understood that. My point is how often do you know you need to move a line exactly 17 lines? Do you count them? Clearly much slower than doing it interactively by holding down ctrl-shift-down for a bit.