IDEs With VIM Text Editing Capability? 193
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 ( or others ) (Score:5, Informative)
Netbeans [netbeans.org] with the Vi Vim for netbeans [sourceforge.net] 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 [viplugin.com] for Eclipse [eclipse.org] as well - I just happen to like Netbeans better.
The ActiveState folks list VI key bindings as a feature for their Komodo [activestate.com] 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.
Re:Netbeans ( or others ) (Score:1, Informative)
On the eclipse side, there's also a plugin to embed VIM into Eclipse [vimplugin.org] and even a plugin to embed Eclipse into VIM [eclim.org].
KDevelop4 (Score:4, Informative)
Re:Netbeans ( or others ) (Score:5, Informative)
And if you want to use Visual Studio then visit the main download page
http://www.vim.org/download.php [vim.org] and get:
ftp://ftp.vim.org/pub/vim/pc/gvim72ole.zip [vim.org]
(OLE GUI executable, A GUI version with OLE support. This offers a few extra features, such as integration with Visual Developer Studio. But it uses quite a bit more memory.)
And you can safely disregard the more memory part, if you are already using visual studio :D
http://vim.wikia.com/wiki/Integrate_gvim_with_Visual_Studio [wikia.com] for tips if you need help setting it up.
Vim has integration already (Score:5, Informative)
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.
ViEmu + Visual Studio (Score:1, Informative)
Normally, I'm a vim+make guy, but I occasionally have to use Visual Studio. The ViEmu [viemu.com] plugin was the best $99 I've ever spent on windows software. Doesn't embed vim, but it does support all of the vim extensions I use on a regular basis. It's actually pretty impressive how much of vi/vim they manage to implement - you quickly forget that you're not in the "real thing".
They also have plugins for Word,Outlook,etc but I don't use those programs so I haven't tried their plugins.
One minus: I don't think it works on the free version of VS (which I believe lacks plugin support in general) so this only applies if you have the full VS distro.
As a UNIX partisan, I can't recommend VS as your primary environment (so I guess I'm not answering the posters question, really) but if you're like me and just need a windows environment occasionally, I highly recommend checking it out.
Extending Vim is a mortal sin? What? (Score:2, Informative)
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.
Comment removed (Score:3, Informative)
Re:Eclipse plugins? (Score:3, Informative)
Re:Expensive cake, but you can eat it (Score:2, Informative)
Buy a copy of Visual Slick Edit for Linux.
Great piece of software. But yes, quite expensive cake. http://www.slickedit.com/ [slickedit.com]
Re:Why not extend vim? (Score:1, Informative)
As the OP, I definitely do not want to learn the EMACS keystrokes. I admit I don't want emacs because it is an essentially an operating system, not a method of inputting text. EMACS developing interests are concerned with it making it larger and putting its name on totally unrelated widgets. vim is more concerned with text editing.
Re:Moving in the wrong direction (Score:3, Informative)
Re:Netbeans ( or others ) (Score:4, Informative)
Wing IDE (Score:2, Informative)
Re:Netbeans ( or others ) (Score:4, Informative)
This is not informative to anyone who wants to use a recent version of Visual Studio (ie, anything since VS2003) because it does not work. There is a lame workaround to open the file externally in vim and save it back. You need to use ViEmu [viemu.com] if you want a vi mode in VS. It is commercial software, but worth it. If you are stuck on VS5 or 6, god help you; a vi mode is not going to save you.
In any case, what the OP is looking for is actually just vim and the knowledge to use it to its full potential. Extending vim is not a "mortal sin," it is very useful and done all the time. There are plugins and examples for everything the OP wants to do, and if he likes vim he will probably like these better than clicky IDE.
Re:Netbeans ( or others ) (Score:3, Informative)
For highlighting current lines and specific errors (Assuming you mean compile time errors), read up on quickfix (:help quickfix). It's more for C apps, but I've found a few references for getting it to work with java (in the help file even!)
For the pop up list of methods, look into autocomplete (:help i_CTRL_X You may have to download the javacomplete.vim file, search vim.org for it) and possibly ctags (:help ctags) (or :help jtags for a java specific version of ctags) Your distribution probably already has ctags on it, if not get Exuberant ctags from http://ctags.sourceforge.net
GNU Screen and vim is all you need (Score:2, Informative)
Re:Netbeans ( or others ) (Score:2, Informative)
Re:Netbeans ( or others ) (Score:4, Informative)
Funny, I don't find gvim provides any major advantages over regular vim. After all, I'm using vim... I've already chosen to use the keyboard for most things, so the improved mouse integration is basically useless. Meanwhile, I can embed vim in GNU Screen, which makes for a much more convenient environment, as you can spawn and switch between new terminals quickly and easily, right from the keyboard.
Re:screen ftw? (Score:3, Informative)
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. ;-)
Re:At the risk of starting a flame war (Score:3, Informative)
M-x viper-mode
That's the only emacs command string you ever need to know.
Re:Why not extend vim? (Score:3, Informative)
Basically, this person wants emacs but doesn't want to admit it because he thinks that emacs is too bloated.
I don't think so. I really love emacs, but there are four things that I really would like to have and that you can find in most IDEs: proper support for out of source builds, on-line help for functions/classes, contest based highlighting of #ifdef blocks and something like Intellisense (there is something available in emacs,but is still in development, didn't try it for a while though).
Kdevelop 4 will provide all of this and kate finally supports binding TAB to emacs like automatic indentions (*) for most cases which makes it a good candidate for emacs replacement. I think they also provide vim bindings.
(*)for me the TAB feature is one of the killer feature of emacs - the other being able to define the indention style of the file in the first two lines or based on the source directory in .emacs)
Re:command mode baby.. (Score:4, Informative)
if I want line 200 I type in 199j from the top..
Try 200G instead - works from anywhere in the file.