11 ms·
Your comments about Vim's learning curve are spot on, and I don't think any vimmer will disagree with you, but the argument they make (which I agree with) is th
by NickPollard 16y ago
Your comments about Vim's learning curve are spot on, and I don't think any vimmer will disagree with you, but the argument they make (which I agree with) is that the cost/benefit ratio is worth it.
If you only code every now and then, so you've got a lot of time between sessions to forget things, and not a whole lot of time in total, then something like Visual Studio which has good 'discoverability' is going to be better for you - as you say, if you get lost just go to the menu and it does a pretty good job of showing you around.
If, however, you are coding full time for a living, spending at least 8 hours a day 5 days a week coding (and let's face it, for most people on HN it's probably more like 12 hours a day 6 days a week), then spending even 2 whole weeks getting to grips with an esoteric but POWERFUL editor like Vim will very quickly pay off in terms of time saved and productivity gained.
- tieTYT 16y agoIs there anyone out there that has given eclipse/intellij idea a fair chance and decided Vim was better for coding java? It's difficult for me to imagine coding without the built in refactorings it provides and shortcuts like ctrl+n and ctrl+alt+h.
- steveklabnik 16y agoI've heard from lots of vim people that do actually use Eclipse to make up for Java's inadequacies, yes.
- w1ntermute 16y agoThere are Vim emulation plugins for Eclipse, if you want the best of both worlds.
- SkyMarshal 16y agoAnd don't forget eclim, a Vim front-end for Eclipse (or an Eclipse back-end for Vim): http://eclim.org/ http://eclim.org/
- limmeau 16y agoSounds exciting but a little scary. Have you used it?
- SkyMarshal 16y agoNot exactly. I tried setting up a really complicated system with Eclipse running as a server in a VM and my local Vim serving as the head to it, but haven't gotten that working yet. I prefer Vim as the frontend, but was hoping to add Eclipse's code correction and refactoring to it. But that's also the most complicated of the three options, and least well supported right now.
- rincewind 16y agoI have used it in order to develop an eclipse plugin for vim. It took some time to set up, but then it worked as advertised. I could use vim inside eclipse. It exposes all the mistake detection and completion stuff of the regular Eclipse editor, but triggered by keybindings instead of automatically.
- tieTYT 16y agoAssuming that that java bash was in context, I have to say that the IDE features I mentioned would be useful for almost any language: Refactorings: I can rename a method in one location and it will change all the calling code. This would be dangerous to do by hand: Best case scenario, there would be a compiler error for all the broken code. Worst case, that method name was already overloaded and you just introduced a bug. ctrl+n: Open any file that's in your project. It can find the file by camel case or pattern matching and it only includes files in your project. ctrl+alt+h: See a tree of all the callers of a method. Extremely useful when you're considering a refactoring. You can instantly answer the questions, "Is anyone calling this method?", "Is anyone calling the methods that are calling this method?...", "What will be affected by this change?", and so on.
- alinajaf 16y agoAlthough not as comprehensive as the eclipse refactorings, ctags go some way towards giving you similar functionality in vim.
- runT1ME 16y agoI'm learning Vim because of my three years using Eclipse. Built in refactoring is pretty awesome and the Eclipse debugger is the best debugger there is. However, over and over, on each of my projects that used Eclipse, inevitably multiple team members would have Eclipse crash and throw their entire workspace into disarray. Sure Eclipse might give you a 20% boost of productivity day to day, but that once every six months catastrophic disaster it would cause negated a lot of it. Sometimes Eclipse would have trouble talking to the database, sometimes it would screw up its project file, other times it would outright corrupt files, cache things wrong, etc. This wasn't just for me, it was the experience many of our programmers had at various companies. Now I'm working on my own project, and it's not near as large so I haven't felt the pain of not having magic-refactor. I've been forced to hack on a script to provide step-through debugging capability, and probably once a day I'll google to find the right keystrokes to do something, but I feel in the end, the effort is more than worth it.
- anon_d 16y agoVisual Studio which has good 'discoverability'. Not my experience at all. It's a sea of confusion and pain.
- georgieporgie 16y agoWhat about the VS editor do you find confusion and painful? Not counting project-related issues (e.g. knowing what project settings to twiddle and how to do so can be difficult to figure out).
- Groxx 16y ago.NET Personally, the god-awful slow file switching, frequently-incorrect highlighting, almost totally worthless JavaScript, ASP, and ASP server-side code support, XML comments with no built-in documentation builder nor viewer, text-column editing that's a total joke, and the always-helpful "too many warnings" error are my most recent peeves. I hate VS. With a passion. I cannot believe that such a painful-to-use program is held up as the pinnacle of programming experiences. So why do I use it? Because .NET defies logic; framework-wide intellisense is the only way to do anything in it. Give me almost any other language/framework and in a few days I can get by almost entirely with a programming text editor and occasional official-documentation browsing. Several months into .NET code, I still Google more than I MSDN, StackOverflow more than .NET-developer-blog, and the massive style inconsistencies between different sections of the library mean I cannot go into any new area without Visual Studio to hold my hand and kick me in the nuts.
- georgieporgie 16y agoIt sounds like your most of your complaints are with the .Net platform, library layout, and the compiler. For what it's worth, I've always found Microsoft APIs to vary profoundly in terms of usability and (especially) documentation. And MSDN hasn't been directly useful to me since the VS 6.0 days. Can you give me an example of an editor with better text column editing? I'm not entirely sure what you mean.
- jberryman 16y ago> Your comments about Vim's learning curve are spot on, and I don't think any vimmer will disagree with you I would disagree with the gp's assertion that there is an extreme amount to learn to obtain basic editing efficiency. A dozen commands or so and gvim so you can use the mouse should take you 20 minutes and a bit of practice to feel comfortable with.