7 ms·
Controversial comment here, but I would say Vim isn't popular at all. I would say instead, Vim advocates are incredibly vocal (a bit like Vegans and Crossfitter
by saberience 6y ago
Controversial comment here, but I would say Vim isn't popular at all. I would say instead, Vim advocates are incredibly vocal (a bit like Vegans and Crossfitters) and won't hesitate to talk about it at all times.
I've been engineering now since 2002 so approaching 20 years and sure, every office has one guy who's the "hardcore" Vim guy. Everyone else in the office uses Visual Studio or VSCode, Atom, Sublime, IntelliJ etc. But the "Vim guy" is the by far the loudest guy in the room when it comes to discussing his editor, tries to tell everyone else why their editor sucks, how superior Vim is, etc etc. Meanwhile all the users of VS and other editors quietly get along with their work and feel no reason to advocate for their editor like it was a religion.
At my current company it's the same. We have maybe 300 engineers. 99% of them use VS or VSCode, there's probably one or two guys using Vim and still telling everyone else they're dumb for using VS... In 50 years when things have changed completely, there will probably still be some guys using Vim telling everyone else they're wrong for using VR Coding with voice recognition (or whatever is happening in the world of coding then).
- eddieoz 6y agoI think they are just being posers. When we compare the efficiency of debugging (p. ex.) it is clear who can find the problem fast. Today if I'm conducting an interview and the someone tries to convince me he/she is a good programmer and just use vi/vim, I need to rethink my decision because it can compromise the whole project. I'm not saying they are not good, but having the capability of fast debugging and solving problems fast is crucial sometimes and is part of the whole package. I was that kind of person someday and I understand the feeling. But for devops, vim or emacs are the all-in-hands tool and everyday editor, just because they are available in everywhere and work very well on terminal mode.
- 1_player 6y agoI don't get it. Are you saying vim users are bad programmers and bad at debugging?
- flippinburgers 6y agoSpoken like someone who has never gotten accustomed to the power of vim :) Do you know who would likely "compromise a project"? The junior dev that is unable to stray outside their IDE when getting things done.
- xtracto 6y agoInteresting comment. I've been programming for more than 25 years. Have used stuff like GWBASIC, TurboPascal/C , fancy ide like VisualStudio, Eclipse, Netbeans and the new kids like atom or vscode. I even used DDD at some point. Line debugging becomes less and less valuable as you become more mature in you dev career. Sometimes you have a race condition bug, some times the target architecture just doesn't provide it (devkitpro/devkitarm or embedded) and sometimes bugs that are evident in production just cannot be replicated in your debugging environment. In my experience it is more valuable to improve skills of building mental models of the system at hand, get effective with console logging for key info and troubleshoot issues that way.
- ohgodplsno 6y ago>some times the target architecture just doesn't provide it (devkitpro/devkitarm or embedded) and sometimes bugs that are evident in production just cannot be replicated in your debugging environment. It happens, yeah. What mostly happens is that 99% of software development has debuggers available and that they are infinitely better and more useful when resolving issues. Printing, then realizing you don't have enough info, chaning your code, recompiling, printing, etc, is just not good software development practices. Live with your constraints when you have no other choice. Use the tools that have been a standard in the industry when they are available to you.
- jgwil2 6y agoI think you should evaluate candidates based on the skill/knowledge they show in the interview and trust that if that is up to par, then they will be competent to choose the tools that work best for them.
- oalae5niMiel7qu 6y agoIDEs are great for the early stages of a project, but once it hits production, this is the only debugging flow that has ever worked for me: 1. Read the logs. 2. Read the code that produced the logs.
- koonsolo 6y agoThat is too bad. I'm a Vim user and combine the best of both worlds: vim plugin in VSCode. A few of my colleagues are vim users, and fortunately for the others we are not as vocal as you describe. I already accepted of being the weirdo that uses vim, because my programming skills make up for it ;). I do have a shortcut to disable it, when we do some pair programming.
- deergomoo 6y ago> vim plugin in VSCode. How is that these days? I used it a couple of years ago but it had issues at the time, namely some performance problems and getting stuck in a particular mode. I ended up abandoning vim bindings because the JetBrains plugin was also buggy, and I straight up had no feasible way to get those bindings in Xcode, but I hold out hope for a glorious LSP-based future where I can just use vim and get all the benefits of my other editors.
- artemave 6y agoIf you haven't already, you might want to check out coc.nvim https://github.com/neoclide/coc.nvim https://github.com/neoclide/coc.nvim
- leppr 6y agoCoc.nvim is awesome. Instead of trying to bring the UI of vim to another editor, coc.nvim brings the "backend" of the other editor to vim. I tried using VSCode with the Vim plugin for a while but the latency and inconsistencies eventually got me back to proper (neo)vim. UIs are almost always more complex and subtle than people intuit, have a large surface area, and make lag and inconsistencies most noticeable.
- MFogleman 6y agoThere are a few. I am using VSCodeVim[1] with the default settings (besides the typical `jj` command) I love it, and using anything else feels weird. I remember having some problems with it before as well, but I haven't bothered looking at the settings or anything for months. I had to go back just now to see if I had any weird configs set up, (I don't) [1]https://github.com/VSCodeVim/Vim.git https://github.com/VSCodeVim/Vim.git
- apexalpha 6y agosounds a lot like the IRC guy... https://xkcd.com/1782/ https://xkcd.com/1782/
- anthk 6y agoIRC users don't use vim, but nvi. They don't need any more. They probably use entr(1) and make(1).
- LilBytes 6y agoI sent this comment to my colleague, I'll see if it triggers him... :-)
- deleted 6y ago[deleted]
- gpmcadam 6y agoDid you not read TFA? ~25% of web devs in the SO 2019 survey said they used VIM as their editor. Amongst dev-ops that number is higher, around 40%. https://insights.stackoverflow.com/survey/2019#technology-_-most-popular-development-environments https://insights.stackoverflow.com/survey/2019#technology-_-... So your anecdotal example of "99% of people using VS or VSCode" doesn't ring true for the industry as a whole.
- saberience 6y agoPeople could select more than one option in that survey (87,317 responses; select all that apply). You'll notice that the results add up to more than 100%. Most people who have to remote in to a server will be forced into using Vim sometimes, which will skew the results. Also, I would say that people who would respond to a SO survey arent a representative sample of all developers. I do not use Vim as a daily driver at all, but I have to use it sometimes because I have no other choice (remoted in to a box). So if I had to say which editors I used, Vim would be there... sometimes.
- mumblemumble 6y agoYou're misinterpreting that graph. The key detail to note there is that the bars don't add up to 100%. Meaning that it's showing what percentage of people use that IDE/editor at all. The phrasing, "~25% of web devs... used vim as their editor," implies that 1 in 4 web devs use it as their primary or preferred editor, which is not something that can be inferred from the data. For my part, when I answered the survey, I checked vscode, intellij, vim, jupyter, emacs, and rstudio. Most of those are there because they're my preferred editor for some task or other, but vim is only there because it's the only editor I can expect to have available on every server I ssh into. So, while I did say that I use vim in the survey, I would encourage you not to count me as a vim user for the purposes of any popularity debates.
- jgwil2 6y agoFYI, the guidelines state: > Please don't comment on whether someone read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that."
- 6y ago
- psychoslave 6y agoIn my experience, after University, I never see team members extensively dispute on this topic. I have a strong preference for Vim, but if other are fine with other tools, that's nice. We can possibly show each other how we manage things differently. It's not like Vim is perfect, and even taken the sharp learning curve apart, there are many things that are not ideal. But so are other tools. I tried some IDE here and there, but never found an improvement in my productivity – which would be certainly easier to improve by not going to sites like Hackernews. :D I do find some things in some IDE horrifying, like having the amount of RAM consumed by the application displayed in the default interface, and seeing it growing while you don't ask anything to the application. I mean, even dropping the fact that it does require so much resource to do nothing, what a strange idea to clutter the interface with this data if the goal is to let users focus on there issues. But that's no reason to be zealot of any other editor, including Vim. I'm rather confident that going with a matrix with measurable metrics, Vim wouldn't have rated 100% everywhere nor any other tool would. To me the greatest feature of vim is that it's available virtually everywhere, so you can take it and the skill you gained on it everywhere. It doesn't make it something should use all the time, but it makes the point on how it might worth the effort to start learning it. That also a positive retro-active loop, that explain "why Vim is so popular", I guess.
- Bnshsysjab 6y ago> there are many things that are not ideal I’ve never used vim, mind sharing what it’s weaknesses are?
- me_me_me 6y agoCode browsing and inspection is somewhat hampered by the fact its CLI. I use ctags and macros to move around code but its not always perfect. But then again there are many things I dislike in modern IDEs, I don't think there is a ideal solution, just like there is no one language to solve all problems.
- antonvs 6y agoThere are graphical versions of vim. Gvim is my main editor. It's a bit of a hybrid, since many things that would exploit the GUI in an IDE are still textual in vim. But it has quite a few benefits over pure command line.
- strathmeyer 6y agoHave you considered that every person who uses vim has sat down at a new job and been told by their boss how much they're going to love their IDE?
- _wldu 6y agoSaying vi and vim are not popular is like saying Unix and Linux are not popular.
- squiggleblaz 6y agoAlmost every editor allows you to interact with it as though it's Vim. But most editors don't allow you to interact with them as though they're any other editor. I think that's a point in Vim's favor? (I certainly don't use Vim for most of my coding. It's not good enough. But I do use Vi keybindings in VSCode, Visual Studio and PhpStorm depending on what language I'm using. I'm not particular enamored of VSCode either, btw, for the same reason that Vim isn't good enough - sure, it can do what you want. But you can't guess how to do it. You need to read the documentation. VSCode one ups Vim in just one way - it has a gui for searching and installing plugins. Visual Studio and PhpStorm allow you to browse the menus to find the facility you want. It may take for ever, but when you have some downtime, you can browse and use your learnings next time.)
- 488643689 6y agoThis. I just want hjkl and dd in every editor, but I don't use any other vim idiom often, and things like multiple cursors or alt+up/down move lines are the editor's fancy features I rely on most. (Sadly the VS Code vim plugin is broken all the time) But hjkl I need even in my webbrowser. (In Thunderbird I've send many mails to junk by accident.)
- 0-_-0 6y agoI use Autohotkey to map Caps+H to Left, etc. systemwide
- Lambdanaut 6y agoPretty much this. I'm learning Godot and love almost everything about it over Unity... except that its IDE doesn't have a vim-mode, which is ALMOST a deal-breaker.
- wool_gather 6y agoAs a data point, Mac OS native text controls have a handful of Emacs-style text commands that use Control -- like ^t, ^e, ^h, ^b, ... -- baked in.
- divan 6y agoMost vegans are actually quite quiet about it, so it’s a sort of survivorship bias, where you simply have no way to find out how many non vocal vim users out there :)
- walleeee 6y ago> I would say Vim isn't popular at all. The fact that most popular editors and IDEs (every one you mention) have VI/VIM plugins suggests otherwise. It's (usually) not the editor itself that people find appealing. It's the key bindings. It's the fact that you can navigate around a file without reaching for the mouse.
- kiplkipl 6y agoSoftware engineering is far bigger than your niche.
- thedracle 6y agoBeing at a company where most people do not use Vim definitely has caused a great deal of consternation and discussion about why I use Vim, and why I don't use a "real" IDE. It becomes a hot topic of discussion without my wanting or really worrying about what other people are using. I think the comparison to Veganism is a good one--- people think it's a flex, when in reality I just like it and it helps me get my work done.
- sbmthakur 6y agoWell, I am the only guy on my team who uses VScode-Vim and I don't preach. I understand that editor is a personal choice when it comes to development.
- drbojingle 6y agoSo Vim has more champions. Sounds like you experience ineffective ones all the same.
- mbar84 6y ago> VS and other editors quietly get along with their work and feel no reason to advocate for their editor like it was a religion. Well of course not, because their editors SUCK!