• JustARegularNerd@aussie.zone
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 days ago

    I’d be curious to know why. I know just enough about vim that I can use it if I’m forced to (perhaps a barebones Linux system) but usually my default text editor is nano - what makes vim that much better for development?

    • ChaosSpectre@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      5 days ago

      For me, its the massive range of editting manipulation it provides, and the reduction of dependence on using a mouse. For context, I have some level of wrist injury, so my complaints around mouse usage mostly stem from that.

      I would love to explain in detail what makes Vim great, but I think noboilerplate on youtube did it best with this video: https://youtu.be/sqm4-B07LsE

      But if I had to explain one of my favorite parts of vim, its the fact that I keep finding new solutions to improve my ability to edit code with an ease I had never felt before. Using ‘vf’ in order to easily highlight from where my cursor is to whatever character I want to get to has saved me so much time when rewriting variables or cleaning up code. Ive barely learned about what EX mode can do, but being a lot of work involves correcting other code or duplicating it for use with a different part of the code base, being able to use the substring command is drastically more helpful than your standard ctrl+H will do. Easy example :.,+5s/foo/bar/g Colon is what puts you in EX mode. Period is the current line, comma indicates this is a range, +5 means the next five lines, s means substring which is the command that we are using. “foo” is the word to search for, “bar” is what “foo” will be replaced with, and g means to replace all instances. Drastically more robust and useful than what ctrl+H does.

      Vim just makes it easier to manipulate text. Its drastically reduced strain on my wrists, and puts me in a flow state far more often than I ever experienced before I used it. Its kind of like aiming in a first person shooter with a mouse instead of an analog stick. Both will get the job done, but a mouse is drastically more capable at being accurate. Thats what vim feels like for coding for me.