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
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?
Please raise an issue on the project page.
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
Done! And thank you!
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 .
Very true. Paste mode is quite useful. You can get in touch with the author from the project’s GitHub page.
Arun thanks for the article!
Anyone interested in more comments about the project and my personal opinion shall visit: http://www.reddit.com/r/programming/comments/2vyzy4/yavide_modern_c_c_ide_over_vim/cop9pu9
Regards,
Adi
My pleasure!
Might I also recommend PyClewn for so GDB support: http://pyclewn.sourceforge.net/ and to throw Neocomplete’s hat into the ring https://github.com/Shougo/neocomplete.vim
Thanks for the suggestions! Please check the Reddit link the author shared above for discussions and suggestions on the package.
Agree with YouCompleteMe support.
You also might capture some the ocaml mindshare if you support the merlin plugin.
Recommend another code complete plugin: YouCompleteMe
This seems really cool! I’ll be checking on this when there is more documentation available.
Great stuff
Thanks!