IDEs With VIM Text Editing Capability?
An anonymous reader writes "I am currently looking to move from text editing with vim to a full fledged IDE with gdb integration, integrated command line, etc. Extending VIM with these capabilities is a mortal sin, so I am looking for a linux based GUI IDE. I do not want to give up the efficient text editing capabilities of VIM though. How do I have my cake and eat it too?"
Netbeans with the Vi Vim for netbeans plugin.
Netbeans is FOSS, runs on Windows, Linux and OS X. It handles Java, C/C++, PHP, Python, Ruby, Groovy and does a bunch of other stuff.
There is the viPlugin for Eclipse as well - I just happen to like Netbeans better.
The ActiveState folks list VI key bindings as a feature for their Komodo and Komodo Edit products. These are closed source though Komodo Edit is free as in beer. It is cross platform - covering the win/lin/mac world.
I'm sure there are other options but those are the largest projects I know of that do what you want.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
Is there anything Emacs can't do? :-)
Carousel is a lie!
Qt Creator has Vim bindings. It's possible to create non Qt applications messing with settings on the .pro file.
English is not my first language. Corrections and suggestions are welcome.
Could anyone explain the reason why simply extending vim is being ruled out? Why is it considered a "mortal sin"?
"A witty saying proves nothing." - Voltaire
I know it's not out yet, but the katepart (the editor widget) already has a VI mode that supports most of the original commands and modal editing. Worth giving a try: the betas are getting better and better...
Umm vim supports plugins, and there is of course a GDB one.
Also there is an integrated command line called :! :%!whatever to replace it with output
or if you want to get more fancy you can open multiple buffers and
Vim easily integrates with the shell. You just have to know how to use both.
I'm not entirely sure of not extending vim but "not wanting to give up the efficient text editing capabilities of VIM" could mean.
Its, a IDE and will allow you to use vim as well.
Try Emacs.
Seriously. The integration with gdb, gcc, etc is where Emacs really shines. Yes, the Control-Meta-cokebottle commands are a bit annoying, but there's worthwhile tradeoffs there.
The first post was also quite useful. And to be fair, I like vim too.
I am officially gone from
Gvim is pretty good, it might still be too lean for what you are asking for, I would say it's more an intermediary step between vim and a big gui ide.
A lot of people use stuff like MiniBufExplorer or Taglist or Vim 7's built in OmniComplete. Everything an IDE can do, Vim itself can do a lot better.
Patrick "Diablo-D3" McFarland || http://AdTerrasPerAspera.com
Comment removed based on user account deletion
After having tried vimplugin and not being happy with it, I'm now trying out vrapper: http://vrapper.sourceforge.net/home/ and having a better experience with it.
Buy a copy of Visual Slick Edit for Linux.
Great piece of software. But yes, quite expensive cake. http://www.slickedit.com/
I'm currently working on switching away from my IDE to vim. There are plenty of plugins to put it on par with most IDEs, and honestly, a lot of the stuff in modern IDEs is just fluff. As for loading down Vim with all the extra stuff, I don't have the plugins autoload, but rather load after I run a script to transition it to my own "IDE Mode." This keeps Vim small and fast when I'm doing ordinary editing. I'm still in the transition phase, so I may not have seen all the disadvantages yet, but as far as I can see, the advantages outweigh them.
I'm also aware that Emacs does it quite well, but I'm more of a Vim user, so I'll stick with that unless I run into a wall and have to use Emacs in Viper Mode instead.
Mortal sin? First, get over your ridiculous predisposition against extending vim. Vim is built to be extended, and extending it can make it much more useful as a tool and not just an editor. If you're good enough in Vim to prefer it as a text editor, then make it comfortable as an environment. There are some amazing extensions for vim, that for me at least, make me much more productive than using an "IDE". Fuzzy file finder, exuberant ctags with taglist, minibufexplorer...
Real men (still) use ed:
http://www.gnu.org/fun/jokes/ed.msg.htm
If you're doing web work, primarily python, Wing IDE has great VIM support. It supports custom vim configurations and all of the good stuff. It has a free version, but I threw down some cash (d to get a sweet integrated debugger and test-running capabilities. I found it superior to both Netbeans and pydev on Eclipse, but both of those also support VIM text editing (with plugins). Basically, pretty much every decent python editor I've tried has supported vim either natively or via plugins.
Seriously! Why re-invent a wheel just to put it around your old wheel. EMACS already does everything and even comes with a psychotherapist plugin to help you cope with the debilitating side effects of C-x 2 C-x o C-u 25 C-x ^ syndrome.
Vim has so many IDE features (autocompletion, ctags, syntax), hundreds of plugins that let you customize your environment.. snippets, Doxygen, debugging, compiling.. I'll only suggest you one thing: better concentrate on improving your Vim environment than searching for any other tool that embeds it. Use Vim with GNU Screen after all, that'll give you true IDE experience.
... use butterflies ! http://xkcd.com/378/
if I want to change all of the X to - in an amino acid sequence line I type :s/X/\-/g
yea.. I'm sure that emacs can do it too.. But once all that brainpower is invested, theres no way I'd bother with emacs.. It's like a secretary changing to dvorak after she's hit 200wpm
vim is fast, powerful, user friendly, and quite picky about it's friends.
Storm
Non-neckbearded non-grognards would just use mrxvt tabs, because frankly, it has gnu screen beat on ease of use hand down.
First, there are multiple ways to get graphical "tabs". Second, tabs work best in limited-use scenarios (you'll quickly run out of real estate, for example). And third, screen has a good number of useful features not available to any implementation of tabs, including the ability to detach/re-attach, logging, monitoring, and split views.
There is the overhead of having to repeatedly type ^C-a (or ^C-SPACE, in my case), but that's hardly a problem if you've got real work to do.
For the record, I shave regularly and have never worn suspenders. ;-)