sponsor Vim development Vim logo Vim Book Ad

exVim : Turn Vim better than IDE!

 script karma  Rating 805/219, Downloaded by 7701  Comments, bugs, improvements  Vim wiki

created by
Jie Wu
script type
# Sites

Official Page:         http://exvim.github.io
exVim on Github:   http://github.com/exvim/main

# Intro

exVim is a project to turn Vim into a nice programming environment. This project makes you
possible to apply different Vim settings, plugin settings and even plugins by different projects.
In this way, it makes Vim become the best IDE in the world!


### Features ###

- Manage your project with `.exvim` setting file.
- Update your project files by single command. (tags, cscope-db, search-index, makefile, ...)
- Project files store in one place (in the folder `./.exvim.your_project_name/` under your project).
- Load Vim-plugin on demand for different projects based on your `.exvim` settings.
- Better management of plugin windows in Vim. (avoid multiple plugin windows mess up in Vim)  
- Browse and operate your project files and folders in project window.
- Class, variable and function tags jumpping.
- Global search in project scope.
- Global search engine customization (user can choose grep, idutils even his own one)
- A powful way to filter your global search result.
- Generate classes hierarchy pictures.
- Enhanced quick-fix window.
- Popular Vim-plugin integrated.

### How does it work? ###

By edit and save your project settings in `your_project_name.exvim` file and open it with Vim, the exVim plugins
will be loaded.  It will parse the `your_project_name..exvim` file and apply settings for your project after Vim

The settings include:

- The window layout of your Vim. (Where to open the plugin window, initial opened window, last time layout...)
- File and Folder filter.
- Plugin you wish to use in the project.
- Plugin settings for the project.
- External tools. Such as grep, idutils, ctags, cscope,...
- External tools settings for the project.
- Your extension settings.
- ...

exVim also make sure project files store in one place ( in the folder `./.exvim.your_project_name/` under your project ).
This makes your project clean and much better work with external tools. These project files can be:

- global search index and results (idutils)
- tags
- cscope files
- hierarchy graph pictures
- error message
- temporary files
- ...

After Vim loaded `your_project_name.exvim` and start, exVim helps you update project files and you are now happy
to use your favor plugins with these files.

### How do you integrate Vim-plugins? ###

