• Hexarei@programming.dev
    link
    fedilink
    arrow-up
    11
    arrow-down
    7
    ·
    8 months ago

    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 r 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

    • tiredofsametab@kbin.run
      link
      fedilink
      arrow-up
      15
      arrow-down
      1
      ·
      8 months ago

      That’s really neat, but I don’t think I do that often enough to really make the performance hit of learning a whole new thing and memorizing keyboard shortcuts and commands worth it. I don’t find myself refactoring code a ton, especially after moving to a more TDD-like model.

      • Hexarei@programming.dev
        link
        fedilink
        arrow-up
        9
        arrow-down
        1
        ·
        8 months ago

        It’s less about refactoring and more about navigation of your code while editing. Ever wanted to delete a single word? daw deletes the word your cursor is currently in. How about "copy everything up to (but not including) the nearest “D” on the current line? yfD.

        The whole point is that editing code in the middle of writing it, not just refactoring it, is immensely faster.

    • oce 🐆
      link
      fedilink
      arrow-up
      9
      arrow-down
      2
      ·
      8 months ago

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

      Those tasks are a very small part of work time, so most people don’t feel the need to optimize it.