sponsor Vim development Vim logo Vim Book Ad

ide : ide for C/C++/Java with syntax coloring and tab buffer tracking

 script karma  Rating 135/42, Downloaded by 4537  Comments, bugs, improvements  Vim wiki

created by
Daniel Gomez-Prado
script type
After using the vimscript #69 plugin for quite some time, I started modifying
it as I wanted to have each buffer open on its own TAB, to have syntax highlight
using the member, function and type classes defined within my project, and to
have a visual indication of which files were open and close within the project.

This ide plugin thus contains a re-write of the plugin project (1.3k) plus
my additional ide code (2.5k). The re-write was needed because instead of
loading a project file into a file buffer, the ide plugin loads an index of
all project files into a hash and displays it on the dedicated buffer, this
allows for integration with other plugins that I do use such as the source
explorer plugin. There is a powerful feature in the original project plugin
(script loading at file or project open) that I have never really used.
I have ported this feature but I have never tested it.

I do not expect you will agree with all changes, but I hope that some time in
the future someone else also motivated by "personal taste" will end up taking
over this code, improve it and then pass it on, till the time we get a true
IDE on top of vim.

Now that I look back to this plugin, I think it would have been probably easier
to implement it on VIM itselft.

I have tried to maintain the same functionality of the original project plugin,
that is, almost all its commands, settings, and flags are still valid. If you
have already used the project plugin then its migration to the ide plugin will
be transparent.

The main changes, upgrades and extensions that the ide plugin has with
respect to the project plugin are:

  Better visualization
   - The ide window follows any tab movement provinding a persistant panel ide.
   - Keeps track of all files opened, edited and closed using icons. Pending
     tracking updates are refreshed as soon as the ide window is entered so
     you can visualize the status of your project.
   - No more multiple windows for the same buffer. Opening a file which is
     already open won't create another window but will jump to the correct
     tab and window.  
   - Cursor movement within the ide windows seems as a file or project select.
   - Windows width can be adjusted and re-adjusted.
   - Tabs provide information on mouse hover

  More Friendly
  - Closing a project unloads all its working variables, so its safe to invoke
    the|ide|again. Or open a new project and let to the|ide|unload the current
  - Help can be lauch from within the ide window by pressing <F1>
  - All key-bindings can be customized in the|vimrc|file to another mapping.    
  - Information on some key processes are provided on the command line
  - Errors on bad usage are notified  
  Syntax Highlight
  - Create the syntax file for the code based in the project-file
  - Syntax file for the project are generated and loaded for the files on open
  - Highlights are automatically or manually updated through the IDESyntax    
  - Highlights are refreshed on idle intervals, so your idle times are no
    longer wasted.

  Other Plugin interactions
  - Can be registered to other plugins
  - Have built in workarounds for some plugins that I use as part of my ide:
    showmarks, taglist, source-explorer, ex-global-search

  Tracing, Logging and Debugging Support
  - Logs with detailed information of traces can be generated, see IDEShowlog
  - All internal variables can be exposed through the command IDEShowenv
  - Easier than ever to debug the plugin so you can modify it and improve it.
  - The core of the project plugin was re-writen to be loaded in a dedicated
    buffer named __IDE_Project__. The project-file is read on loading the ide
    and then closed, all the files contained are indexed and store in a map.
  - Having the information in a map renders continuous parsing of the
    project-file unnecessary, and facilitates the development of extensions.
  - Make a project or a sub-project, with the key binding you wish.      

For screen-shots related to this plugin and additional documentation please
visit http://www.gomezprado.com/ece/code/ide-vim
install details
In Linux:
Place the following files [1-4] at ~/vim/icons

[1] ideClose.png
[2] ideEdit.png
[3] ideOpen.png
[4] ideReadOnly.png

Then move the files [5-6] to ~/vim/pluggins

[5] ide.vim
[6] ideSyntax.pl

make sure that ideSyntax.pl has execution properties
as this perl script is used by the ide plugin to generate
highlight syntax coloring for C/C++ files.

Move the file [7] to ~/vim/doc

  [7] ide.txt

After moving the previous file, execute within vim

  :helptags ~/vim/doc
  :help ide

Optionally, you can place file [8] within your path to
generate or load project-files. After reading this readme
you can delete it.

  [8] ide.sh
  [9] ide.readme (this file)

Within the tar there is a folder call ide-screenshots with some screen shots of the plugin.

In Windows:
Follow the instructions provided in the Linux section
but change the root folder ~/vim by $VIM/vimfiles where
the value of $VIM can be obtained by typing :echo $VIM
in your current vim window.

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
ide.tar 1.44 2012-12-19 7.0 Daniel Gomez-Prado Minor fix to update the code highlighting feature after modifying the ideSyntax.pl script.
ide.tar 1.0 2011-12-22 7.0 Daniel Gomez-Prado 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.