Modern Vim IDE with support for C/C++, Java, Python, Lua, PHP, JavaScript, Ruby and much more ...
TheVimIDE has the target to be a fully functional integrated development enviroment for the Vim and NeoVim editors. The offspring of TheVimIDE was a small plugin collection to make my daily work with Vim more comfortable. Over time and other IDEs as inspirations I had the idea to make Vim step by step to an IDE with all the features like autocompletion, syntax checking and many other features that makes programming easier and faster.
TheVimIDE has five major targets:
Below you can the the most considerable features.
Language | Used Plugins | Thirparty Tools |
---|---|---|
C/C++ | Completor | clang |
Java | Completor, JavaComplete2 | |
Python | Completor | Jedi |
Ruby | Completor, vim-ruby-autocomplete | Solargraph |
PHP | Completor, phpcomplete | phpctags |
HTML | Completor, HTML5 | |
CSS | Completor | |
Lua | MUComplete | |
All other | MUComplete, Gutentags |
Plugin | Description |
---|---|
vim-plug | plugin manager |
vim-airline | modern vim user interface |
vim-airline-themes | themes for vim airline |
NERDTree | project explorer to navigate easy through your file tree |
NERDTree-Tabs | to use same NERDTree on each tab |
Tagbar | show all classes, functions and global variables in a side bar |
vim-fugitive | Git wrapper for vim |
vim-gitgutter | shows if lines are added, modified or deleted since last commit |
identLine | Highlights line indentation |
Bookmarks | add line-bookmarks in your file |
DidYouMean | asks for the right file to open when similiar files exists |
winresizer | easy resizes vim windows with hotkeys |
vim-search-pulse | highlights the line with the current found search pattern |
denite | asynchronous unite all interfaces for Neovim/Vim8 |
Plugin | Description |
---|---|
Advances C++ Highlight | |
rainbow bracklets | better highlights brackets/blocks |
CSS Colors | shows the color for html colors in code |
jellybeans | color scheme |
Search Tasks | searching TODO, FIXME or other tags in your project |
PGSQL | better highlights (Postgre) SQL files |
vimtex | syntax and completion support for LaTeX |
Plugin | Description |
---|---|
lexima | autocloses brackets, blocks and literals |
closetag | autocloses (x)html/xml tags |
Commentary | fast comment/uncomment lines |
UtilSnips | snippet handler for vim |
vim-snippets | snippets for many languages |
vim-ruby | Vim/Ruby configuration files |
vim-rails | Ruby on Rails power tools |
copy-cut-paste | easy copy paste from system buffer into vim or from vim into system buffer (requires gvim) |
Plugin | Description |
---|---|
Syntastic | shows syntax errors during programming |
SingleCompile | compiling single files without closing vim |
ConqueGdb | Integrated gdb C/C++ debugger for vim |
Vdebug | Debugger for PHP, Python, Ruby, Perl, Tcl and NodeJS |
Plugin | Description |
---|---|
VimWiki | wiki system for vim |
vim-notes | note system for vim |
All you need to do is to run the ./install.sh for Vim or ./install-neovim.sh for NeoVim. You will be asked if you want to build/install a view features to get the whole functionality.
First of all make sure that your Vim / Neovim editor is compiled with python2 and python3 support.
Upgrade Neovim (all Linux plattforms):
You need to install these third party programs for the mentioned features:
sudo apt-get install clang nodejs python3 npm lua5.3 liblua5.3 maven
, for jedi: sudo pip3 install jedi
sudo pacman -S clang nodejs python npm lua maven
, for jedi: sudo pip3 install jedi
The named OS above are tested
After execution of the install.sh script you can use the other install scripts in ./build for plugins that you need to build.
The default linter for following languages are:
sudo npm install -g eslint
sudo pip install flake8
If you want to change the checker of a language:
Edit Settingloader#Syntastic() at ~/.vim/autoload/settingloader.vim
Change: let g:syntastic_yourlanguage_checkers = ['yourchecker']
Following debugger engines are installed by default:
For ConqueGdb I will write shorter command aliases.
Vdbug has a very good frontend but needs thrid party requirements for every single language. I will write serveral install scripts to make the installation of them very easy. Until then you need to read the help under: :help VdbugSetUp
Why I use different autocompletion plugins?
Why I don't use YouCompleteMe?
The project will be updated in irregular intervals.
For feature request open a new issue with Topic: Request - your feature request.
The project documentation comes if time permits it.