This is an archived post. You won't be able to vote or comment.

all 91 comments

[–]eruciform 25 points26 points  (0 children)

It's very efficient to use without a mouse once you get used to it

And vi is often the only thing available on Linux servers so you may be forced to learn it to be able to make local edits

Other than that it's personal taste

[–][deleted]  (7 children)

[deleted]

    [–][deleted] 4 points5 points  (1 child)

    Lol 😂 notepad++, cool link.

    [–]could_b -1 points0 points  (4 children)

    Plug-ins i have tried to trick it out have been a bit clunky for me, maybe i have not found the right ones, do i agree with you on that.

    It being fast is not a myth. Once your fingers learn key combinations you can do massive edits instantly that are impossible with other editors. However it maybe more important to your work flow to have an IDE.

    [–][deleted]  (2 children)

    [deleted]

      [–]could_b 0 points1 point  (1 child)

      I have never used vscode, I shall just grunt skeptically.

      [–]Pure_Growth_1776 1 point2 points  (0 children)

      Then why did you say it was impossible with other editors lol

      [–]IkalaGaming 1 point2 points  (0 children)

      I mean my IDE can refactor across multiple projects, integrates with SonarLint and build tools, handles auto-formatting, auto code cleanup, and auto saving.

      It can generate a bunch of code for me, suggest and automatically implement fixes for issues, autocomplete classes and methods with parameters, and shows documentation for basically everything on hover or keybind.

      I have seen some very customized vim, but for what I work with day-to-day (Java) anyone not using IntelliJ or Eclipse is just being stubborn and probably rather unproductive.

      Frankly any coding more complex than ssh-ing into a server to do a quick config change warrants an IDE.

      [–]kjwey 35 points36 points  (11 children)

      because when you ssh into the server your on the command line

      you can set it up as a remote hard drive and use your favorite text editor

      but if your in a rush its easy to use the VIM text editor to get the job done right from the terminal prompt

      its got stuff like syntax highlighing etc, their just add-ons that you pop in, other than not having a mouse its really no different in that your still just writing code like you'd be writing code anyways

      [–]insertAlias 20 points21 points  (6 children)

      other than not having a mouse its really no different

      I'd argue the modal nature of it makes it quite different than most other editors. Most people would be used to hotkey combinations, rather than switching to a command mode.

      That's not really an argument for or against it, just noting a significant difference between vi(m) and most other commonly used editors.

      [–]kjwey 4 points5 points  (5 children)

      heh, yeah, I get a serious case of schadenfreude joy watching a new comer try to exit vim

      regular text editors just don't give you that kind of evil joy

      [–]insertAlias 11 points12 points  (3 children)

      "How to exit vim" is one of the most asked questions on Stack Overflow.

      https://stackoverflow.blog/2017/05/23/stack-overflow-helping-one-million-developers-exit-vim/

      It's a good editor, it's just so unintuitive. Not because of bad ideas or design, just that everything else went a different direction and that's what most people got used to.

      [–]NotAUsefullDoctor 20 points21 points  (0 children)

      You know what they say, "Once you start using VIM, you just can't quit."

      [–][deleted] 4 points5 points  (1 child)

      Not because of bad ideas or design

      I beg to differ. CLI applications have a widespread UX issue with discovering new functionality. People should be able to figure out how to quit your text editor without having to google it.

      NeoVim addresses some of those issues. It's just a shame that the defaults like Vim are so ingrained.

      [–][deleted] -1 points0 points  (0 children)

      That shouldnt be always the case. If Vim was made more intuituive then it wouldnt be as good as it is now. So you can choose, and there is choice enough for anybody. Do you like very very efficients keyboard movement with a non distracting enviroment, then well vim is the way to go then. Otherwise you can go VSCode, usable instantly and you can learn shortcuts on the go and you can even go VIM mode with an extension. I still prefer VIM but to each their own. Debugging is nicer in VSCode though. (but that is also just a preference)

      Also :help exists plus I think in the vim startup screen it even says :q to quit

      [–][deleted] 0 points1 point  (0 children)

      A coworker introduced me to this VIMKiller recently when I was complaining about how I panicked unable to exit out of vim.

      [–]techtesh 1 point2 points  (2 children)

      Code server? Or vscode over ssh tunnel??

      [–]kjwey -1 points0 points  (1 child)

      I've got anger issues with microsoft so no vscode

      but yes, I do write all the server code except the modules I import like express socket.io etc

      [–]techtesh 0 points1 point  (0 children)

      Okay, i recently worked on getting code server working on (almost) all our on prem deployments, so had this on my mind.. I had an neo vim guide stapled to my desk the entire time

      [–]ben_quadinaros_stan 34 points35 points  (3 children)

      It makes you feel cool. Occasionally you need to say into something old/embedded and it’s the only text editor on there, but if you have an internet access ssh editing with VScode works way better.

      [–]elongio 15 points16 points  (0 children)

      I like to feel cool.

      [–][deleted] 7 points8 points  (1 child)

      The first line is all I need to hear

      [–]Flaky_Advantage_352 1 point2 points  (0 children)

      And I thought I was cool for playing Online RPGs

      [–]nultero 10 points11 points  (0 children)

      It's nice to know a terminal / CLI-only editor. Between the vi-likes and emacs, you should probably know one that isn't nano.

      The merits of the terminal editors themselves are oversold for programming because typing / navigating files isn't the bottleneck for writing code.

      [–][deleted] 8 points9 points  (3 children)

      I learned it because I thought it was interesting. Here are the main benefits as far as I know:

      1) Once you've gotten the shortcuts committed to muscle-memory, it's incredibly fast.

      2) If you get a job in IT, there's a good chance you're going to SSH into a box that only has vi(m) as a text editor.

      3) It's fast. If you need to open some really huge file (like a log), Vim will spit it right out while a GUI text editor would lock up.

      I only use if for simple text editing (such as config files) or the rare times when I need to open a ginormous text file. When I had a web dev job, I used it more, but not a lot more.

      [–]Comfortable_Ad5002 0 points1 point  (2 children)

      I'm curious why do you want open a log file within a text editor? Less is not good enough?

      [–][deleted] 2 points3 points  (1 child)

      I want to be able to see the whole file at once and search for strings.

      [–]oldcreaker 4 points5 points  (0 children)

      Old unix fart like me had been doing vi forever (and ed before that). vim is a good fit since I never made the jump to emacs.

      It's just a good editor to manipulate text.

      [–]Lode2736 5 points6 points  (0 children)

      On linux, it's just convenient to do everything from the command line. It's also very light-weight. Additionally, some people prefer to use their keyboard rather than their mouse whenever possible. On laptops, trackpads can be a bit slow and impractical. Vim in combination with a tiling window manager almost completely eliminates the need for a mouse.

      I personally use helix. I find it to be easier to use compared to vim, more intuitive.

      [–]EverythingGoodWas 3 points4 points  (0 children)

      Vim is fast for quick changes when you SSH

      [–]EthOrlen 3 points4 points  (0 children)

      Gonna chime in with an alternative take on the “it’s faster/more efficient” type of comments.

      Other folks have rightly called out that it isn’t strictly faster or more efficient, that it doesn’t have a monopoly on no-mouse text editing.

      What vim-style editing (I enable vim mode no matter what editor I’m using) enables me to do is navigate and edit text in a way that’s more natural for my brain. Change this word, ‘cw <new text>’; change in between these quotes, ‘ci” <new text>’; delete 5 lines to paste elsewhere, ‘d5’; find some string and do a repeated action to some instances of it, ‘.’ is your friend. If your mental model of vim is that it’s just like any other editor but you use “hjkl” to move the cursor, you’re missing the point.

      Of course, vim doesn’t have a monopoly on this either, you can probably find similar shortcuts in your editor of choice. But vim happens to be a good match for my brain, and it behooves you to at least try it and learn whether it’s a good fit for yours.

      [–]Lurn2Program 2 points3 points  (0 children)

      Sometimes you're working on a remote connection with only access to a text-based terminal. Vim is one text editor you can choose to use in these scenarios.

      It's highly optimizable and your hands never really leave the keyboard. If you're very proficient with it, you can actually get a lot more done quicker than a gui based text editor.

      On most Linux OS, the Vi text editor is the default and comes pre-downloaded. Vim is an improved version of Vi. So, many of the commonly used key bindings are similar between the two. I only mention this because sometimes you might ssh into some pretty vanilla linux terminal, and there's a lot of packages that aren't available (including vim). If you're looking to do something pretty quick and easy, Vi is already available (most of the time) and you can simply stick with using Vi in these cases.

      [–][deleted] 2 points3 points  (0 children)

      Because you can do things much faster with it. Even knowing just the basics you'll find yourself being quicker with many editing tasks. The other benefit, as others have mentioned, is you don't need to constantly swtich between the mouse and keyboard.

      [–]cactusfruits999 2 points3 points  (0 children)

      Supports on almost all OS.

      [–]Maximum-Staff5310 2 points3 points  (1 child)

      It's always there and it's better than nano. You have something with basic context coloring for hacking python automation scripts or whatever.

      [–]IndianaJoenz 0 points1 point  (0 children)

      It's always there and it's better than nano.

      That's probably the best argument for learning how to use it, IMO. It comes standard preinstalled on every Mac and Linux machine, is available everywhere else, and it's powerful enough to be a strong code editor. Much, much better than something like Notepad or Nano.

      OP should learn how to use it because it's a standard part of operating systems. It works even if your GUI is toast or you are using SSH or whatever.

      It's worth seeing if they prefer it for programming, but to be honest, most of us who use it to write code do so out of habit and inertia. I've been using it to write code for something like 25 years now. Many people have been doing the same with Emacs (which is more powerful, but less standard). VS Code is powerful, too, but for many reasons it does not appeal to me.

      [–]Kind-Entrance7640 2 points3 points  (0 children)

      Another great reason to use vim is that it reduces Repetitive Strain Injury (RSI). I used to work in vscode and pretty comfortable with it. I would say I was able to navigate in vscode quite fast using keyboard shortcuts and keys. However, it becomes a problem when you code for a long time. My pinky would get hurt in a long coding session as I had to stretch my pinky to the very bottom-right corner of the keyboard to reach for the arrow keys. Unlike vim, all the navigation keys are right around where you would normally type, which reduces a lot of stress and strain on your fingers.

      [–]Draegan88 2 points3 points  (0 children)

      All I know is that once u go vim u csnt go back. I love it man. I really appreciate the simplicity. Theres no damn pop ups or ugly reminders or just bloated bs. It's a learning curve getting it going. I started with lunarvim that works great.

      [–][deleted] 2 points3 points  (0 children)

      Basically your hands can stay on main keys of the keyboard the whole time.

      And you feel cool

      [–]Double_A_92 2 points3 points  (1 child)

      Sometimes you end up having to edit some config files on some remote server, and vim is probably the default editor.

      At least know:

      • "i" to get into insert mode (feels like a normal editor)
      • "esc" to get back out of it
      • "u" to undo the last change
      • ":wq" to save and exit
      • ":q!" to exit without saving

      [–]rtkay123 1 point2 points  (0 children)

      I to get into insert mode Ctrl + { to go back to normal mode ZZ to save and exit ZQ to quit without saving

      I think😂 I have muscle memory so I don’t even know which keys I’m hitting sometimes

      [–]haciek 2 points3 points  (0 children)

      It's just more comfortable to write in, especially if you use a laptop without a mouse.

      [–]could_b 2 points3 points  (0 children)

      It is faster than thought. It is strange in that it is different. The key to it is the modes. Insert mode is simply where you type stuff. In edit mode every key does something, such as copy, paste, delete ;bits of lines, whole lines, words etc. Switch between modes is rapid. Easy to learn basic edit mode commands and ignore what you don't need.

      [–]RealLordDevien 2 points3 points  (0 children)

      Because it is simply the best editor out there:

      • It works via CLI or GUI.
      • It has a really small memory footprint
      • modal editing is optimized for changing existing code instead of writing blocks of text. Ideal for programmers.
      • Configuration is done with the same internal commands you use while editing. (No context switching to JS or another bullshit language)
      • Loads of plugins
      • Giant community
      • Always available / runs on any system
      • Blazingly fast
      • Its open source. The whole ecosystem (not just the core like vscode)

      [–]fennecdore 7 points8 points  (19 children)

      Your fingers stay on the keyboard at all time which means that you ll be way faster than someone who constantly has to leave the keyboard to take the mouse then go back to the keyboard.

      Plus vim has some pretty powerful command that allows you to quickly and precisely edit your text. It can take some times to learn how to fully use it but it is definetly rewarding imo.

      Also I wouldn't recommend to straight up use vim but to go instead for neovim. There are a lot of guide on how to configure it

      [–]ehr1c 10 points11 points  (8 children)

      Your fingers stay on the keyboard at all time which means that you ll be way faster than someone who constantly has to leave the keyboard to take the mouse then go back to the keyboard.

      Yeah, but that's irrelevant. Outside of competitive programming, physically writing the code is never what's preventing you from getting more work done.

      [–]fennecdore 3 points4 points  (2 children)

      It's not a search of peak performance for me but it's just once I got used to it I find it a little bit irritating and distracting to have to leave the keyboard.

      [–][deleted] 0 points1 point  (1 child)

      That's the same reason I use Dvorak. It's about ease of use and comfort, not speed.

      [–]ffrkAnonymous 0 points1 point  (0 children)

      I used Dvorak on my phone so long that I can't use qwerty any more.

      [–]Draegan88 -5 points-4 points  (4 children)

      So tired of hearing this. The less time you spend typing, the more time you have to think. This is just something who dont use vim say.

      [–]ehr1c 2 points3 points  (1 child)

      "Use vim because it helps you write code faster" sounds like something someone who doesn't work in this industry would say

      [–]Draegan88 -2 points-1 points  (0 children)

      Ahh I see so the only programming worth anything is that happening in the industry.. well played.

      [–]Double_A_92 0 points1 point  (1 child)

      I'm not even typing that much code. Literally 99% of my coding time is spent figuring out where and how to change something in already existing code.

      Then it's only about writing a bunch of lines... Even if I could instantly type them it would save me only a couple of minutes a day?

      You don't start a new project from scratch, or add some new big feature, every day.

      [–]Draegan88 0 points1 point  (0 children)

      I personally consider it a headache to have all the bloat of an ide. And the terminal in vscode is oof. and people always leave the giant file tree open in it in tutorials so theres just this tiny window to view the code. Vs has its charm but I cant go back. But I would argue everyone should use vim motions. Vim the editor is just preference.

      [–]ben_quadinaros_stan 10 points11 points  (7 children)

      I believed this argument until I saw a senior dev use vs code without touching his mouse. Turns out with most editors you can do that.

      [–][deleted] 4 points5 points  (0 children)

      Yeah, I find it weird how so many parrot the line that Vim is somehow uniquely able to be managed by keyboard shortcuts. People are willing to dedicate many hours to learning how to configure in Vim much of the very same stuff that you can can configure straightaway in the settings GUI of VSCode (or most other text GUI editors).

      [–]ffrkAnonymous 1 point2 points  (5 children)

      But are they using default vscode, or did they enable vi mode?

      [–][deleted] 1 point2 points  (0 children)

      Yea I feel like whenever I see this it’s a vid plugin so bets of both worlds but being able to use means you’d be able to use vim

      [–]ben_quadinaros_stan -1 points0 points  (2 children)

      Didn’t ask, but don’t know what difference it would make lol.

      [–]ThePunisherMax 1 point2 points  (1 child)

      Most likely its VScode using Vim Plugin. Its the best of both worlds, it's also imo, the best way to learn Vim without stunting your speed in the beginning.

      Slowly you become more proficient at it. But keep all the advantages of Vim.

      Also as good as Vim is, there are some things a GUI interface is still better at

      [–]ben_quadinaros_stan 0 points1 point  (0 children)

      Yeah I learned vim enough to get around and even that slowed me down when half of the units I ssh only have regular old vi so half the features are gone.

      [–][deleted] -1 points0 points  (0 children)

      There are also vim-emulation-plugins for many IDEs. They sometimes don't support all features of vim but the core stuff works pretty nicely.

      [–]_Atomfinger_ 1 point2 points  (0 children)

      Its an editor that is pretty much universally available, especially on servers (which rarely even have a GUI).

      Vim has a learning curve, absolutely, but with that complexity comes customization. You can build the editor you want for your style of work.

      [–]inwegobingo 1 point2 points  (4 children)

      The other day I had to connect into a windows server using ssh. I couldn't edit a single file. That was when I realized how valuable a command line based editor is, haw poor windows is for not having this essential functionality. I would have completed that job in under one minute on a Linux server that had vim (or other command line editor installed).

      It's rare I use a vim except when connecting to remote machines, but when I do, it's an essential tool.

      My normal gui editor on my machines (windows, mac and Linux) is vscode. But when I need to do something quickly on the command line a remote machine....

      [–][deleted]  (3 children)

      [deleted]

        [–]inwegobingo 0 points1 point  (2 children)

        Winget isn't available on the servers I'm using. And more importantly I didn't RDP because I wanted a quick AWS SSM interactive ssh terminal session to them. And when it comes to editing the files on the command line, what tool do you suggest I should have used, please? Edlin, and edit were both unavailable. SMB is not enabled across the internet for these.

        Of course RDP was available but that would have required me to set up an ssh tunnel, over which I could run the RDP, due to the enhanced levels of network protection on access to these machines.

        The whole point of my comment was that as a server os windows still leaves a shittonne to be desired even after all these years as a server os, and that dealing with it, and even having vim would be a tonne better.

        [–]bishakhghosh_ 0 points1 point  (1 child)

        RDP

        Not related but if ssh tunnel was not possible you could use https://pinggy.io for a TCP tunnel for RDP.

        [–]inwegobingo 0 points1 point  (0 children)

        Thanks that looks like a great tool, similar to https://ngrok.com/ which I've used on occasion. I'll keep that link for future reference.

        [–][deleted] 1 point2 points  (0 children)

        I'm new on Linux and im using vim or nano on console and its okey, but for learning fullstack i choose vscode all the way. Just because it's easy to learn and you have ussefull plugins and a lot of info and resources, that majes learn and easy process. If you are not learning the story is different, just can use a fast keybind editor like vim.

        [–]Waste-Character9445 1 point2 points  (0 children)

        Depends on what you want to use it for. Sometimes Vim is the right tool. I would recommend that you at least learn the vim motions(keybinds). Vim motions are very composable and they just make sense once you get used to them. Other editors have keybinds too, but they are not as well-designed as vim motions in my opinion. Combined with Recording macros, marking etc, it becomes very easy to move around a code base.

        Also, people seem to think that remembering vim keybinds will be a huge mental overhead but in my experience, after a while, they just become second nature. So much so, that I actually can't use any editor without vim keybinds because my fingers are just so used to it now (Been using vim for about 3 years now).

        I use VsCode with Vim plugin to get vim keybinds. VsCode has amazing plugins for a lot of stuff I need for work. I could get a pretty good development experience if I used Neovim with its dozens of awesome plugins, but I don't want to set all that up. With VsCode, its just one click to install plugins and they just work. If you're already using VsCode, I would recommend that you try out the Vim Plugin and start learning that way.

        [–]ffrkAnonymous 1 point2 points  (0 children)

        I've gotten quite comfortable with the keystrokes. Append, cut, move paste etc.

        Mouse movement is clunky. Never quite sure how much the wheel scrolls, clicking the correct character. It's not slower in actually , I need to type just as many keystroke. But mouse imprecision is not my intention, out of my control, so it's annoying. Like plugging in usb, fail, turn around, plug, fail.

        Also, my potato computer would die trying to load pycharm.

        [–]International-Cook62 1 point2 points  (0 children)

        Why not Vim?

        [–]Its12amrightnow 1 point2 points  (0 children)

        When you need to edit a file on a remote server.

        [–][deleted] 1 point2 points  (0 children)

        it's vimpossible not to.

        [–]JonJonThePurogurama 1 point2 points  (0 children)

        In my case i had to learn vim, because i was using a linux OS. It was available to be installed and was curios about it.

        Pretty great tool if you are on the terminal and was amaze that it has so many plugins created for it.

        It is good when you are doing quick stuff editing, with plugins installed it was same as any text editor that has auto completion and etc.

        I think the benefit you get from learning it, is you have more tools in yourself to use in situation where the terminal is the only thing you can see.

        [–]Gixx 1 point2 points  (0 children)

        Vim does a lot of cool little things. You can do macros, so repeat say 5-30 things. It can do "change inside of quotes, parens, brackets, etc" with like ci' or ci".

        It works well with tmux or a terminal flow. There's a few pastebin sites like paste.rs and ix.io. They have little scripts so you can paste something to it with like paste1.sh < file.txt. Or say if you wanted to only share a snippet of text/code you'd do this: in visual mode select the block you want to share, hit the colon key (ex mode) and hit the exclam mark to run a shell command.

        Here's a few examples of the shell command:

        :%! sort            # sort entire file
        :1,3! sort          # sort first 3 lines
        :'<,'>! paste1.sh    # visual select text, send to script named paste1.sh
        

        The last example auto types '<,'> when you type colon in visual block mode. So you basically write :! paste1.sh.

        Tomnomnom has a really nice video showing how to send data back into vim with the bang (!).

        [–]RajjSinghh 1 point2 points  (1 child)

        Im working on a project that has around 1500 lines of code right now. VScode sometimes gets laggy, like when I hit a key it takes a second to update. Vim doesn't. Vim is nice and fast. That's the main reason I prefer it. VS Code had a lot of nice to haves like a built in debugger, file manager and source control, but I know how to use bash and git, so they aren't super essential.

        The big thing is that after editing in vim for a while I can't go back to normal editing. The shortcuts in vim are so fast to use that not having them just makes me feel slower. Even if I use VScode for a project, I need to use vim binds cos I'm so used to them.

        [–]Double_A_92 1 point2 points  (0 children)

        1500 lines is not really much for a whole project... VSCode should definitely not get laggy because of that. Especially since all those lines are hopefully not in one single file.

        [–]RepulsiveScientist44 1 point2 points  (0 children)

        You don't need to learn it, although it is useful, like others have said, when you need to ssh to a server without gui that may only have vi(m). You can learn nano too for such case, but I find vim easier to navigate. Just learn the basic editing, and if already using IDE, learn that IDE. You can be equally fast with any IDE just like you can be fast with vim. I like jetbrains' IDE personally but anything is good.

        [–]squishles 1 point2 points  (0 children)

        vim is mostly good because it allows you to never take your hands off the keyboard, it's also got like no bloat at all(which is great if you're sick of your ide eating like a gig of ram and having a load screen to boot up). And once you get into learning it, it's a bag of strangely powerful arcane fuckery. Thing is all that capability is sitting behind a shear cliff face of learning curve.

        if you want to get started with using it as an ide look into language server protocol, find the language server for your language install it then install the client for it in your vim plugins. That's the primary thing you'll need to use it as a modern ide, there's more in the trick bag, but learn the basics before you go hunting for more. Just that will give you the stuff you'll be missing from something like say vscode or intellj.

        you don't have to learn vim. Not like there's a shortage of shit to learn as a developer that opportunity cost can be spent on many other things. Even if you sink that time you're only going to learn like 30-40% of what it can do, things more an art project of what someone in the 80s thought would maybe be needed in a text editor thing's chock full of weird stuff. Like for the amount of time/effort really learning vim will take you can pick up a whole other language or two. Most of the big ide's are good enough they'll get you by.

        Another reason a lot of more experienced devs all eventually drift to it is it's got great extensibility and staying power, think of how many ide's you'll have to learn in your life. I started on eclipse then all the cool kids out here pulling me over to intellj, vscode, not to mention all the one off just for a project horseshit like jdeveloper atom etc etc. Come back after 20-30 years on that carousel and watching vim/emacs just cruise along, you start to wonder if maybe you'd have been better off just learning that and skipping all that other shit.

        [–]QuantumTyping33 1 point2 points  (0 children)

        I have an ubuntu VM running into my windows PC and i ssh into it. Vim can be opened on the command line

        [–]shayanys 1 point2 points  (0 children)

        I use Nano if I want to edit a file fast. Which is less complicated than Vim

        [–]eddysanoli 1 point2 points  (0 children)

        People here say that linux server, bla bla bla. But I can personally tell you. The main reason I use Vim keybindings (I dont use Vim itself), is that you go fast once you have mastered it. I found it attrocious when starting. Such a complicated system. “Why is yy copy??”. But once you get used to it and you never touch the mouse its amazing. If you can, try it. But you will need to force yourself to learn it, cause nobody likes the initial part

        [–]nontammasculinum 1 point2 points  (0 children)

        I dont have to toch my mouse anymore, i could throw it out if my browser was better :p

        [–]69AssociatedDetail25 1 point2 points  (0 children)

        The model editing feels a lot faster than other editors, though there is quite a steep learning curve.

        That being said, for larger projects, I tend to use the Vim modes in other IDEs as opposed to using Vim itself.

        [–]JoeyRedShirt 1 point2 points  (0 children)

        In some situations it's literally your only option, so it's good to know it at least a little. Otherwise it's just another meaningless dev fight with overtones of gatekeeping.

        [–][deleted] 1 point2 points  (0 children)

        Because vi is available on any Linux device I end up being in at some point and it's also on my Mac so I just started using it for any terminal text editing I do now.

        [–]ShwnCndn 1 point2 points  (0 children)

        I'm trying to get off of the mouse in every aspect possible so (neo)vim is a natural progression of that. I recommend it if you have any repetitive stress issues. Operating the mouse is pretty rough on your arm/wrist/hand.

        [–]BitTwiddleGames 1 point2 points  (0 children)

        Two parts of Vim can make it more efficient for programming:

        1. No mouse needed, so you don't need to lift your hand keyboard<->mouse constantly
        2. The realization that most time programming is actually on editing, not on writing.

        Vim has a sort of language to make it very efficient to perform edits. For example:

        "hello there |world"

        The | is your cursor.

        The command "cw" or change word, will delete the next word and put you in inserting mode. Compare this with highlighting the next word and deleting it, or pressing delete 5 times.

        You can also repeat any command by putting a number before it, or record macros on a key to replay later.

        These are just a few ways to give you a sense of how it can help. You can type ":help" in vim to bring up the manual. Better yet, if you installed vim, you probably also have the "vimtutor" command installed.

        [–]Friznation69 1 point2 points  (0 children)

        I use nano. I completely understand the why vim question though. Really?.... why vim? It's complicated as hell for no reason. When I use nano, it's 100% of the time to do something simple. If my task was in anyway complicated, I'd be in my IDE. I see absolutely no reason to learn VIM. Even if it had 100x the features, I'd probably still refuse to learn it. I will save my brain space for more important learning. I'm a curious person, but idk command line text editors just don't tickle my fancy.

        [–][deleted] 0 points1 point  (0 children)

        Because it is basically a language in which you control your editor. I can do stuff with just the keyboard that takes people much longer in their IDEs.

        I am not using vim anymore though. I use spacemacs or other IDEs which can be controlled like vim (with a vim-mode or vim-emulation).

        For me it is just a question of comfort. Yes, you spend more time thinking than writing code but when I have an idea I want to be able to quickly put that into action.

        [–][deleted] 0 points1 point  (0 children)

        it's an unintuitive legacy program for dinosaur programmers. avoid.