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: (Score:2)
Re-reading that and realize that it says Komodo Edit is closed source. That's not right, realized it after I hit submit. Komodo Edit is FOSS. Komodo IDE is closed.
Re: (Score:2)
Actually, Komodo Edit was open-sourced a while ago, only the Komodo IDE continues being closed-source (and commercial as well). However, one of the features missing from Edit is debugger integration so it probably won't satisfy the original poster's criteria.
Also, I'm pretty sure there are ways to use ViM as the editing component in VisualStudio as well, but I've never tried them so I don't know how they work.
Re: (Score:2)
http://www.vim.org/scripts/script.php?script_id=864 [vim.org]
It runs - I don't use VIM so I never ran it.
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.
Re:Netbeans ( or others ) (Score:4, Funny)
I don't think VS runs on Linux.
Re: (Score:2)
Comments like this make me essentially certain that you edit text slowly and inefficiently.
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: (Score:2)
Agreed, ViEmu makes Visual Studio *far* more pleasant to work with. You get all the advantages VS provides (IntelliSense, in particular), plus a fairly complete Vim emulation.
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: (Score:2)
CTRL-Z
vim file.2
CTRL-Z
%1
CTRL-Z
%2
CTRL-Z
I much prefer job control to screen or GUI or mouses. This is something that Windows still doesn't get right. A decent fork(), terminal emulation and job control.
Re: (Score:2)
You should check out ratpoison, if you haven't already. Basically it's a screen-like WM. Instead of ^A it uses ^T and the binds are almost identical.
Re: (Score:2)
Oh, I already use xmonad (switched around 2-3 weeks ago and haven't looked back), but I'm so used to GNU Screen for terminal management that I just stick with it.
Re: (Score:2)
GNU screen provides many more features than just window-switching, like:
* copy/paste without the mouse;
* screen inside screen, for hierarchical window organization;
* search the scroll history (and copy text from there);
* protect your session from X session lockup;
* access your session from another machine.
Re: (Score:2)
+1 for netbeans with the plug-ins you want.
For years I kept trying IDEs ... and hating them. It always seemed like they got in the way more than they helped.
I started using netbeans for some Java work I was doing when it was called the "Java One Studio" or something like that ... really liked it. Since then it's only gotten better and I pretty much use it for everything that isn't a 5 minute job.
Re:Netbeans ( or others ) (Score:4, Informative)
Re: (Score:2)
viPlugin isn't free as in speech or free as in beer either. :(
Re: (Score:2)
But it's cheap (~USD$20) and made by a single developer who gladly will give you the source and accept bug reports directly and even fix them occasionally. It's a pretty good deal.
Re: (Score:3, Funny)
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].
Don't you need Emacs to do that?
Re:Netbeans ( or others ) (Score:5, Interesting)
I tried eclim and found, pretty quickly, that I reverted to the eclipse built in editor.
The problem that I had was that well, it didn't add the capabilities to vim, as much as add vim to the IDE.
I love vim, but, the ability to highlight individual lines and give me specific errors, especially as I am new to java and tend to make silly errors still. More than that, just the ability to have it cleanly (mostly, I have issues with eclipse's built in editor too) pop up a list of what methods are available on an object as I go serves both to help me refer to docs less, but also to remind me of what I am doing.
Overall, I do prefer vim because I am so used to it. The ability to switch modes, and run a quick regex over a whole document, or do it from here to the end of file, or just do it on the next 10 lines... so handy! I really wish I could get the best of both worlds, but, for now... I need the other features more.
Re: (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
Re: (Score:2, Informative)
Re: (Score:2)
Emacs! (Score:5, Funny)
Re:Emacs! (Score:5, Funny)
Yeah, it's a great operating system. If only it had a decent text editor =)
Re: (Score:2)
Well since it supports VI binding I guess it has a decent editor.
Re: (Score:2)
But why does anybody still wants to run Vi?
Ofcourse there are some die hards here that read /. with lynx, but anybody that views /. with a graphical web browser, like FireFox or Konqueror has a computer that's powerfull enough to run Emacs at insane speed...
Back in the day Vi was lightweight and all that, but since that's no longer the problem... why? Why? For the love of God... WHY?!
Must be the people that learned it Back In The Day (TM) and sticked to what they learned, but is there any reason why new kid
Re: (Score:2)
It's nice to learn vi if you use *nix systems because it seems to be installed on almost everything, making it very convenient. If that's all you have and you don't know it, hilarity ensues. :-) Or frustration. Whatever.
Re: (Score:2)
Myself, I use Ed.
command mode baby.. (Score:4, Insightful)
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
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.
Re: (Score:2)
Better yet try :200 it works from anywhere in the file.
Re: (Score:2)
Re: (Score:2)
vim is fast, powerful, user friendly, and quite picky about it's friends.
Don't you mean, vim has so few friends because its so difficulty, the social reject can pretend to be picky, but its just deluding itself :)
Re: (Score:2)
Re: (Score:2)
Because it's the only editor thus far whose interface has been designed towards terseness. That everything in Vi can be done only with a few, short commands is not only a lifesaver when you're stuck with a slow-ass terminal, as it was originally designed to be, but also a great productivity boost in everyday usage once you learn to use it.
Emacs gets often compared to it because, although its focus is clearly on power rather than speed, it's still far superior to modern-day editors that aim towards learnabil
Re: (Score:2)
Its not a joke, you can run vi in it.
Duh... (Score:2)
I think there's an app for that on the Emacs operating system.
Comment removed (Score:3, Interesting)
Re: (Score:3, Interesting)
Don't need to use .pro files anymore (Score:2)
At least in 1.3, you can now use CMakefiles (which I use) or regular makefiles as well. The only downside is that it IS made for C/C++.
That said, it is by far my favorite IDE...made the switch from a simple text editor a year ago and haven't looked back...and that's after trying Eclipse....
Why not extend vim? (Score:3, Insightful)
Re:Why not extend vim? (Score:4, Funny)
Because, if you allow vim to be extended, it may accidentally become an operating system [wordaligned.org].
Re: (Score:2)
Extending vim is normal practice -- where'd you get the idea that it's a sin?
Check out some of the plugins for vim [spf13.com].
That said, I've found vim plugins to be not unlike emacs extensions, in that when one fails, it's probably gonna be up to you to suss out why and patch it.
Re: (Score:2)
where'd you get the idea that it's a sin?
RTFS d:
Re:Why not extend vim? (Score:4, Insightful)
The poster probably doesn't want to have to learn keybindings for a new editor. He may even already know them but just prefers vim keybindings. What he really probably wants is the luxuries of of a full IDE without having to give up the editing flexibility and familiarity he has with vim.
Re: (Score:2)
Doesn't emacs have a vi mode? IMHO that would provide both the full IDE and the familiarity of vi. I personally feel, as other posters have mentioned, that vi/shell/compiler/debugger are enough of an IDE but to each his own. What is that old saying? Unix doesn't need an IDE, it *is* an IDE. Or something like that.
Re: (Score:2, Insightful)
If you wanted lean and fast, you'd run vi, not vim.
Re: (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
Re: (Score:2)
KDevelop4 (Score:4, Informative)
Eclipse plugins? (Score:2)
what about GVIM? (stupid answer)
Here are some VIM eclipse plugins:
http://vimplugin.org/ [vimplugin.org]
http://eclim.org/ [eclim.org]
Though I tend not to like these since the native plugins for whatever you might be developing inside eclipse tend to be more complete.
Re: (Score:3, Informative)
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.
Re: (Score:3, Interesting)
Umm vim supports plugins, and there is of course a GDB one.
Sorry, no. I absolutely adore Vim and use it as my primary editor, but when it comes to debugger integration, Vim sucks. Hard. Decent GDB integration with Vim requires patching Vim. Why? Because Vim has *terrible* support for multiplexing interaction between the user and external processes (well, unless you're willing to settle with gvim, in which case clewn can use the NetBeans interface). ie, Vim is simply not architected to properly handle
IDEs With VIM Text Editing Capability? (Score:3, Interesting)
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.
Re: (Score:2)
IDE (integrated development environment)
Congratulations on being the first (and apparently only) poster to define what IDE means in this context!
But I'll have to penalize you a point for only doing it by quoting someone else defining it.
I'll leave it to someone else to backronym eSATA to refer to a development environment.
("The term Advanced Technology Attachment is kept, but is an anachronism. The last IBM PC/AT is now nearly dead, and has been for many years.")
Komodo IDE (Score:2)
I haven't tested it thoroughly, so I don't know how much of the VI command set it implements, but Komodo IDE has a 'vi' mode, and I believe it would fulfill your other requirements as well. (As a plus, it's fully cross platform, so you can use it everywhere)
At the risk of starting a flame war (Score:5, Insightful)
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.
Moving in the wrong direction (Score:2, Funny)
Real men (still) use ed:
http://www.gnu.org/fun/jokes/ed.msg.htm [gnu.org]
Re: (Score:3, Informative)
Re: (Score:2)
(.)a is append mode, with the line address before it. eg: "25a" enters append mode at line 25.
(.,.)c is change mode. the lines are deleted, new lines appended in their place. eg: "24,26c"
d works like c, but just deletes the lines.
i is insert mode.
typing a single "." on a line alone exits the editing mode.
w writes the file out.
q exits.
Ed does have a nice manpage, and can be powerful enough for most basic tasks.
Re: (Score:3, Insightful)
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.
Been there, done that, emacs, x-emacs, emacs with the GTK stuff. Am sticking with vim. I've been using vim since 1992-1993, back on my Amiga.
Re:At the risk of starting a flame war (Score:4, Insightful)
I've only been using VI for 10 years, but still is almost impossible for me to work in any editor now where there aren't modes.
What made me choose VI over Emacs back in the day [tm] was the fact that my hands aren't build for the ctrl voodoo used in Emacs.
Re: (Score:3, Insightful)
Here's how you should type a typical Emacs chordal command: use both hands. For example, M-x is typed by pressing the x with the left hand, and the ALT with the right hand. This is touch typing 101. (Similarly, you would type a capital letter by
Re: (Score:2)
Two control keys? Don't you mean three? Real programmers all redefine the evil Caps Lock as a control key.
Re: (Score:2)
Re: (Score:3, Informative)
M-x viper-mode
That's the only emacs command string you ever need to know.
Re: (Score:2)
M-x viper-mode
That's the only emacs command string you ever need to know.
Sadly, it doesn't seem to do vim. For instance, C-v (for block edit mode) fails miserably.
Re: (Score:2)
Odd, I do touch type and my keyboard is about 2 years old, guess I'm not "people"... (rtard).
While you might have no problem hitting ctrl with your girly hands, us guys with big hands will have to move and twist our wrist in order to get down to ctrl, key, which is a fairly uncomfortable thing to do, and doing it lots of times every hour is going to kill my wrist - having big hands means escape is in a natural position for me while alt and ctrl are far away from my fingers.
restore the correct position of ctrl keys (Score:2)
While you might have no problem hitting ctrl with your girly hands, us guys with big hands will have to move and twist our wrist in order to get down to ctrl, key, which is a fairly uncomfortable thing to do, and doing it lots of times every hour is going to kill my wrist - having big hands means escape is in a natural position for me while alt and ctrl are far away from my fingers.
It's probably yet another problem that can be traced back to Bill. I started seeing the mutant keyboards bundled with his "OS". The ctrl key, which gets used a lot, used to be where it could actually be reached, but that position defaults to the useless capslock key. Probably until 2003 or 2004, one of the first things for me to do on a new account with such a keyboard was to remap the position of the control keys.
I get too much pain in the wrists to try it your way, by contorting the wrists, to reach
Re: (Score:2)
This brings up an interesting (to me) point...
After I moved to Finland, I was amazed how many people here used Emacs compared to vi(m). I was trying to think of a good reason and the only thing I could think of was the arrangement of keys on the Finnish keyboards makes vi(m) much more awkward to use. For example, '/', which I use very often, is shift-7.
I guess the same might be true of many other countries' keyboard layouts (there are quite a few German emacs users too).
Re: (Score:2)
Interesting enough I knew Emacs (in the form of Micro Emacs) way back in 1987 on my Amiga, but after I understood what vi(vim) was about I've used that instead and never looked back.
So much faster to run and edit, and installed everywhere.
It does however suck at integrating a full development environment. Something Visual Studio and eclipse shines at (and even Emacs is know to handle better). Still when I have a lot of typing/editing to do and less debugging I'll use vim.
Real programmers... (Score:2, Interesting)
Gvim (Score:4, Insightful)
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.
Re: (Score:2)
ROFL! If you think OmniComplete, even with ctags or cscope, is anywhere *near* as capable as the intelligent completion available in Eclipse, VisualStudio, or any other comparable IDE, you're either horribly ignorant, or lying to yourself. And the idea that it's *better*? That's beyond laughable. And I say that as a diehard Vim user.
Comment removed (Score:3, Informative)
old school command line IDE (Score:2, Interesting)
when i get tired of typing i'll do a command line like
vi +100 program.c ; make; ./program arg1 arg2 etc
and then use command history (up arrow+return) to repeat it
it ends up being as fast as an IDE and it's much more flexible.
most importantly to me it works inside an ssh or telnet session with any old unix box.
Re: (Score:2)
its probably modded flamebait because he's not right. There is some support for each of those areas in vim, possibly excepting integrated debugging (depending on how you define integrated debugging, that is :) )
Switching TO Vim (Score:2, Interesting)
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
Re: (Score:2)
Extend Vim (Score:3, Insightful)
Sin (Score:2)
Extending VIM with these capabilities is a mortal sin
Then the worst sinners are the vim maintainers themselves. Even with just the default config, vim is full of IDE features.
Use Vim Existing Plugins (Score:2)
You don't have to extend VIM yourself. What's wrong with using plugins? There are many interfaces for debuggers and other things on the VIM website. Extending with plugins might just be easier.
pico! (Score:2)
Project Pane (Score:2)
I would be happy with just a project pane, like Textmate has, that doesn't look like ass. I love VIM, but that's pretty much the only thing holding me back from dropping Textmate.
Wing IDE (Score:2, Informative)
KDevelop (Score:2)
GNU Screen and vim is all you need (Score:2, Informative)
Not necessarily the silver bullet however... (Score:2)
Read the title wrong... (Score:2)
... I was kind of wondering why the hell terrorists needed VIM on an *IED*
Re: (Score:2)
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.
The OP explicitly asked for linux based IDE.
Re: (Score:2)
Read much? He mentions that.
Re: (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: (Score:2, Funny)
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.
Re: (Score:2)
Gnu screen? It's for neckbearded, suspender wearing, curmudgeonly *nix grognards who still think that X is a fad and that it will never take off. They use screen to play nethack over telnet with vi keybindings for movement, run compiles, chat on IRC using irssi, IM using finch with jabber protocol only, twitter using ttytter, and browse the net with lynx.
Non-neckbearded non-grognards would just use mrxvt tabs, because frankly, it has gnu screen beat on ease of use hand down.
Re: (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
Re: (Score:2)
Gnu screen? It's for neckbearded, suspender wearing, curmudgeonly *nix grognards who still think that X is a fad and that it will never take off. They use screen to play nethack over telnet with vi keybindings for movement, run compiles, chat on IRC using irssi, IM using finch with jabber protocol only, twitter using ttytter, and browse the net with lynx.
Non-neckbearded non-grognards would just use mrxvt tabs, because frankly, it has gnu screen beat on ease of use hand down.
And none of them would ever have to connect remotely to a competently-managed server (meaning no X).
Tool.
Re: (Score:2)
Intellij is the best. I regularly use the vim plugin for Intellij and the one for Eclipse. Intellij has much better integration. It does have some hurdles when there are new releases (it's a free plugin so no one is being payed to update it... though I keep hoping that JetBrains will adopt it formally).
Intellij's key binding is also the most sophisticated in general.
And with version 9 there is now a free community edition...