Slashdot Mirror


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?"

44 of 193 comments (clear)

  1. Netbeans ( or others ) by stoolpigeon · · Score: 5, Informative

    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?
    1. Re:Netbeans ( or others ) by iMaple · · Score: 5, Informative

      And if you want to use Visual Studio then visit the main download page
      http://www.vim.org/download.php and get:
      ftp://ftp.vim.org/pub/vim/pc/gvim72ole.zip
      (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 for tips if you need help setting it up.

    2. Re:Netbeans ( or others ) by stoolpigeon · · Score: 3, Funny

      I don't think VS runs on Linux.

      --
      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?
    3. Re:Netbeans ( or others ) by rvw · · Score: 2, Funny

      On the eclipse side, there's also a plugin to embed VIM into Eclipse and even a plugin to embed Eclipse into VIM.

      Don't you need Emacs to do that?

    4. Re:Netbeans ( or others ) by TheCarp · · Score: 4, 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.

      --
      "I opened my eyes, and everything went dark again"
    5. Re:Netbeans ( or others ) by oren · · Score: 3, Informative

      There's also http://www.viemu.com/ (it costs $$$, but if you are forced to use VisualStudio...) and http://ideavim.sourceforge.net/ (free plug-in for IntelliJ IDEA). And for people who use EMACS as their IDE, there's http://www.emacswiki.org/emacs/ViperMode :-)

    6. Re:Netbeans ( or others ) by schnablebg · · 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 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.

    7. Re:Netbeans ( or others ) by Anonymous Coward · · 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

       

    8. Re:Netbeans ( or others ) by bongey · · Score: 2, Informative

      I must ask when did your try eclim? Because the features you like that are in eclipse are in eclim. I use eclim in mostly headless mode. It provides auto complete for java, ant, c++. Ctrl+X Ctrl+U . I changed the key bindings to have window next match the vim bindings. The latest versions also fill the quickfix list. So you clist, can cn cn cn to all your compile errors. I also use ctags along with eclim, ctags gives you the jump to declarations. Omni complete plugin I have tried eclim, visual slickedit , pida, vim plugin for eclipse and I find eclim to be the best for vim+IDE for java at least. C/C++ would be great if the dam indexer work better in eclipse , it just blows for c/c++ Only ding is debugging doesn't really work with eclim and the outline doesn't load for the current buffer you are using.

    9. Re:Netbeans ( or others ) by Abcd1234 · · Score: 3, 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.

  2. Emacs! by Saint+Aardvark · · Score: 5, Funny
    1. Re:Emacs! by rainmaestro · · Score: 4, Funny

      Yeah, it's a great operating system. If only it had a decent text editor =)

  3. Qt Creator by vbraga · · Score: 2, Interesting

    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.
    1. Re:Qt Creator by StackedCrooked · · Score: 3, Interesting

      Qt Creator's Vim bindings are not complete yet. For example keystrokes like yiw or diw don't work. Recording macro's (which for me is Vim's killer feature) also doesn't work. That aside it's a great piece of software. Actually, it is the only IDE that I find usable on Linux.

  4. Why not extend vim? by Paradigm_Complex · · Score: 2, Insightful

    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
    1. Re:Why not extend vim? by frank_adrian314159 · · Score: 3, Funny

      Because, if you allow vim to be extended, it may accidentally become an operating system.

      --
      That is all.
    2. Re:Why not extend vim? by Subliminalbits · · 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.

    3. Re:Why not extend vim? by FreeBSD+evangelist · · Score: 2, Insightful

      If you wanted lean and fast, you'd run vi, not vim.

    4. Re:Why not extend vim? by gerddie · · Score: 2, 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)

  5. KDevelop4 by DMiax · · Score: 3, Informative

    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...

  6. Vim has integration already by Anonymous Coward · · Score: 5, Informative

    Umm vim supports plugins, and there is of course a GDB one.

    Also there is an integrated command line called :!
    or if you want to get more fancy you can open multiple buffers and :%!whatever to replace it with output

    Vim easily integrates with the shell. You just have to know how to use both.

    1. Re:Vim has integration already by Abcd1234 · · Score: 2, 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 the idea of managing an on-going, externally running application, instead only really supporting the idea of a command starting, then completing (:! works exactly that way).

      No, if there's one thing I desperately miss from Emacs, it's the more solid approach to handling external processes (and the better extension language... vimscript works, but, ugh, who wants to learn a new, special extension language when so many perfectly find embeddable languages are available?). Which is why you'll never see, say, embedded shell support in Vim: It's just not designed to be able to do that sort of thing.

  7. IDEs With VIM Text Editing Capability? by omar.sahal · · Score: 2, Interesting
    Will this do.
    I'm not entirely sure of not extending vim but "not wanting to give up the efficient text editing capabilities of VIM" could mean.

    PIDA is an IDE (integrated development environment). PIDA is different from other IDEs in that it will use the tools you already have available rather than attempting to reinvent each one. PIDA is written in Python with the PyGTK toolkit, and although is designed to be used to program in any language, PIDA has fancy Python IDE features.

    Its, a IDE and will allow you to use vim as well.

  8. At the risk of starting a flame war by dkleinsc · · 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.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
    1. Re:At the risk of starting a flame war by Fujisawa+Sensei · · Score: 2, 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.

      --
      If someone is passing you on the right, you are an asshole for driving in the wrong lane.
    2. Re:At the risk of starting a flame war by Splab · · Score: 3, 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.

    3. Re:At the risk of starting a flame war by martin-boundary · · Score: 2, Insightful
      People often say that the control key combinations are difficult in Emacs, but this is only so if 1) you don't touch-type and 2) your keyboard is older than 20 years. On a modern (=post 90s) keyboard, there are two control keys and two alt keys, one for each hand.

      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 pressing the letter with the nearest hand, and pressing shift with the other hand.)

      You can still reprogram your keyboard, and you can change the key combinations in your .emacs if you prefer something else, but if you think about it a little, all the commands you're likely to need can be typed comfortably if you use both hands simultaneously.

    4. Re:At the risk of starting a flame war by Bluesman · · Score: 2, Informative

      M-x viper-mode

      That's the only emacs command string you ever need to know.

      --
      If moderation could change anything, it would be illegal.
  9. Gvim by theinvisibleguy · · Score: 4, Insightful

    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.

  10. Extending Vim is a mortal sin? What? by diablo-d3 · · 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.

    --
    Patrick "Diablo-D3" McFarland || http://AdTerrasPerAspera.com
  11. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion

  12. Re:Eclipse plugins? by SirPrize · · Score: 2, Informative

    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.

  13. Re:Expensive cake, but you can eat it by MadKatAlpha · · 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/

  14. Switching TO Vim by apharmdq · · 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 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.

  15. Extend Vim by __aalruu9610 · · Score: 3, Insightful

    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...

  16. Moving in the wrong direction by testostertwo · · Score: 2, Funny

    Real men (still) use ed:

    http://www.gnu.org/fun/jokes/ed.msg.htm

    1. Re:Moving in the wrong direction by penguin359 · · Score: 3, Informative
  17. Wing IDE by SkelVA · · Score: 2, Informative

    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.

  18. Re:KILL THE HERETIC !! by Narcocide · · 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.

  19. GNU Screen and vim is all you need by patrikas · · Score: 2, Informative

    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.

  20. Real programmers... by meuhlavache · · Score: 2, Interesting

    ... use butterflies ! http://xkcd.com/378/

  21. command mode baby.. by tempest69 · · Score: 3, Insightful
    if I want line 200 I type in 199j from the top..

    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

    1. Re:command mode baby.. by ilikejam · · Score: 3, Informative

      if I want line 200 I type in 199j from the top..

      Try 200G instead - works from anywhere in the file.

      --
      C-x C-s C-x k
  22. Re:screen ftw? by value_added · · Score: 2, 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. ;-)