6 ms·
I tried very hard to get used to Vim. I just feel compared to something like Visual Studio Code it's still very clunky. I can understand why people who have us
by 127 9y ago
I tried very hard to get used to Vim. I just feel compared to something like Visual Studio Code it's still very clunky.
I can understand why people who have used it for a decade prefer Vim over other text editors. They already know how to use it and how to integrate it into their workflow. For a newcomer this task, it seems, is nigh insurmountable.
Are there people who recently got into it and think it's the superior way to code and why?
For me, it was a lot of wasted time trying to learn Vim and finding out that other editors that I already use are as good or better.
- dozzie 9y ago> I just feel compared to something like Visual Studio Code it's still very clunky. From my perspective, if you're trying to turn Vim into an IDE, you're using it in the wrong way. Vim is an excellent text editor and leave it at that. Whatever you still need (build system, file management, version management, package management, debugging, log collection, and so on), build your environment with external tools that have nothing to do with Vim.
- dan00 9y agoThere's no question, that editors like vim or emacs have a very steep learning curve and it might not payoff for everyone. I'm using vim now for ~15 years and it all started during university on a unix machine with a limited number of options, so I was somehow forced to learn either vi or emacs. I don't know if I would have ever learned vim if I had the options of today. But I also like powerful tools, so perhaps I still would have, and what I like most about these more powerful editors is the ability to optimize them to my prefered workflow. Sometimes you've to fiddle a bit around, which can be very annoying, but at the end I almost always get to a solution I like to work with.
- cocktailpeanuts 9y ago> I tried very hard to get used to Vim. I just feel compared to something like Visual Studio Code it's still very clunky. This just means you failed to get used to Vim. Has nothing to do with it being "clunky". I use Vim for many cases, and other IDEs for when I'm forced to use them, such as Android studio (IntelliJ) for Android, XCode for iOS, and certain languages where it's hard to remember the syntax, so I think I'm qualified to answer, coming from a user of all of these editors. For dealing with API-heavy frameworks I think IDE is good. But even then I prefer to have some sort of Vim plugin integrated into the editor so I can take advantage of shortcuts from both the IDE itself and the Vim scheme. One benefit with Vim is that it's become almost a standard that you can find vim plugin in any IDE (Except for recent changes in XCode) so you can just expect to jump on to any editor and be immediately productive, without having to learn each editor command. You don't have that for Sublime or Atom. Sure some editors have similar commands for dealing with similar features, but not always. It's an "editing scheme", not just a single editor. This is why it's much more efficient in the grand scheme of things than any other editors exactly because of that, in my opinion. Editors will come and go, but editing schemes are forever.
- mbag 9y agoWhat I found about Vim is that it requires a bit of mind shift, compared to other IDEs. I came to the game very late, but yeah, I've been editing with Vim for the past 6-7 years. My primary motivation when moving to Vim, was that I didn't like using mouse and then running back to the keyboard to write text. Now, it might not seem like much time is wasted during this shift, but imagine doing this many time during work day and it adds up. Furthermore, I did a lot of editing on remote systems, which were headless, so you didn't get graphical editors. When learning Vim it's not wise to learn about everything at once. start slow at first, lear a few commands, then when you find you are doing something many times, try to find way to optimize it. Try not to use mouse for highlighting, use different visual modes instead (visual line, visual block are great). Here is article be the Vim author which can give you some hints on how to edit files: http://moolenaar.net/habits.html http://moolenaar.net/habits.html And as he mentions there, it can be applied to making your editing more efficient with other editors as well, so it's not a waste of time :)
- executesorder66 9y ago> Are there people who recently got into it and think it's the superior way to code and why? I started coding with Visual Studio, and then later Eclipse. I like both IDEs. I only learned about vi/vim about a year after I started programming, and it looked intimidating. 2 years after that, I decided, fuck it, let's see if I can do this. It took me one day to learn how to comfortably navigate with the hjkl keys, as well as how to copy/paste and save/exit. Which was all I needed at first. Over the next two weeks I learned a few more things that you could do, and I never looked back. It wasn't difficult at all to learn vim. The only thing that I can think of that would make it difficult to learn, is if you don't know how to touch type. As for why I think it is superior: The . (repeat) action is so insanely useful and saves you so much time. Most actions are blazingly fast compared to a gui text editor. e.g. To delete a whole line just press dd instead of home + shift + end + delete Memorizing all these shortcuts is easy, becuase they are based on a 'grammar' that makes new command combinaitons easy to guess. There hasn't been one feature that and IDE has that I used, which can't be achieved in vim (or via a plugin) vim doesn't take up crazy resources, and is installed on most systems by default anyway. And the startup time is almost instant.
- rootlocus 9y ago> Most actions are blazingly fast compared to a gui text editor. e.g. To delete a whole line just press dd instead of home + shift + end + delete Ctrl + X works on most 'gui text editors' > There hasn't been one feature that and IDE has that I used, which can't be achieved in vim (or via a plugin) How does "find references" work in vim? If i want to find all usages of a method called "getName", does it know how to differentiate between calls on an object of the class I'm searching from, or usages from all classes that have a "getName" method (aka dumb text search)?
- Asooka 9y agoDepends on the language. For C/C++ there is rtags, which compiles your code with clang and extracts type info, after which it can find all usages of said method on the exact class you're searching for. I personally use ctags and rtags together for code browsing, to alleviate problems one or the other has. Rtags can be a bit unstable and slow-ish, while ctags is just for definitions and somewhat of a dumb text search. So far every C/C++ IDE I've seen on Linux has been incredibly dodgy, unstable, resource-hungry, etc. The text editor compoment is invariably light years behind vim and the actual "integrated" parts are of similar quality, so I continue using vim with enough plugins to get the job done. That doesn't really give you an IDE, it gives you a coding component of a Non-integrated Development Environment, where you build and test on the commandline by running commands and scripts, commit by running git, etc. I'm honestly perfectly fine with an NDE, as long as each component does its job reasonably well. I've tried various gdb integrations and they're so horrible, I just learned how to use vanilla gdb on the console. So yes, setting a breakpoint means copying the method name from vim and pasting it in gdb's commandline, but the important part is that it works and keeps working and doesn't set the breakpoint wrong, or crash, or put my editor in some weird state, or lose connection with the debugger (literally how??), etc. So I just use ol' reliable tools to get the job done without fuss. About the only one that I've seen that actually works is QtCreator, but its license costs more than VisualStudio's, and it's definitely not worth the price (to me or my employer). CLion I've also heard good things about, but couldn't put through its paces enough before the trial period ran out.
- corpMaverick 9y agoI coded in vi for years using a vt100 terminal. I used emacs for a couple of years. Went back to vi when vim came out. I still use vi when I need to make a quick change from the command line. It is very useful when you log remotely. But I would hate to use vi for software development when we have IDEs, and modern programming editors like sublime.