yavide: modern C C++ IDE over vim

vim has numerous plugins for developers and when combined together it becomes far more powerful than any IDE out there. The additional advantage is the resource consumption, it’s minimal when compared to Eclipse or NetBeans and the likes of those. This also makes a vim based IDE ideal for remote programming. yavide is a new project that takes these vim plugins seriously and tries to package everything together. It also aims to provide some features not available in any other IDE. In its current status (at the time of writing), yavide looks like the next step from spf13-vim. yavide is still in the development phase and yet to see its first release at the time of writing. However, the author is working on missing and requested features.

Features

  • Bundled and tweaked for C/C++ (support for Python & Java planned)
  • Project management & Project explorer
  • Class browser with overview of symbols defined in current unit (i.e. macro, struct, class, method, namespace, etc.)
  • Source code auto-completion (real C/C++ compiler back-end for correctness)
  • Source code navigation (fully automated background tag generation system to ensure the best UI experience)
  • Source code static analysis
  • Source code management client integration (git integrated)
  • Build tools (make integrated)
  • Custom keybinds for various operations
  • Miscellaneous:
    > syntax highlighting
    > highlight all occurrences
    > parenthesis auto-complete
    > context-aware ordinary text auto-complete
    > multiple-selection editing support
    > code snippets
    > grep support
    > bash shell integration
    > color schemes support

Plugins

The following vim plugins are integrated into yavide at the time of writing:

  • A
  • Clang_complete
  • NERDTree
  • NERDCommenter
  • SuperTab
  • Tagbar
  • vim-airline
  • UltiSnips
  • vim-autoclose
  • vim-fugitive
  • vim-gitgutter
  • vim-multiple-cursors
  • vim-pathogen

Installation

To install yavide dependencies on Ubuntu, run:

$ sudo apt-get install build-essential vim-gnome python2.7 git libclang-dev python-dev

Run the following commands to clone the git repository of yavide and install it:

$ cd ~/ && git clone https://github.com/JBakamovic/yavide.git
$ cd yavide && ./install.sh

Replace  with the location where you want to install yavide. The deault is /opt. yavide will create its own directory and install the files within it.

On GitHub: yavide

15 thoughts on “yavide: modern C C++ IDE over vim”

  1. after installation i got the following error by start:

    Error detected while processing /opt/yavide/core/.core.vimrc:
    line 29:
    E319: Sorry, the command is not available in this version: python import sys, vim
    line 30:
    E319: Sorry, the command is not available in this version: python sys.path.append(vim.eval(‘g:YAVIDE_CORE_DIRECTORY’))
    Error detected while processing /opt/yavide/core/.globals.vimrc:
    line 59:
    E319: Sorry, the command is not available in this version: python << EOF
    line 60:
    E492: Not an editor command: from multiprocessing import Queue
    line 61:
    E492: Not an editor command: server_queue = Queue()
    line 62:
    E492: Not an editor command: EOF

    can somebody help me out?

  2. Wonderful software. I just suggest to add in the dependency list the package python-dev, elsewhere, if not installed you get the error:
    ext/_yaml.c:8:22: fatal error: pyconfig.h: No such file or directory
    #include “pyconfig.h”

    Many thanks and regards

  3. hi , i have started using it , and it’s really good !!
    but there is something that’s really bother me :
    you have set to act as Paste , but in vim uses to enter the VISUAL BLOCK MODE , which is very useful , at least to me .

    1. Very true. Paste mode is quite useful. You can get in touch with the author from the project’s GitHub page.

    1. Thanks for the suggestions! Please check the Reddit link the author shared above for discussions and suggestions on the package.

  4. This seems really cool! I’ll be checking on this when there is more documentation available.

Leave a reply to struktured (@struktured) Cancel reply