4 ms·
What is the advantage of using vim these days over VS code, Sublime text or JetBrains to upload on save through ssh? Even if you took years to get vim right, I
by mekster 5y ago
What is the advantage of using vim these days over VS code, Sublime text or JetBrains to upload on save through ssh?
Even if you took years to get vim right, I still don't think it matches to the other 3 for programming.
What is your vim setup like?
The only place I use vim is for config editing on servers but not for programming.
- xigoi 5y ago(Neo)Vim starts up much faster than every IDE, takes up way less RAM, doesn't fill half your screen with buttons and toolbars, allows powerful modal editing with completely customizable keybindings, is very programmable, and can be used on pretty much anything that has a screen, including a phone.
- mekster 5y ago> (Neo)Vim starts up much faster than every IDE, takes up way less RAM Why do you care how long it takes to start up? It's either few seconds or 15 seconds a few times a day. People usually have enough RAM with a machine bought in the last 5 years and I don't see any buttons that fill half the screen? Most of the screen estate is folder tree or the code. Vim key bindings are everywhere it's not just for vim and I never code on phone.
- xigoi 5y ago15 seconds may seem like not much, but it's enough to go from “I have an idea, let's code it up” to “okay, I've cooked some tea in the meantime… what did I want to do again?” And Neovim's instant startup enables a workflow where I can just shut it down when I don't need it. Good for you that you're not a student having to use a cheap laptop for everything and sometimes not having access to it at the moment. Not everyone is so fortunate. Look at the first screenshot in the official VSCode repository, for example: https://github.com/microsoft/vscode https://github.com/microsoft/vscode Only about 20% of the screen is taken up by code. That may still be somewhat usable if you keep it fullscreen, but I prefer to have a 50/50 split with the web browser. Most Vim binding plugins are a complete joke. I've heard that Emacs gets it right, but that's not what we're talking about. I forgot to mention, Vim can be used for every language, including very obscure ones. With JetBrains, you need a separate IDE for each language — if there even is one.
- rank0 5y agoportability - vim works everywhere and my config is just a `git pull` away. VS code doesn't let you sync configs unless you sign in with github/microsoft account. Wack! flexibility - vim integrates very nicely with my terminal-heavy workflow. Its extremely hackable. I can zip around and pipe contents between my shell, unix tools, and vim buffers. For example, I can run a shell command from nvim and have its output automatically pasted into my current vim buffer at the cursors location. lightweight - It's a blazing fast tiny executable rather than a clunky resource hungry electron app. keyboard-centric - I enjoy my desktop the most when I don't have to move my hands from the keyboard. This is really just a personal preference. Also the vi keybindings are ubiquitous in unix tools and even some gui/web apps!
- mekster 5y agoI get that portability makes sense if you're shipping a software but how many different uncontrollable environments are you going to face? It's usually only a few environments that's under your control. > VS code doesn't let you sync configs I thought it's just a JSON file. > It's a blazing fast This depends, if you make your vim full blown to match the feature (which is probably not even possible), vim tends to start up pretty slowly. Vim key bindings are pretty much available on most editors out there. And you'll be losing so much from the vast list of plugins available in vs code. You can't autocomplete table names in SQL strings like in JetBrains, I've quit using vim 15 years ago as my programming editor.
- rank0 5y ago> I get that portability makes sense if you're shipping a software but how many different uncontrollable environments are you going to face? It's usually only a few environments that's under your control. At my day job and for my personal infrastructure, I routinely edit files across a wide variety of shuffling environments. I am a pentester by trade and also enjoy homelabbing, embedded systems, and working on my ADHD-fueled inventory of fun projects. I am not a dedicated software engineer that has to write polished production-quality enterprise applications. All my shit is held together by duct tape and bubble gum. I 100% understand why you'd want a beefy dedicated IDE for a product you're working on full time. > I thought it's just a JSON file. If VSCode has changed in the past couple years to json file that's great! But last time I tried I wasn't able to move around my config easily without signing into some web service. > This depends, if you make your vim full blown to match the feature (which is probably not even possible), vim tends to start up pretty slowly. Absolutely right! I keep my plugins minimal. You can do almost everything the plugins can with vanilla vim. > Vim key bindings are pretty much available on most editors out there. Also true! In my experience, its wonky and usually requires YET ANOTHER plugin. They're never at parity with all the vim actions. > And you'll be losing so much from the vast list of plugins available in vs code. > You can't autocomplete table names in SQL strings like in JetBrains, I've quit using vim 15 years ago as my programming editor. That's also fair, but I don't use most of those plugins. Only copilot (also available in nvim) and remote editing really amazed me from VSC. Everything else I can just do myself by spawning a shell, using pipes/redirects, and unix tools. For example, I don't need GUI elements for git baked into my editor...I just use the cli. You can definitely autocomplete SQL table names, but it would require some manual configuration. My autocomplete mostly pulls from strings in my open buffers. I'm not arguing that any either approach is inherently better, just stating my preference. And for the original topic of remote editing ssh+vim is my preferred solution. Absolutely language-specific IDEs have major benefits over a general purpose editor. There's also the FOSS philosophical argument but that's just a personal belief and really doesn't matter for all practical purposes.
- dist1ll 5y ago(1) No IDE can match (n)vim's coding speed. (2) Switching to the mouse is annoying. Dealing with lots of windows is inefficient compared to kb shortcuts. (3) If a large part of your workflow happens in a terminal environment, it feels natural to use it.