exVim aims to implement as much as possible of the functions and features in **pure Vim language**.
We try to avoid reinvent the wheel. As a result, we carefully select and integrate popular Vim-plugins in the world  
for some of the tasks. For those features lack of or for those features we think we can do it better,
we develop by ourself in put them in the [exVim organization](https://github.com/exvim) on GitHub.

Here is the standards we pick, patches and develop for a vim-plugin:

- Develop by pure Vim language
- Follow the unix philosophy: do one thing well
- Less dependencies
- High quality of the code and good performance
- Highly active community
- Can be installed with a variety of plugin managers, Vundle or pathogen. (Repo in GitHub, standard runtime path structure)

## Repositories in exVim Organization

This is the main entry point for exVim project. This repo contains the essential `.vimrc` configuration
for running exVim.  Other ex-vim-plugins can be found in exVim organization. They are installed by
Vundle by `.vimrc` file here. The repository also contains our customized scripts for external tools, and
some useful shell scripts for developing exVim.
install details
Install: http://exvim.github.io/docs/install/
Getting Start: http://exvim.github.io/docs/getting-start/

## Requirements

- Vim 7.3 or higher.
- [Vundle](https://github.com/gmarik/vundle) or [Pathogen](https://github.com/tpope/vim-pathogen)

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
exvim-v0.2.0.tar.gz v0.2.0 2014-04-29 7.0 Jie Wu ## New Features

- Integrate Taglist and Tagbar.
- Add online help toggle option `g:ex_{plugin}_enable_help` for on/off help text in ex-plugins.
- Add mkview and loadview in ex-project, this will allow ex-project keep the folding state.

## Changes

- Refine the script to help ex-project become a standalone plugin.
- Add options in ctags shell to help generate namespaces tags.

## Bug Fixes

- Fix target line highlight will not clear when we use `:q` or `:close` close ex-plugin window.
- Fix zoom window toggle will not reset when close ex-plugin window.
- Fix ex-plugin focus error when editing multiple splitted buffer.
- Fix after close a splitted window, ex-plugin will always open with a splitted buffer.
- Fix when there is no edit window, ex-plugin window open will mess up.
- Fix `<leader>bd` will close unsaved buffer without warning.
- Fix ex-project will not keep fold state when close and re-open.
exvim-main-0.1.0.zip v0.1.0 2014-04-16 7.0 Jie Wu v0.1.0 Release Note

## New Features

- Add ex-symbol plugin
- Add id-lang-autogen.map support when generate idutils shells with file_filter
- Add type-script support by plugin typescript-vim
- Add switch between NERDTree and ex-project window by <c-tab>

## Changes

- Change cwd from absolute directory to "./".

## Bug Fixes

- Fixed :Update error when file_filter has value
- Fixed white space path error
- Fixed switch .exvim project will overwrite the old .exvim's auto commands
- Fixed gsearch jumps will keepjumps which will lead to <ctrl-o> jump back to wrong position
exVim_on_github Latest 2014-03-23 7.0 Jie Wu We are one github (https://github.com/exvim/main) under actively development. Join us! We need your advice, tests, issues and any ideas to make it better and better!
ex_plugins_package-unix-8.05_b2.zip 8.05_b2 2011-01-05 7.3 Jie Wu The package is used in unix, linux, mac-osx
ex_plugins_package-win-8.05_b2.zip 8.05_b2 2011-01-05 7.3 Jie Wu * New features
** upgrade vim from 7.2 to 7.3
** add javascript indent plugin. http://www.vim.org/scripts/script.php?script_id=1936
** add AutoComplPop-2.14.1 plugin. http://www.vim.org/scripts/script.php?script_id=1879  ;
** add EXTC command for easy writting extern "C" { } code block in c/cpp files.
* Changes
** update .vimentry version from '24' to '25'.
** disable auto-comment in javascript.
** make vimwiki as an option plugin for user.
** update zencoding to 0.43.
** remove django syntax (not too much use).
** update surround to 1.90.
** set default encoding to utf-8.
* Bug fix
** fix visual studio unicode encoding error.
** fix GSF,GSFW result can't jump.
** fix acp conflict with lookupfile.
** fix tag select can't parse lua function with white space
** fix vimentryRefs not working in linux and mac OS.
ex-plugins-package-8.04.zip 8.04 2010-05-26 7.0 Jie Wu
* New features

   * support swig error format.
   * add swig syntax highlight.
   * add csharp syntax highlight for special mark labels.
   * add zencoding plugin.
   * add matchit plugin.
   * add django syntax highlight.
   * add sphinx document compile support.

* Changes

   * update vimwiki to 1.0.0.
   * update cscope to 15.7a.
   * refine gcc makefiles.
   * let EnhancedCommentify support swig.
   * disable auto-comment for c# language.
   * always show status-line.
   * change comment mathod for c in EnhancedCommentify, instead of using ``/**/`` we use ``//`` like cpp.
   * change guifont in win32 to Bitstream_Vera_Sans_Mono:h10.
   * Not allow exGlobalSearch running in stand-alone mode, this prevent exGlobalSearch show error message.
   * let exQuickFix support cs error format.
   * change ``_vimfiles`` folder to .vimfiles
   * change ``_vimfiles/_hierarchies`` folder to .vimfiles/.hierarchies
   * change ``_vimfiles/_temp`` folder to .vimfiles/.temp
   * change vimwiki _doc folder to wiki_src
   * let exProject ignore checking .vimfiles folders when browsing.
   * generate header.tpl use dest file's encoding.
   * update gvim.exe link with python26.dll in windows.
   * add ex_try, ex_catch, ex_catch_exp, ex_throw, ex_safe_delete, ex_safe_free... syntax highlight.
   * add my method to judge if it is objc or mathlab files.
   * add key-world TEST, PATCH, FIXME, BUG, TIPS, HINT
   * add ``<leader>sub`` for quick substitue word_highlight_1 to word_highlight_2
   * add signal, slots, emit qt keywords for highlighting
   * disable maximize window when openning vim.

* Bug fix

   * fix exQuickFix open a file another programme already editing issue.
   * fix exTagSelect show tags error when read preview from a file that already not exists.
ex-plugins-package-8.03.zip 8.03 2009-12-02 7.0 Jie Wu * New features
    * let make syntax support external comments.
    * refine install method for unix/linux.
    * support Mac OS X.
* Changes
    * support matlab/octave language
    * support maxscript language
    * move data/backup and data/swap directory to $HOME/.data/backup $HOME/.data/swap
    * change default toolkit_path to $HOME/.toolkit/ for unix
    * enlarge the font size, re-adjust default windows width increment
    * update cTags to 5.8
    * update SyntaxHighliter to 2.1.364
    * update vimwiki to 0.9.6
    * update NERD_tree to 4.1.0
    * update genutils to 2.5
* Bug fix
    * fix the filter format shows wrong syntax in dialog
    * fix bracket "()" in directory name does not work.
    * fix gcc_rule can't compile source file have same name but in different directory.
    * fix PutHeader will show time in local encoding. Force to set it in English.
    * fix exQuickFix can't jump msvc error message when use single core cpu. ( those message don't have "1>" at the beginning )
    * fix exQuickfix can't select multi-core and single-core jump in msvc2005
    * fix quick_gen_project.sh file_filter syntax error in unix/linux.
    * add protection for ImageViewer and WebBrowser
ex-plugins-package-8.02.zip 8.02 2009-07-29 7.0 Jie Wu     * New features
    * Changes
          o let title show vimentry name first, so that you can select project with a clear name in task bar.
          o add qt language map ( qt: qrc, pro, pri )
    * Bug fix
          o fix exJumpStack jump error when we do tg word1, gg word2 then tg word1 again.
          o fix inherit image can't show when path have white-space.
          o fix exQuickFix loose fix when we load another quickfix list, and try to use the exQuickFix again.
          o fix multiple gcc project makefile clean-deps error.
          o fix lookupfile re-open deleted buffer will not show in the minibufexpl. (thanks vxzhong)
          o fix minibufexpl mouse click open will not open in edit-buffer. (thanks ozgezer)
ex-plugins-package-8.02c.zip 8.02c 2009-07-05 7.0 Jie Wu     * New features
          o Temp highlight words under current cursor when cursor holds.
    * Changes
          o let exQuickFix can jump template sub-errors in msvc.
    * Bug fix
          o fix quick gen project can't generate cscope database. (thanks ozgezer)
          o fix exBufExplorer save list buffers in bookmarks if we don't have a bookmarks file.
          o fix quick_gen_project.sh filenamelist generation errors in unix like system. (thanks oz
ex-plugins-package-8.02b.zip 8.02b 2009-06-27 7.0 Jie Wu     * New features
          o add exBufExplorer.
          o add bookmarks in exBufExplorer.
          o When cursor hold in exProject window, it will echo the full path in the cursor line.
          o add ex_toolkit_path so user can install toolkit folder in a specific path.
          o user delete bookmark directly in exBufExplorer.
    * Changes
          o change gf function to use lookupfile plugin.
          o add SS command for filtering symbol table search result
    * Bug fix
          o fix quickgen bash script if statement syntax error.
          o fix fail to run quick_gen_project script in csh shell.
          o fix !FreeBSD ctags can't be detected correctly.
          o fix buffer delete mess the window layout when there have several window opened.
          o fix \ff,\fd search error, new method can even use smart case for search.
          o fix ctrl-left/right will go to the next buffer in plugin window, mess-up the window layout.
          o fix exCscope syntax file name syntax highlight beyond the range.
          o fix restore buffer never execute auto-command in last edit-buffer.
          o only do search jump when current line not matched with the pattern in exJumpStack
ex-plugins-package-8.02a.zip 8.02a 2009-06-20 7.0 Jie Wu     * New features
          o let exProject support file with no-suffix (NULL filetype).
          o let cscope can parse by specific language type.
          o add DirDiff and snipMate plugin.
          o add pythoncomplete plugin.
          o add exBufExplorer (exProject quick-view window) for exploring and editing opened buffers.
    * Changes
          o add backspace navigate and alt+left/right navigate for exJumpStack.
          o let EnhComment support snippet file.
          o change ex_plugin_list to ex_plugin_registered_bufnames,ex_plugin_registered_filetypes to enhance the register-plugin.
          o let exProject and NERDtree can switch.
          o remove _vimfiles* folders when list project tree in exProject window.
    * Bug fix
          o fix Mark Text can't be lower case.
          o fix lots of exCscope problem.
          o fix cscope syntax highlight.
          o fix showmarks conflict with snipMate plugin,
          o fix color scheme will be dark when there is no colorscheme set in _vimrc.
          o fix taglist,NERD_tree,minibufexpl opens window not take the position when there already have ex-plugin window.
          o let exJumpStack can recognize all registered plugin window.
          o fix findfile in g:exES_CWD reports wrong result when directory name have space
          o remove hard code in detecting ctags and cscope support.
          o fix cursor can't move to the edit-buffer when use restore buffer.
ex-plugins-package-8.01b.zip 8.01b 2009-06-14 7.0 Jie Wu     * New features
          o let quick_gen_project can update filenametags
          o let exCscope support find g method
    * Changes
          o make exSearchComplete disable in unix/linux terminal.
          o let lookupfile, taglist use the same key map settings as ex-plugins have.
          o use pattern instead of preview for exJumpStack, the preview will be generate dynamically.
          o use pattern locate the jump result, so that even you changes some of the line between the jump result, it still have chance to locate to the exact position.
          o add quick_gen_project_pre_custom and quick_gen_project_post_custom when update project.
          o when doing stack jump, use keepjumps.
          o Add protect codes for moving project files.
          o add cscope file name highlight
    * Bug fix
          o fix the EX_DEV been overwritten in linux.
          o fix highlight error of key word "class::define" in exJumpStack.
          o fix exJumpStack when poping up stack, reset wrong tag index.
          o fix EX_DEV setting error in windows, when there is no EX_DEV environment variable.
          o fix cscope filter search error.
          o fix EX_DEV setting error in windows, when there is no EX_DEV environment variable.
          o fix exJumpStack can't locate empty line or line with only space, tab problem
ex-plugins-package-8.01a.zip 8.01a 2009-06-07 7.0 Jie Wu     * New features
          o add ex_lightgray color scheme.
          o Support search result sorting for exGlobalSearch.
                + add g:exGS_auto_sort, g:exGS_lines_for_autosort settings
                + add \sr operations for force sort search result.
          o Support general key map settings for ex-plugin.
          o add exJumpStack
    * Changes
          o add errorformat support for exGlobalSearch result. (People may copy the exGlobaSearch result from global search window to quickfix window)
          o in old version, exQF_PasteQuickFixResult? can only use \p. now you can use p or \p to accomplish the task.
          o add warnning when use visual p,\p to paste a result to quickfix window, it will switch to normal p,\p operation.
          o add EX_DEV environment support in unix/linux.
          o let taglist support hlsl language.
          o let root directory dialog only show up in exProject standalone version.
          o add compile error support for hlsl in exQuickFix.
          o remove tag stack in exTagSelect, use exJumpStack instead.
    * Bug fix
          o fix cscope can't parse file name with space.
          o fix switch window can't keep the same window size problem.
          o fix macro highlight ignore case for macro
          o fix arrow key can't be used in terminal version of unix/linux
          o fix macro highlight highlight error when the macro #if is not at the beginning of the line.
ex-plugins-package-7.05.zip 7.05 2009-05-30 7.0 Jie Wu
    * New features
          o add \ve to quick edit current vimentry file.
          o add vimentry name check when open vimentry file. if vimentry name is not the same with the value VimEntryName in vimentry file, it will lead to a vimentry re-write.
          o add paste quickfix result from register '*'.
          o add exUtility#CloseAllExpluginWindow() function
          o add s:ex_lang_map for exVim. you can use exUtility#RestLangMap and exUtility#AddLangMap function to create your own language maps.
                + remove g:exPJ_default_filter variable. use g:ex_default_langs instead.
                + add ExpjUpdateFilters command
                + add g:exES_LangType? set project filter process in exEnvironment
                + let exUtility#GetLangType and exUtility#GetCtagsOption support s:ex_lang_map
          o add darkscheme support
    * Changes
          o change the id language custom map from id-lang.map to id-lang-custom.map.
          o disable move/del command shows information in quick_gen_project.bat by add > nul
          o change g:exES_vimfile_dir to g:exES_vimfiles_dirname.
          o change exProject filetype from ft_exproject to ex_filetype
          o change g:exUT_plugin_list to g:ex_plugin_list
    * Bug fix
          o fix \fc can't work outside edit window.
          o fix "<args>" can't accept win32 path problem. by replace all "<args>" to '<args>'
          o use :e xxx.vimentry when you already in another vimentry, the project settings will not be switch.
                + fix :EXProject <filename> will not close old project file when the <filename> is not the same.
                + fix exSymbolTable and exMacroHighlight can't load new file when they already load one.
          o fix \cf error.
          o fix toggle window can't let the cursor focus on it.
ex-plugins-package-7.05b.zip 7.05b 2009-05-24 7.0 Jie Wu * New features
    * Support more than one ".vimentry" in same directory.
    * add "!VimEntryName" and "!VimfilesDirName" in `.vimentry` file.
* Changes
    * add "autogen settings (DO NOT MODIFY)" comments in the vimentry file.
    * `.vimentry` version number update to 21. ( you will loose your old .vimentry file settings when open an old project )
    * disable move/del command shows information in quick_gen_project.bat by add `> nul`
    * change g:exPJ_defualt_filter to g:exPJ_default_filter.
    * remove g:exES_default_vimfiles, now the vimfiles dirname will be generate automatically by the vimentry name.
* Bug fix
    * fix exEnvironment use getcwd as g:exES_CWD bug. Instead, we use the folder path of `.vimentry` file
    * fix exGlobalSearch <c-left>, <c-right> will go to edit buffer
    * fix visual studio.py can't load unicode solution name
    * fix open `.vimentry` failed from vim in different path than the path of `.vimentry`
ex-plugins-package-7.05a.zip 7.05a 2009-05-18 7.0 Jie Wu     * New features
          o Restore last edit buffer.
          o Update project depends on project files ( file_filter and dir_filter ).
                + add filenamelist generate script in quick_gen_project.bat/sh.
                + update ctags use option -L filenamelist instead of -R.
                + update cscope use filenamelist instead of dir /s /b whole directory.
                + add trace log for quick_gen_project script.
          o Support multi-language type for project.
          o Support choose language type automatically. (depends on your file_filter input)
    * Changes
          o change exProject file filter and dir filter syntax
                + file filter = type1,type2,type3,...,
                + dir filter = dir1,dir2,dir3,...,
                + NOTE: you need to remove the original *.exproject files for this change, or you will meet unwanted errors during refresh project and update project.
          o Automatically generate quick_gen_project-auto.bat/sh instead of copying one from toolkit/quickgen.
          o Remove quick_gen_project_xxx_only.bat/sh scripts. (since we use quick_gen_project-auto and -custom)
          o .vimentry version number update to 17. ( you will loose your old .vimentry file settings when open an old project )
    * Bug fix
          o Fix exMacroHighlight syntax highlight disappear when no any c-like file loaded.
patched-plugins-package.zip 2.0 2009-05-10 7.0 Jie Wu the patched third part plugins
ex-plugins-package-7.04a.zip 7.04a 2009-05-10 7.0 Jie Wu fix some bugs
ex_plugin_only-7.0.7z 7.0 2009-05-06 7.0 Jie Wu Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.