r760 - in /trunk/packages/vim-scripts/vim-scripts-7: debian/ doc/ html/ plugin/

zack at users.alioth.debian.org zack at users.alioth.debian.org
Sat Sep 9 13:20:40 UTC 2006


Author: zack
Date: Sat Sep  9 13:20:39 2006
New Revision: 760

URL: http://svn.debian.org/wsvn/pkg-vim/?sc=1&rev=760
Log:
added the project plugin, fixed changelog entry

Added:
    trunk/packages/vim-scripts/vim-scripts-7/doc/project.txt
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_NERD_comments.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_project.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/plugin/project.vim
Modified:
    trunk/packages/vim-scripts/vim-scripts-7/debian/changelog
    trunk/packages/vim-scripts/vim-scripts-7/debian/copyright
    trunk/packages/vim-scripts/vim-scripts-7/debian/vim-scripts.status
    trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_po.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_xml.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/games_VimSokoban_sokoban.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/games_tetris.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/index.html
    trunk/packages/vim-scripts/vim-scripts-7/html/macros_closetag.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_AlignPlugin.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_EnhancedCommentify.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_a.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_bufexplorer.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_calendar.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_cvsmenu.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_gnupg.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_info.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_minibufexpl.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_taglist.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_themes.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_utl.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_vcscommand.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_whatdomain.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/plugin_winmanager.vim.html
    trunk/packages/vim-scripts/vim-scripts-7/html/syntax_CVSAnnotate.vim.html

Modified: trunk/packages/vim-scripts/vim-scripts-7/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/debian/changelog?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/debian/changelog (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/debian/changelog Sat Sep  9 13:20:39 2006
@@ -1,3 +1,13 @@
+vim-scripts (7-2) unstable; urgency=low
+
+  * scripts adds/removals/upgrades:
+    - added scripts:
+      | plugin/project.vim
+  * debian/control
+    - added X-Vcs-Svn field pointing to our SVN repository
+
+ -- Stefano Zacchiroli <zack at debian.org>  Sat,  9 Sep 2006 15:12:52 +0200
+
 vim-scripts (7-1) unstable; urgency=low
 
   * debian/control
@@ -8,6 +18,8 @@
     - added this file, containing a description of the usage of
       debian/vim-scripts.pl
   * scripts adds/removals/upgrades:
+    - added scripts:
+      | plugin/NERD_comments.vim
     - upgraded scripts:
       | plugin/{a,bufexplorer,taglist,calendar,AlignPlugin,cvsmenu}.vim
       | plugin/{cvscommand,svncommand}.vim (now both integrated in a

Modified: trunk/packages/vim-scripts/vim-scripts-7/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/debian/copyright?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/debian/copyright (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/debian/copyright Sat Sep  9 13:20:39 2006
@@ -127,6 +127,11 @@
 url:	 http://www.vim.org/scripts/script.php?script_id=1218
 license: no license
 
+script:  plugin/project.vim;
+author:  Aric Blumer < aricvim at charter.net >
+url:	 http://www.vim.org/scripts/script.php?script_id=69
+license: no license
+
 --
 
 Licenses referenced above

Modified: trunk/packages/vim-scripts/vim-scripts-7/debian/vim-scripts.status
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/debian/vim-scripts.status?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/debian/vim-scripts.status (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/debian/vim-scripts.status Sat Sep  9 13:20:39 2006
@@ -206,6 +206,15 @@
 license:     no license
 version:     1.68
 
+script_name: plugin/project.vim
+script_url:  http://www.vim.org/scripts/script.php?script_id=69
+author:      Aric Blumer
+author_url:  http://www.vim.org/account/profile.php?user_id=182
+email:       aricvim at charter.net
+license:     no license
+version:     1.4
+extras:      doc/project.txt
+
 --
 
 Licenses referenced above

Added: trunk/packages/vim-scripts/vim-scripts-7/doc/project.txt
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/doc/project.txt?rev=760&op=file
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/doc/project.txt (added)
+++ trunk/packages/vim-scripts/vim-scripts-7/doc/project.txt Sat Sep  9 13:20:39 2006
@@ -1,0 +1,694 @@
+*project.txt*	Plugin for managing multiple projects with multiple sources
+		For Vim version 6.0.
+		Last Change: Mon 24 Apr 2006 12:48:40 PM EDT
+	
+
+				By Aric Blumer
+			   Aric.Blumer at marconi.com
+
+						    *project* *project-plugin*
+	Contents:
+
+		Commands...................|project-invoking|
+		Inheritiance............|project-inheritance|
+		Mappings...................|project-mappings|
+		Adding Mappings.....|project-adding-mappings|
+		Settings...................|project-settings|
+		Example File................|project-example|
+		Tips...........................|project-tips|
+
+
+You can use this plugin's basic functionality to set up a list of
+frequently-accessed files for easy navigation. The list of files will be
+displayed in a window on the left side of the Vim window, and you can press
+<Return> or double-click on filenames in the list to open the files. I find
+this easier to use than having to navigate a directory hierarchy with the
+|file-explorer|.
+
+You can also instruct the Plugin to change to a directory and to run Vim
+scripts when you select a file. These scripts can, for example, modify the
+environment to include compilers in $PATH. This makes it very easy to use
+quickfix with multiple projects that use different environments.
+
+Other features include:
+	o Loading/Unloading all the files in a Project (\l, \L, \w, and \W)
+	o Grepping all the files in a Project (\g and \G)
+	o Running a user-specified script on a file (can be used to launch an
+	  external program on the file) (\1 through \9)
+	o Running a user-specified script on all the files in a Project
+	  (\f1-\f9 and \F1-\F9)
+	o High degree of user-configurability
+	o Also works with |netrw| using the XXXX://... notation where XXXX is
+	  ftp, rcp, scp, or http.
+
+All of this is specified within a simple text file and a few global variables
+in your vimrc file.
+
+You must set 'nocompatible' in your |vimrc| file to use this plugin. You can
+stop the plugin from being loaded by setting the "loaded_project" variable: >
+	:let loaded_project = 1
+
+
+==============================================================================
+COMMANDS						    *project-invoking*
+
+You can use the plugin by placing it in your plugin directory (e.g.,
+~/.vim/plugin). See |add-global-plugin|. When you start vim the next time, you
+then enter the command >
+    :Project
+or >
+    :Project {file}
+
+If you do not specify the filename, $HOME/.vimprojects is used.
+
+To have Vim come up with the Project Window enabled automatically (say, from a
+GUI launcher), run Vim like this:  [g]vim +Project
+
+Note that you can invoke :Project on only one file at a time.  If you wish to
+change the Project File, do a :bwipe in the Project Buffer, then re-invoke the
+Plugin as described above.
+
+Several Projects can be kept and displayed in the same file, each in a fold
+delimited by { and } (see |fold.txt|).  There can be any number of nested
+folds to provide you with a Project hierarchy.  Any line without a { or a } in
+the file is considered to be a filename.  Blank lines are ignored, and any
+text after a # is ignored.
+
+Because the plugin uses standard Vim folds, you can use any of the
+|fold-commands|. You can double-click on the first line of a fold to open and
+close it. You can select a file to open by putting the cursor on its name and
+pressing <Return> or by double-clicking on it.  The plugin will create a new
+window to the right or use the |CTRL-W_p| equivalent if it exists.
+
+							      *project-syntax*
+Each Project Entry has this form:
+
+project_entry ::=
+    <Description>={projpath} [{options}] {
+	[ filename ]
+	[ project_entry ]
+    }
+
+{options} is one or more of the following (on the same line):
+    CD={path}
+    in={filename}
+    out={filename}
+    filter="{pat}"
+    flags={flag}
+
+Note that a project_entry can reside within a project_entry. This allows you
+to set up a hierarchy within your Project.
+
+The <Description> will be displayed in the foldtext and cannot contain "=".
+There can be no space character directly on either side of the =.
+
+The {projpath} is the path in which the files listed in the Project's fold
+will be found, and it may contain environment variables.  If the path is a
+relative path, then the plugin constructs the whole path from the Project's
+parent, grandparent, etc., all the way up the hierarchy. An outermost
+project_entry must have an absolute path.  See the |project-inheritance|
+example below.  {projpath} may contain spaces, but they must be escaped like
+normal Vim escapes. Here are two examples of the same directory:
+>
+	Example=/my/directory/with\ spaces {
+	}
+	Example="/my/directory/with spaces" {
+	}
+
+I recommend this for Windows®: >
+
+	Example="c:\My Documents" {
+	}
+
+But Vim is smart enough to do this, too: >
+
+	Example=c:\My\ Documents {
+	}
+
+CD= provides the directory that Vim will change to when you select a file in
+that fold (using |:cd|). This allows you, for example, to enter |:make| to use
+the local Makefile.  A CD=. means that Vim will make {projpath} or its
+inherited equivalent the current working directory.  When CD is omitted, the
+directory is not changed.  There can be no space on either side of the =.  The
+value of CD can also be a relative path from a parent's CD.  See the
+|project-inheritance| example below.  This directive is ignored for |netrw|
+projects. Spaces are allowed in the path as for {projpath}.
+
+in= and out= provide the means to run arbitrary Vim scripts whenever you enter
+or leave a file's buffer (see the |BufEnter| and |BufLeave| autocommand
+events).  The idea is to have a Vim script that sets up or tears down the
+environment for the Project like this:
+
+in.vim: >
+	let $PROJECT_HOME='~/my_project'
+	" Put the compiler in $PATH
+	if $PATH !~ '/path/to/my/compiler'
+		let $PATH=$PATH.':/path/to/my/compiler'
+	endif
+
+out.vim: >
+	" Remove compiler from $PATH
+	if $PATH =~ '/path/to/my/compiler'
+		let $PATH=substitute($PATH, ':/path/to/my/compiler', '', 'g')
+	endif
+
+Then you can use :make with the proper environment depending on what file you
+are currently editing.  If the path to the script is relative, then it is
+relative from {projpath}.  These directives are inherited by Subprojects
+unless the Subproject specifies its own. For use with |netrw| projects, the
+paths specified for in= and out= must be absolute and local.
+
+filter= specifies a |glob()| file pattern. It is used to regenerate the list
+of files in a Project fold when using the \r (<LocalLeader>r) map in the
+Project Window.  The filter value must be in quotes because it can contain
+multiple file patterns.  If filter is omitted, then the * pattern is used.
+There can be no space on either side of the =.  A Subproject will inherit the
+filter of its parent unless it specifies its own filter.
+
+flags= provides the means to enable/disable features for a particular fold.
+The general mnemonic scheme is for lower case to turn something off and upper
+case to turn something on.  {flag} can contain any of the following
+characters:
+
+      flag      Description ~
+
+	l	Turn off recursion for this fold for \L.  Subfolds are also
+	        blocked from the recursion.
+
+	r	Turn off refresh. When present, do not refresh this fold when
+		\r or \R is used.  This does not affect subfold recursion.
+
+	S	Turn on sorting for refresh and create.
+
+	s	Turn off sorting for refresh and create.
+
+	T	Turn on top gravity.  Forces folds to the top of the current
+		fold when refreshing. It has the same affect as the 'T' flag
+		in g:proj_flags, but controls the feature on a per-fold basis.
+
+	t	Turn off top gravity.  Forces folds to the bottom of the
+	        current fold when refreshing.
+
+	w	Turn off recursion for this fold for \W.  Subfolds are also
+	        blocked from the recursion.
+
+
+Flags are not inherited by Subprojects.
+
+Any text outside a fold is ignored.
+
+
+==============================================================================
+INHERITANCE						 *project-inheritance*
+
+It's best to show inheritance by comparing these two Project Files:
+>
+	Parent=~/my_project CD=. filter="Make* *.mk" flags=r {
+	 Child1=c_code {
+	 }
+	 Child2=include CD=. filter="*.h" {
+	 }
+	}
+
+Child1's path is "~/my_project/c_code" because ~/my_project is inherited.  It
+also inherits the CD from Parent.  Since Parent has CD=., the Parent's cwd is
+"~/my_project".  Child1 therefore inherits a CD of "~/my_project".  Finally,
+Child1 inherits the filter from Parent. The flags are not inherited.
+
+Child2 only inherits the "~/my_project" from Parent.
+
+Thus, the example above is exactly equivalent to this:
+>
+	Parent=~/my_project CD=. filter="Make* *.mk" flags=r {
+	 Child1=~/my_project/c_code CD=~/my_project filter="Make* *.mk" {
+	 }
+	 Child2=~/my_project/include CD=~/my_project/include filter="*.h" {
+	 }
+	}
+
+(For a real Project, Child1 would not want to inherit its parent's filter, but
+this example shows the concept.)  You can always enter \i to display what the
+cursor's project inherits.
+
+
+==============================================================================
+MAPPINGS						    *project-mappings*
+
+Map	Action ~
+
+\r	Refreshes the Project fold that the cursor is in by placing in the
+	fold all the files that match the filter. The Project is refreshed
+	using an indent of one space for every foldlevel in the hierarchy.
+
+	You may place a "# pragma keep" (without the quotes) at the end of a
+	line, and the file entry on that line will not be removed when you
+	refresh.  This is useful, for example, when you have . as an entry so
+	you can easily browse the directory.
+	
+	Note that this mapping is actually <LocalLeader>r, and the default of
+	|<LocalLeader>| is \.
+
+	This does not work for Projects using |netrw|.
+
+\R	Executes \r recursively in the current fold and all folds below.
+	This does not work for Projects using |netrw|.
+
+\c	Creates a Project fold entry.  It asks for the description, the path
+	to the files, the CD parameter, and the filename |glob()| pattern.
+	From this information, it will create the Project Entry below the
+	cursor.
+
+	This does not work for Projects using |netrw|.
+
+\C	Creates a Project fold entry like \c, but recursively includes all the
+	subdirectories.
+
+<Return>
+	Select a file to open in the |CTRL-W_p| window or in a new window.  If
+	the cursor is on a fold, open or close it.
+
+<S-Return>
+\s
+	Same as <Return> but horizontally split the target window.
+	<LocalLeader>s is provided for those terminals that don't recognize
+	<S-Return>.
+
+\S
+	Load all files in a project by doing horizontal splits.
+
+<C-Return>
+\o
+	Same as <Return> but ensure that the opened file is the only other
+	window. <LocalLeader>o is provided for those terminals that don't
+	recognize <C-Return>.
+
+<M-Return>
+\v
+	Same as <Return> but only display the file--the cursor stays in the
+	Project Window.
+
+<2-LeftMouse>
+	(Double-click) If on a closed fold, open it. If on an open fold
+	boundary, close it. If on a filename, open the file in the |CTRL-W_p|
+	window or in a new window.
+
+<S-2-LeftMouse>
+	Same as <S-Return>.
+
+<C-2-LeftMouse>
+	Same as <C-Return>.
+
+<RightMouse>
+	Increase the width of the Project Window by g:proj_window_increment or
+	toggle between a width of
+		g:proj_window_width + g:proj_window_increment
+	and
+		g:proj_window_width.
+
+	Whether you toggle or monotonically increase the width is determined
+	by the 't' flag of the g:proj_flags variable (see |project-flags|).
+
+	Note that a Right Mouse click will not automatically place the cursor
+	in the Project Window if it is in a different window.  The window will
+	go back to the g:proj_window_width width when you leave the window.
+
+<space> Same as <RightMouse>
+
+<CTRL-Up>
+\<Up>
+	Move the text or fold under the cursor up one row. This may not work
+	in a terminal because the terminal is unaware of this key combination.
+	<LocalLeader><Up> is provided for those terminals that don't recognize
+	<C-Up>.
+
+
+<CTRL-Down>
+\<Down>
+	Move the text or fold under the cursor down one row. This may not work
+	in a terminal because the terminal is unaware of this key combination.
+	<LocalLeader><Down> is provided for those terminals that don't
+	recognize <C-Down>.
+
+\i	Show in the status line the completely resolved and inherited
+	parameters for the fold the cursor is in.  This is intended for
+	debugging your relative path and inherited parameters for manually
+	entered Projects.
+
+\I	Show in the status line the completely resolved filename.  Uses the
+        Project_GetFname(line('.')) function.
+
+\1 - \9
+	Run the command specified in g:proj_run{x} where {x} is the number
+	of the key.  See the documentation of g:proj_run1 below.
+
+\f1-\f9
+	Run the command specified in g:proj_run_fold{x} where {x} is the
+	number of the key.  The command is run on the files at the current
+	Project level. See the |project-settings| below.
+
+\F1-\F9
+	Run the command specified in g:proj_run_fold{x} where {x} is the
+	number of the key.  The command is run on the files at the current
+	Project level and all Subprojects. See the |project-settings| below.
+
+\0	Display the commands that are defined for \1 through \9.
+
+\f0	Display the commands that are defined for \f1 through \f9 and \F1
+	through \F0.  Same as \F0.
+
+\l	Load all the files in the current Project level into Vim.  While files
+	are being loaded, you may press any key to stop.
+
+\L	Load all the files in the current Project and all Subprojects into
+	Vim.  Use this mapping with caution--I wouldn't suggest using \L to
+	load a Project with thousands of files. (BTW, my Project file has more
+	than 5,300 files in it!)  While files are being loaded, you may press
+	any key to stop.
+
+\w	Wipe all the files in the current Project level from Vim. (If files
+	are modified, they will be saved first.)  While files are being wiped,
+	you may press any key to stop.
+
+\W	Wipe all the files in the current Project and all Subprojects from
+	Vim. (If files are modified, they will be saved first.)  While files
+	are being wiped, you may press any key to stop.
+
+\g	Grep all the files in the current Project level.
+
+\G	Grep all the files in the current Project level and all Subprojects.
+
+\e	Set up the Environment for the Project File as though you had selected
+	it with <Return>.  This allows you to do a \e and a :make without
+	having to open any files in the project.
+
+\E	Explore (using |file-explorer|) the directory of the project the
+	cursor is in.  Does not work with netrw.
+
+<F12>	When the 'g' flag is present in g:proj_flags (see |project-flags|)
+	this key toggles the Project Window open and closed. You may remap
+	this toggle function by putting the following in your vimrc and
+	replacing <Leader>P with whatever key combination you wish:
+
+		nmap <silent> <Leader>P <Plug>ToggleProject
+
+Note that the Project Plugin remaps :help because the Help Window and the
+Project Window get into a fight over placement. The mapping avoids the
+problem.
+
+==============================================================================
+ADDING MAPPINGS 				     *project-adding-mappings*
+
+You can add your own mappings or change the mappings of the plugin by placing
+them in the file $HOME/.vimproject_mappings.  This file, if it exists, will be
+sourced when the plugin in loaded.  Here is an example that will count the
+number of entries in a project when you press \K (Kount, C is taken :-): >
+
+    function! s:Wc()
+        let b:loadcount=0
+        function! SpawnExec(infoline, fname, lineno, data)
+	    let b:loadcount = b:loadcount + 1
+	    if getchar(0) != 0 | let b:stop_everything=1 | endif
+        endfunction
+        call Project_ForEach(1, line('.'), "*SpawnExec", 0, '')
+        delfunction SpawnExec
+        echon b:loadcount." Files\r"
+        unlet b:loadcount
+        if exists("b:stop_everything")
+	    unlet b:stop_everything
+	    echon "Aborted.\r"
+	endif
+    endfunction
+
+    nnoremap <buffer> <silent> <LocalLeader>K :call <SID>Wc()<CR>
+
+Here's another example of how I integrated the use of perforce with the plugin
+in my $HOME/.vimproject_mappings:
+>
+	function! s:DoP4(cmd)
+	   let name=Project_GetFname(line('.'))
+	   let dir=substitute(name, '\(.*\)/.*', '\1', 'g')
+	   exec 'cd '.dir
+	   exec "!".a:cmd.' '.Project_GetFname(line('.'))
+	   cd -
+	endfunction
+
+	nmap <buffer> <silent> \pa :call <SID>DoP4("p4add")<CR>
+	nmap <buffer> <silent> \pe :call <SID>DoP4("p4edit")<CR>
+<
+(Note that I CD to the directory the file is in so I can pick of the $P4CONFIG
+file. See the perforce documentation.)
+
+This creates the mappings \pe to check out the file for edit and \pa to add
+the file to the depot.
+
+Here is another example where I remap the <Return> mapping to use an external
+program to launch a special kind of file (in this case, it launches ee to view
+a jpg file).  It is a bit contrived, but it works.
+>
+	let s:sid = substitute(maparg('<Return>', 'n'), '.*\(<SNR>.\{-}\)_.*', '\1', '')
+	function! s:LaunchOrWhat()
+	    let fname=Project_GetFname(line('.'))
+	    if fname =~ '\.jpg$'
+		exec 'silent! !ee "'.fname.'"&'
+	    else
+		call {s:sid}_DoFoldOrOpenEntry('', 'e')
+	    endif
+	endfunction
+	nnoremap <buffer> <silent> <Return>   \|:call <SID>LaunchOrWhat()<CR>
+<
+If the file ends in .jpg, the external program is launched, otherwise the
+original mapping of <Return> is run.
+
+==============================================================================
+SETTINGS						    *project-settings*
+
+You can set these variables in your vimrc file before the plugin is loaded to
+change its default behavior
+
+g:proj_window_width
+	The width of the Project Window that the plugin attempts to maintain.
+	Default: 24
+
+	The Project Plugin is not always successful in keeping the window
+	where I want it with the size specified here, but it does a decent
+	job.
+
+g:proj_window_increment
+	The increment by which to increase the width of the Project Window
+	when pressing <space> or clicking the <LeftMouse>. Default: 100
+	(See |project-mappings|.)
+
+							       *project-flags*
+g:proj_flags
+	Default: "imst"
+	Various flags to control the behavior of the Project Plugin.  This
+	variable can contain any of the following character flags.
+
+       flag	Description ~
+
+	i	When present, display the filename and the current working
+		directory in the command line when a file is selected for
+		opening.
+
+	l	When present, the Project Plugin will use the |:lcd| command
+		rather than |:cd| to change directories when you select a file
+		to open.  This flag is really obsolete and not of much use
+		because of L below.
+
+	L	Similar to l, but install a BufEnter/Leave |:autocommand| to
+		ensure that the current working directory is changed to the
+		one specified in the fold CD specification whenever that
+		buffer is active.  (|:lcd| only changes the CWD for a window,
+		not a buffer.)
+
+	m	Turn on mapping of the |CTRL-W_o| and |CTRL-W_CTRL_O| normal
+	        mode commands to make the current buffer the only visible
+		buffer, but keep the Project Window visible, too.
+
+	s	When present, the Project Plugin will use syntax highlighting
+		in the Project Window.
+
+	S	Turn on sorting for refresh and create.
+
+	t	When present, toggle the size of the window rather than just
+		increase the size when pressing <space> or right-clicking.
+		See the entry for <RightMouse> in |project-mappings|.
+
+	T	When present, put Subproject folds at the top of the fold when
+		refreshing.
+
+	b	When present, use the |browse()| when selecting directories
+		for \c and \C.  This is off by default for Windows, because
+		the windows browser does not allow you to select directories.
+
+	c	When present, the Project Window will automatically close when
+		you select a file.
+
+	g	When present, the mapping for <F12> will be created to toggle
+		the Project Window open and closed.
+
+g:proj_run1 ...  g:proj_run9
+		Contains a Vim command to execute on the file.  See the
+		mappings of \1 to \9 above.
+		
+		  %f is replaced with the full path and filename
+		  %F is replaced with the full path and filename with spaces
+		     quoted
+		  %n is replaced with the filename alone
+		  %N is replaced with the filename alone with spaces quoted
+		  %h is replaced with the home directory
+		  %H is replaced with the home directory with spaces quoted
+		  %r is replaced with the directory relative to the CD path
+		  %R is replaced with the directory relative to the CD path
+		     with spaces quoted
+		  %d is replaced with the CD directory.
+		  %D is replaced with the CD directory.with spaces quoted
+		  %% is replaced with a single % that is not used in
+		     expansion.
+
+		(Deprecated: %s is also replaced with the full path and
+		filename for backward compatibility.)
+
+		For example, gvim will be launched on the file under the
+		cursor when you enter \3 if the following is in your vimrc
+		file: >
+		 let g:proj_run3='silent !gvim %f'
+<		Here are a few other examples: >
+		 let g:proj_run1='!p4 edit %f'
+		 let g:proj_run2='!p4 add %f'
+		 let g:proj_run4="echo 'Viewing %f'|sil !xterm -e less %f &"
+<
+		On Windows systems you will want to put the %f, %h, and %d in
+		single quotes to avoid \ escaping.
+
+g:proj_run_fold1 ...  g:proj_run_fold9
+		Contains a Vim command to execute on the files in a fold.  See
+		the mappings of \f1 to \f9  and \F1 to \F9 above.
+		
+		%f is the filename, %h is replaced with the project home
+		directory, and %d is replaced with the CD directory.  Multiple
+		filenames can be handled in two ways:
+
+		The first (default) way is to have %f replaced with all the
+		absolute filenames, and the command is run once.  The second
+		is to have the command run for each of the non-absolute
+		filenames (%f is replaced with one filename at a time).  To
+		select the second behavior, put an '*' character at the
+		beginning of the g:proj_run_fold{x} variable.  (The '*' is
+		stripped before the command is run.)
+
+		For example, note the difference between the following: >
+		 let g:proj_run_fold3="*echo '%h/%f'"
+		 let g:proj_run_fold4="echo '%f'"
+<
+		Note that on Windows systems, you will want the %f, %h, and %c
+		within single quotes, or the \ in the paths will cause
+		problems.  The alternative is to put them in |escape()|.
+
+
+==============================================================================
+PROJECT EXAMPLE FILE					     *project-example*
+
+Here is an example ~/.vimprojects file: >
+
+  1	My Project=~/c/project CD=. in=in.vim out=out.vim flags=r {
+  2	 Makefile
+  3      in.vim
+  4      out.vim
+  5	 GUI Files=. filter="gui*.c gui*.h" {
+  6	  gui_window.c
+  7	  gui_dialog.c
+  8	  gui_list.c
+  9	  gui.h	       # Header file
+ 10	 }
+ 11	 Database Files=. filter="data*.c data*.h" {
+ 12	  data_read.c
+ 13	  data_write.c
+ 14	  data.h
+ 15	 }
+ 16	 OS-Specific Files {
+ 17	  Win32=. filter="os_win32*.c os_win32*.h" {
+ 18	   os_win32_gui.c
+ 19	   os_win32_io.c
+ 20	  }
+ 21	  Unix=. filter="os_unix*.c os_unix*.h" {
+ 22	   os_unix_gui.c
+ 23	   os_unix_io.c
+ 24	  }
+ 25	 }
+ 26	}
+
+(Don't type in the line numbers, of course.)
+
+
+==============================================================================
+TIPS ON USING PROJECT PLUGIN					*project-tips*
+
+1.  You can create a Project Entry by entering this: >
+
+	Label=~/wherever CD=. filter="*.c *.h" {
+	}
+<
+    Then you can put the cursor in the fold and press \r. The script will fill
+    in the files (C files in this case) from this directory for you.  This is
+    equivalent to \c without any dialogs.
+
+2.  You can edit the Project File at any time to add, remove, or reorder files
+    in the Project list.
+
+3.  If the Project Window ever gets closed, you can just enter >
+	:Project
+<   to bring it back again. (You don't need to give it the filename; the
+    plugin remembers.)
+
+    If you have the 'm' flag set in g:proj_flags, then you get the Project
+    Window to show up again by pressing |CTRL-W_o|. This, of course, will
+    close any other windows that may be open that the cursor is not in.
+
+4.  Adding files to a Project is very easy.  To add, for example, the 'more.c'
+    file to the Project, just insert the filename in the Project Entry then
+    hit <Return> on it.
+
+5.  When |quickfix| loads files, it is not equivalent to pressing <Return> on
+    a filename, so the directory will not be changed and the scripts will not
+    be run. (If I could make this otherwise, I would.)  The solution is to use
+    the \L key to load all of the files in the Project before running
+    quickfix.
+
+6.  If the Project window gets a bit cluttered with folds partially
+    open/closed, you can press |zM| to close everything and tidy it up.
+
+7.  For advanced users, I am exporting the function Project_GetAllFnames()
+    which returns all the filenames within a fold and optionally all its
+    Subprojects.  Also, I export Project_ForEach() for running a function for
+    each filename in the project. See the code for examples on how to use
+    these. Finally, I export Project_GetFname(line_number) so that you can
+    write your own mappings and get the filename for it.
+
+8.  Some people have asked how to do a global mapping to take the cursor to
+    the Project window. One of my goals for the plugin is for it to be as
+    self-contained as possible, so I'm not going to add it by default. But you
+    can put this in your vimrc:
+>
+    	nmap <silent> <Leader>P :Project<CR>
+
+<
+9.  You can put the . entry in a project, and it will launch the
+    |file-explorer| plugin on the directory.  To avoid removal when you
+    refresh, make the entry look like this:
+>
+ 	. # pragma keep
+<
+==============================================================================
+THANKS
+
+	The following people have sent me patches to help with the Project
+	Plugin development:
+
+		Tomas Zellerin
+		Lawrence Kesteloot
+		Dave Eggum
+		A Harrison
+
+
+ vim:ts=8 sw=8 noexpandtab tw=78 ft=help:

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_po.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_po.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_po.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_po.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>100/36</b>,
-    Downloaded by 999  </td>
+    Downloaded by 1011  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_xml.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_xml.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_xml.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/ftplugin_xml.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>747/281</b>,
-    Downloaded by 12379  </td>
+    Rating <b>755/283</b>,
+    Downloaded by 12507  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/games_VimSokoban_sokoban.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/games_VimSokoban_sokoban.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/games_VimSokoban_sokoban.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/games_VimSokoban_sokoban.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>497/137</b>,
-    Downloaded by 4061  </td>
+    Downloaded by 4096  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/games_tetris.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/games_tetris.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/games_tetris.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/games_tetris.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>590/216</b>,
-    Downloaded by 10308  </td>
+    Rating <b>594/217</b>,
+    Downloaded by 10402  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/index.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/index.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/index.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/index.html Sat Sep  9 13:20:39 2006
@@ -15,6 +15,7 @@
    <li><a href="plugin_Align.vim.html">plugin/Align.vim.html</a></li>
    <li><a href="plugin_AlignPlugin.vim.html">plugin/AlignPlugin.vim.html</a></li>
    <li><a href="plugin_EnhancedCommentify.vim.html">plugin/EnhancedCommentify.vim.html</a></li>
+   <li><a href="plugin_NERD_comments.vim.html">plugin/NERD_comments.vim.html</a></li>
    <li><a href="plugin_a.vim.html">plugin/a.vim.html</a></li>
    <li><a href="plugin_bufexplorer.vim.html">plugin/bufexplorer.vim.html</a></li>
    <li><a href="plugin_calendar.vim.html">plugin/calendar.vim.html</a></li>
@@ -22,6 +23,7 @@
    <li><a href="plugin_gnupg.vim.html">plugin/gnupg.vim.html</a></li>
    <li><a href="plugin_info.vim.html">plugin/info.vim.html</a></li>
    <li><a href="plugin_minibufexpl.vim.html">plugin/minibufexpl.vim.html</a></li>
+   <li><a href="plugin_project.vim.html">plugin/project.vim.html</a></li>
    <li><a href="plugin_taglist.vim.html">plugin/taglist.vim.html</a></li>
    <li><a href="plugin_themes.vim.html">plugin/themes.vim.html</a></li>
    <li><a href="plugin_utl.vim.html">plugin/utl.vim.html</a></li>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/macros_closetag.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/macros_closetag.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/macros_closetag.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/macros_closetag.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>498/175</b>,
-    Downloaded by 6168  </td>
+    Downloaded by 6222  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_AlignPlugin.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_AlignPlugin.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_AlignPlugin.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_AlignPlugin.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>708/221</b>,
-    Downloaded by 6361  </td>
+    Rating <b>721/225</b>,
+    Downloaded by 6458  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_EnhancedCommentify.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_EnhancedCommentify.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_EnhancedCommentify.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_EnhancedCommentify.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>639/211</b>,
-    Downloaded by 9505  </td>
+    Rating <b>640/212</b>,
+    Downloaded by 9621  </td>
 </tr>
 </table>
 <p>

Added: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_NERD_comments.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_NERD_comments.vim.html?rev=760&op=file
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_NERD_comments.vim.html (added)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_NERD_comments.vim.html Sat Sep  9 13:20:39 2006
@@ -1,0 +1,829 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+  <link rel="Stylesheet" type="text/css" href="/css/style.css" >
+  <title>The NERD Commenter - A plugin that allows for easy commenting of code for many filetypes. : vim online</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta name="KEYWORDS" content="Vim, Vi IMproved, text editor, home, documentation, tips, scripts, news">
+  <link rel="shortcut icon" type="image/x-icon" href="/images/vim_shortcut.ico">
+</head>
+
+<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#ffffff"> 
+
+<!-- HEADER, SPONSOR IMAGE, VIM IMAGE AND BOOK AD -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+  <tr>
+    <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  </tr>
+  <tr>
+  <td class="lightbg">&nbsp;&nbsp;&nbsp;</td>
+  <td class="lightbg" align="left"><a href="/sponsor/index.php"><img src="/images/sponsorvim.gif" alt="sponsor Vim development" border="0"></a></td>
+    <td class="lightbg" align="center"><a href="/index.php"><img src="/images/vim_header.gif" border="0" alt="Vim logo"></a></td>
+    <td class="lightbg" align="right"><a href="http://iccf-holland.org/click5.html"><img src="/images/buyhelplearn.gif" alt="Vim Book Ad" border="0"></a></td>
+  </tr>
+  <tr>
+    <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  </tr>
+  <tr>
+    <td colspan="4" class="darkbg"><img src="/images/spacer.gif" width="1" height="10" alt=""></td>
+  </tr>
+</table>
+<!-- THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+  <col width="180">
+  <col width="1">
+
+  <tr valign="top">
+    <td class="sidebar">
+      <table width="180" cellpadding="4" cellspacing="0" border="0">
+        <tr valign="top">
+          <td class="sidebar">
+
+<!-- INCLUDE THE PAGE NAVIGATION -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+    <tr>
+        <td><small>not logged in (<a href="/login.php">login</a>)</small></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="1"></td>
+    </tr>
+    <tr>
+        <td class="darkbg"><img src="/images/spacer.gif" alt='' border="0" height="3"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="2"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/index.php">Home</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/search.php">Search</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/about.php">About Vim</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/community.php">Community</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/news/news.php">News</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/sponsor/index.php">Sponsoring</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/trivia.php">Trivia</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/docs.php">Documentation</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/download.php">Download</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/scripts/index.php">Scripts</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/tips/index.php">Tips</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/account/index.php">My Account</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/huh.php">Site Help</a></td>
+        </tr>
+</table>
+
+            <table width="172" cellpadding="0" cellspacing="0" border="0">
+              <tr><td><img src="/images/spacer.gif" alt="" border="0" width="1" height="8"></td></tr>
+              <tr><td class="darkbg"><img src="/images/spacer.gif" width="1" height="3" alt=""></td></tr>
+            </table>
+            <br>
+
+<!-- INCLUDE THE PAGE SIDEBAR TEXT -->
+&nbsp;
+
+          </td>
+        </tr>
+      </table>
+    </td>
+
+    <td class="darkbg"><img src="/images/spacer.gif" width="1" height="1" border="0" alt=""><br></td>
+    <td>
+      <table width="100%" cellpadding="10" cellspacing="0" border="0" bordercolor="red">
+        <tr>
+          <td valign="top">
+
+<span class="txth1">The NERD Commenter : A plugin that allows for easy commenting of code for many filetypes.</span> 
+
+<br>
+<br>
+
+<!-- karma table -->
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+  <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
+  <td>
+    Rating <b>276/106</b>,
+    Downloaded by 3826  </td>
+</tr>
+</table>
+<p>
+
+<table cellspacing="0" cellpadding="0" border="0">
+<tr><td class="prompt">created by</td></tr>
+<tr><td><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">script type</td></tr>
+<tr><td>utility</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">description</td></tr>
+<tr><td>This plugin defines key mappings for easy commenting of various file types
<br>using consistent keystokes over all supported filetypes.
<br>
<br>A help page is installed with this script. Go :help NERD_comments to see it
<br>
<br>Functionality provided:
<br>
<br>The following key mappings are provided by default (there is also a menu
<br>provided that contains menu items corresponding to all the below mappings)
<br>Note that the keys used for these mappings can be customised, go 
<br>:help NERD_com-Customisation for details.
<br>
<br>Note: &lt;leader&gt; is a user defined key that is used to start keymappings and 
<br>defaults to \. Check out |&lt;leader&gt;| for details.
<br>
<br>Most of the following mappings are for normal/visual/visual-block/visual-line 
<br>mode only. The |NERD_com-insert-comment| mapping is for insert mode only.
<br>
<br>&lt;leader&gt;cc |NERD_com-comment-map| 
<br>Comments out the current line or text selected in visual mode.
<br>
<br>
<br>&lt;leader&gt;cn |NERD_com-nested-comment| 
<br>Same as |NERD_com-comment-map| but enforces nesting.
<br>
<br>
<br>&lt;leader&gt;c&lt;space&gt; |NERD_com-toggle-comment| 
<br>Toggles the comment state of the selected line(s). If the topmost selected
<br>line is commented, all selected lines are uncommented and vice versa.
<br>
<br>&lt;leader&gt;cm |NERD_com-minimal-comment| 
<br>Comments the given lines using only one set of multipart delimiters if
<br>possible. 
<br>
<br>&lt;leader&gt;ci |NERD_com-invert-comment| 
<br>Toggles the comment state of the selected line(s) individually. Each selected
<br>line that is commented is uncommented and vice versa.
<br>
<br>
<br>&lt;leader&gt;cs |NERD_com-sexy-comment| 
<br>Comments out the selected lines ``sexually''
<br>
<br>
<br>&lt;leader&gt;cy |NERD_com-yank-comment|
<br>Same as |NERD_com-comment-map| except that the commented line(s) are yanked
<br>before commenting.
<br>
<br>
<br>&lt;leader&gt;c$ |NERD_com-EOL-comment| 
<br>Comments the current line from the cursor to the end of line.
<br>
<br>
<br>&lt;leader&gt;cA |NERD_com-append-comment| 
<br>Adds comment delimiters to the end of line and goes into insert mode between
<br>them.
<br>
<br>
<br>&lt;leader&gt;cI |NERD_com-prepend-comment| 
<br>Adds comment delimiters to the start of line and goes into insert mode between
<br>them.
<br>
<br>
<br>&lt;C-c&gt; |NERD_com-insert-comment| 
<br>Adds comment delimiters at the current cursor position and inserts between.
<br>
<br>
<br>&lt;leader&gt;ca |NERD_com-alt-delim| 
<br>Switches to the alternative set of delimiters.
<br>
<br>
<br>&lt;leader&gt;cl OR &lt;leader&gt;cr OR &lt;leader&gt;cb |NERD_com-aligned-comment| 
<br>Same as |NERD_com-comment| except that the delimiters are aligned down the
<br>left side (&lt;leader&gt;cl), the right side (&lt;leader&gt;cr) or both sides
<br>(&lt;leader&gt;cb).
<br>
<br>
<br>&lt;leader&gt;cu |NERD_com-uncomment-line| 
<br>Uncomments the selected line(s).
<br>
<br>Files that can be commented by this plugin:
<br>abaqus abc acedb ada ahdl amiga aml ampl ant apache apachestyle asm68k asm asm
<br>asn aspvbs atlas automake ave awk basic b bc bdf bib bindzone btm caos catalog
<br>c cfg cg ch cl clean clipper conf config cpp crontab cs csc csp css cterm cupl
<br>cvs dcl def diff dns dosbatch dosini dot dracula dsl dtd dtml dylan ecd eiffel
<br>elf elmfilt erlang eterm expect exports fgl focexec form fortran foxpro fvwm
<br>fx gdb gdmo gnuplot gtkrc haskell hb h help hercules hog html htmlos ia64 icon
<br>idlang idl indent inform inittab ishd iss ist jam java javascript jess jgraph
<br>jproperties jproperties jsp kix kscript lace lex lftp lifelines lilo lisp lite
<br>lotos lout lprolog lscript lss lua lynx m4 make maple masm master matlab mel
<br>mf mib mma model moduala.&nbsp;&nbsp;modula2 modula3 monk mush muttrc named nasm nastran
<br>natural ncf nqc nsis ocaml omnimark openroad opl ora ox pascal pcap pccts perl
<br>pfmain php phtml pic pike pilrc pine plm plsql po postscr pov povini ppd ppwiz
<br>procmail progress prolog psf ptcap python python radiance ratpoison r rc
<br>readline rebol registry remind rexx robots rpl ruby sa samba sas sather scheme
<br>scilab screen scsh sdl sed sgml sgmldecl sgmllnx sicad simula sinda skill
<br>slang sl slrnrc sm smil smith sml snnsnet snnspat snnsres snobol4 spec specman
<br>spice sql sqlforms sqlj sqr squid st stp strace tads tags tak tasm tcl
<br>terminfo tex texinfo texmf tf tidy tli trasys tsalt tsscl tssgm uc uil vb
<br>verilog vgrindefs vhdl vim virata vrml vsejcl webmacro wget winbatch wml sh
<br>wvdial xdefaults xf86conf xkb xmath xml xmodmap xpm2 xpm xslt yacc z8a
<br>
<br>If a language is not in the list of hardcoded supported filetypes then the
<br>&commentstring vim option is used.
<br>
<br>There are some options that the script provides, go :help NERD_com-Customisation
<br>for details
<br></td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">install details</td></tr>
+<tr><td>Stick it in the plugin directory. The help doc should be installed when you next run vim. If it isnt then you can find it at the bottom of the script.</td></tr>
+<tr><td>&nbsp;</td></tr>
+</table>
+
+<!-- rating table -->
+<form name="rating">
+<input type="hidden" name="script_id" value="1218">
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+  <td class="lightbg"><b>rate this script</b></td>
+  <td valign="middle">
+    <input type="radio" name="rating" value="life_changing">Life Changing
+    <input type="radio" name="rating" value="helpful">Helpful
+    <input type="radio" name="rating" value="unfulfilling">Unfulfilling&nbsp;
+    <input type="submit" value="rate">
+  </td>
+</tr>
+</table>
+</form>
+<span class="txth2">script versions</span> (<a href="add_script_version.php?script_id=1218">upload new version</a>)
+<p>
+Click on the package to download.
+<p>
+
+<table cellspacing="2" cellpadding="4" border="0" width="100%">
+<tr class='tableheader'>
+        <th valign="top">package</th>
+    <th valign="top">script version</th>
+    <th valign="top">date</th>
+    <th valign="top">Vim version</th>
+    <th valign="top">user</th>
+    <th valign="top">release notes</th>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6152">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.69</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-09-08</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">fixed a bug when initializing vb comment delimiters (cheers to boesi for pointing it out). Added support for the following filetypes: debsources, eruby, xhtml and yaml. Added &quot;dummy&quot; support for the following filetypes: netrw, svn, taglist, and the null filetype. These filetypes have no comment delimiters but now that NERD knows about them it doesnt complain anymore.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6067">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.68</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-08-13</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added an option called NERD_mapleader which allows you to change the two keys that all the mappings begin with by default. This will allow users to change all mappings easily so they dont conflict with any other plugins. Thanks to Tim Carey-Smith and Gary Church whose complaints prompted me to make this option :)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5716">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.67</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-05-18</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Replaced the NERD_dont_create_menu_shortcut option with NERD_menu_mode. This new option allows the user to specify 1) whether a comment menu should be made and 2) whether this menu should have &lt;alt&gt;-c as a shortcut. Go :help NERD_menu_mode for more info. Thanks to Joseph Barker for the sugesting that the menu should be an optional feature.
<br>
<br>Added suppport for plaintex, context and mail filetypes (when commenting a &quot;mail&quot; file &quot;&gt; &quot; is used as the left delimiter so that the commented text appears as quoted text in the email). Thanks to Jonathan Derque for emailing me with these filetypes.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5576">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.66</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-04-18</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Applied a patch that Norick Chen emailed to me that fixed the asp delimiters (which were wrong and caused an error)
<br>
<br>Thanks Norick :)
<br>
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5542">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.65</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-04-11</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Made minimal comments use the NERD_place_holder_regexp option. Now if place holders are needed but are disabled for the current filetype then the minimal comment is aborted. Thanks to Stefano Zacchiroli emailing me and prompting this change.
<br>
<br>Fixed a minor bug with minimal comments.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5535">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.64</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-04-09</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Refactored the code a bit and removed the NERD_use_toggle_coms_default and
<br>NERD_use_sexy_coms_default_regexp options. Now you have to adjust the key
<br>mappings to achieve the same effects as these options
<br>
<br>Sexy comments now always use the c style delimiters if they are available (even if another set of multipart delims is available) because they generally look the best.
<br>
<br>Fixed a bug that occured when using the tabs in vim7 (thanks to Harry for pointing it out:).
<br>
<br>Added a new commenting type called &quot;minimal&quot; comments where a SINGLE set of multipart delimiters is used to comment out a bunch of lines. Go :help NERD_com-minimal-comment for details. Thanks to Stefano Zacchiroli for this suggestion.
<br>
<br>Fixed some random little bugs.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5167">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.63</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-02-12</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">fixed a bug that was stopping the NERD_space_delim_filetype_regexp option from working with left aligned toggle comments. Thanks to boesi for pointing this out.
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4985">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.62</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-01-17</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed 2 bugs that caused problems when uncommenting sexy comments. Thanks to Torsten Blix for emailing me about them.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4970">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.61</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-01-14</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Applied a patch sent to me by Eike Von Seggern that fixed a bug that caused a space to be added to the end of the line when commenting with single-part delimiters. </td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4956">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.60</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-01-10</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added a new option that turns off the NERD_comments menu shortcut (Alt-c) which could interfere with other (Non-NERD)&nbsp;&nbsp;mappings. Thanks to Nguyen for pointing out this problem :)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4697">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.59</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-10-25</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">fixed a small bug that was causing problems with spaces around delimiters.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4696">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.58</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-10-24</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">fixed a bug that could be a problem when changing buffers. Thanks to David Bourgeois for pointing it out.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4691">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.57</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-10-21</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixed a retarded bug when commenting c files (thanks to David&nbsp;&nbsp;Bourgeois for pointing it out).
<br>Changed the NERD_dont_remove_spaces option to NERD_dont_remove_spaces_regexp and made it take a regular expression. Go :help NERD_dont_remove_spaces_regexp for details. Put a section in the help file that gives some examples of regular expressions that&nbsp;&nbsp;you may want to use for some of the options. Go :help NERD_com-reg-exps for details.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4641">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.56</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-10-01</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Tweaked the behaviour of the &quot;toggle comment&quot; mapping: now if you are commenting a range (with toggle comments) and&nbsp;&nbsp;you have the NERD_use_nested_comments_default option turned on it will comment the already comment lines again. Cheers to Igor Prischepoff for this suggestion. I also reorgansied the help page and added some stuff to make it more readable :)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4581">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.55</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-09-14</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">made the \ci mapping work with whole lines line the \c&lt;space&gt; mapping does i.e the mapping only counts a line as commented if it commented from the start of the line.
<br>Fixed a couple of silly bugs</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4578">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.54</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-09-13</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed the \cn mapping that i broke in the last version. Thanks to harry for pointing that out.
<br>Changed the behaviour of toggle comments: now lines are only counted as commented if they are commented from the beginning of the line. Thanks to Igor Prischepoff for suggesting this. I applied a patch by Richard (Krischikm) which fixed a couple of bugs and added a new option (see :help NERD_use_ada_with_spaces for details). I changed how the script handles tabs: now each line is examined individually instead of using examining the &expandtabs option and assuming it applies to every line. The script should not interfere with the tabbing style of any file you edit now... even if they alternate between soft and hard tabs with each line :).&nbsp;&nbsp;Stopped the cursor jumping when the \cu mapping is used.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4566">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.53</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-09-12</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Made some changes to how spaces around comments are removed when uncommenting... basically they are always removed unless the new option NERD_dont_remove_spaces is set. Go :help NERD_dont_remove_spaces for details. I added this functionality because i usually dont have NERD_comments adding spaces after/before the left/right delimiters but when im editing code written by people who DO it makes me insane because it is uncommented incorrectly.&nbsp;&nbsp;Fixed the cursor and screen jumping bugs... hopefully :)</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4557">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.52</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-09-06</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed an error in the help file. Added support for // comments in c. Made an option to turn these // comments on by default (go :help NERD_use_single_part_c_comments for details). Thanks to Richard Willis whose feedback prompted these changes :)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4554">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.51</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-09-05</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added yet another mapping (&lt;leader&gt;ci) which inverts the commented state of every selected line. i.e. for each line selected, if it is commented it is uncommented and vice versa. Thanks to Nick Brettell for the idea. Improved the cursor positioning after commenting is done so if you do a visual comment the cursor returns to a better position. Removed some line continuations that were screwing up on some systems. Thanks to Richard for pointing that out to me.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4541">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.50</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-08-31</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added a new mapping &lt;leader&gt;c&lt;space&gt; that toggles the comment state of the selected lines. It uncomments all the lines if the first line is commented and comments them otherwise. The mapping can be changed with this option: NERD_com_line_toggle_map. Toggle commenting can be made the default commenting method (so it applied when &lt;leader&gt;cc is pressed) with this option: NERD_use_toggle_coms_default. Thanks to Igor Prischepoff for the idea :)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4538">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.49</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-08-30</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixed a bug that was causing problems when the ignorecase option in vim was set. Thanks to Brent Rice for telling me about this problem and helping me track the bug down :)</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4533">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.48</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-08-28</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed a bug with sexy comments that was stopping them from working when you were using the alternative set of delimiters for some languages (eg c/java/etc)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4516">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.47</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-08-25</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixed bugs with sexy comments (most of the bugs were only an issue when using compact sexy comments): Now they work properly if they end on a blank line. When uncommenting sexy comments the display window doesnt jump anymore. If the sexy comment starts or ends on another ordinary&nbsp;&nbsp;comment it no longer screws up. Sexy comments no longer delete parts of lines (which they did from time to time). Blank lines above compact sexy comments are no longer removed when uncommenting.
<br>Fixed another bug with the &lt;C-c&gt; mapping.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4436">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.46</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-07-17</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">enhanced the option: NERD_comment_whole_lines_in_v_mode so that it can now take 2 values. Go :help NERD_comment_whole_lines_in_v_mode for an explaination. Thanks to jorge scandaliaris for emailing me with his criticism about this :)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4429">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.45</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-07-14</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Now the script doesnt create a seperate filetype for h files unless&nbsp;&nbsp;you tell it to with a new option called NERD_create_h_filetype. Go :help NERD_create_h_filetype for more info.
<br>This update was done to prevent NERD_comments from&nbsp;&nbsp;screwing with the taglist plugin. 
<br>
<br>Thanks to Markus Erlmann for pointing out that it caused problems.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4413">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.44</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-07-06</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed a bug with the &lt;C-c&gt; mapping after i broke it (again :().
<br>Thanks to Martin Stubenschrott for pointing this bug out!
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4404">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.43</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-06-30</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixed a bug with visual commenting.
<br>Added a new option, go :help NERD_comment_whole_lines_in_v_mode for details. Thanks to&nbsp;&nbsp;jorge scandaliaris and&nbsp;&nbsp;Shufeng Zheng for their suggestions about this.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4393">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.42</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-06-26</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Now, when any visual comments are made, the cursor is placed at the top left line/col of the visual selection block after the comment is done instead of on the top line at the first col. Thanks to Nick Brettell for complaining about this.
<br>
<br>Added support for .geek files hahahaha</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4369">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.41</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-06-16</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">fixed a small bug with the &lt;C-c&gt; functionality when the script is configured to put extra spaces between the delimiters.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4292">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.40</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-05-18</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed a bug that was screwing up place holders with nested commenting when NERD_use_nested_comments_default option is set. Changed the left and right default place holders because the strings that were being used were sort of common in c/c++/java/... files. If you liked them the way they were you can just set them back with the NERD_lPlace and NERD_rPlace options.
<br>Thanx to Nick for complaining about the place holders and spotting the other bug :P
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4283">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.39</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-05-15</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixed a retarded bug with the &lt;C-c&gt; mapping.
<br>Changed the &lt;leader&gt;ce mapping to have a default mapping of &lt;leader&gt;cA and added a new mapping that adds a comment delimiter to the start of the current line and inserts between the delimiters - the default mapping is &lt;leader&gt;cI (thats an uppercase i not a lowercase L).
<br>Fixed a bug that caused the script to spaz out if you tried to comment a file with no filetype.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4279">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.38</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-05-13</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added new functionality for when text is commented in normal visual mode (i.e not visual-block or visual-line). Now Nerd_comments comments out exactly the text that is selected in visual mode regardless of the type of visual mode you are in. 
<br>Thanks to Nick Brettell his ideas about this!
<br>
<br>Also, if you are commenting out text in visual or visual-block mode, NERD_comments will use multip-part delimiters is they are available so that the exact text that was selected will be exactly what is commented out - a new option has been added to turn off this behaviour (go :help NERD_allow_any_visual_delims_regexp for details).
<br>
<br>Fixed a couple of small bugs with the &lt;C-c&gt; mapping that prolly on one even noticed :P
<br>
<br>
<br>
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4260">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.37</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-05-09</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added a new mapping/menu item:
<br>Now when &lt;leader&gt;ce is pressed a comment is appended to the EOL and the cursor gets put in insert mode in the appropriate place to type the comment.
<br>
<br>Thanks to Litchi for emailing me with this idea :)
<br>
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4258">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.36</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-05-08</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">added lots more supported filetypes</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4237">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.35</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-05-04</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added support for some new filetypes.
<br>Fixed a small bug with sexy comments.
<br>Fixed a bug with tabs that was not too serious but would screw up commenting of things like makefiles in a big way. Cheers to Nick Brettell for pointing this bug out!</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4223">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.34</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-29</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Add support for a couple more filetypes. Thanks to Sam R for emailing me about them!</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4221">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.33</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-29</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">added a new mapping/menuItem that yanks the current line or selected text before commenting it out. This is handy if you wanna experiment with a piece of code... u just comment out the code and put a copy underneath it that you experiment on.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4201">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.32</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-25</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">now,&nbsp;&nbsp;if the current filetype matches NERD_use_sexy_coms_default_regexp then sexy comments will only be used if you are commenting more than one line with &lt;leader&gt;cc... i thought sexy comments on one line looked retarded. Of course you can still do one line sexy comments with &lt;leader&gt;cs</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4198">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.31</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-25</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added a new option called NERD_use_sexy_coms_default_regexp. This option is used to tell NERD_comments to use sexy comments for certain filetypes by default when &lt;leader&gt;cc is pressed.
<br>
<br>Now if you edit a filetype that the script doesnt know about the warning it echos isnt so &quot;loud&quot;
<br>
<br>Thanks to Nguyen for suggesting these changes.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4195">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.30</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-22</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Have finally implemented &quot;sexy&quot; comments. Go :help NERD_com_sexy_commenting to see what they are... i cant even be stuffed explaining.
<br>
<br>There is an option to make your sexy comments compact and use up less lines, go :help NERD_use_compact_sexy_com_regexp.
<br>
<br>Thanks to Nguyen for the idea... sorry it took so long dude :P</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4181">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.29</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-18</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">There are a couple of new options to tell NERD_comments to always left align, right align or both align, comment delimiters when commenting multiple lines in visual mode. Go :help NERD_left_align_regexp, :help NERD_right_align_regexp. If the current filetype matches one or both of these regular expressions then hitting &lt;leader&gt;cc will automatically align the delimiters. 
<br>
<br>There are comment mappings/menu items which can be used to do aligned comments for any filetype. The mappings are &lt;leader&gt;cl &lt;leader&gt;cr and &lt;leader&gt;cb for left, right and both aligned comments respectively. These mappings and menu items assume that the comments will be nested if need be.
<br>
<br>Now, when uncommenting lines, the script looks for left and right delimiters separately so for eg: if you uncomment a line with one right delimiter on it (but no left delim) then it will still be removed.
<br>
<br>Fixed a couple of minor bugs.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4156">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.28</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-12</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added a menu with menu items for each of the scripts key mappings.
<br>Refactored the code a bit.
<br>Now, if&nbsp;&nbsp;you edit a filetype that vim doesnt know about the script wont crap out.
<br>Added support for a couple more filetypes.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4131">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.27</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-06</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">a few bug fixes</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4122">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.26</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-05</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Removed an echoerr that i forgot to remove from last release...</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4119">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.25</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-04</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Updated comment recognition heuristics. Modified the place holder system a bit so it is better. Did some refactoring to simplify the code a bit. Fixed some random bugs</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4113">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.24</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-01</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed some bugs with place holders.
<br>
<br>Parameterised some of the place holder stuff to make it more customisable. There are now 3 more options: NERD_lPlace, NERD_rPlace and NERD_place_holder_regexp. These options are used to control the strings that are used as place holders and to specify the filetypes NERD_comments will use place holders for. Go :help and the name of each option for more info
<br>
<br>Now when a line is uncommented, the outtermost delimiters are removed regardless of whether they are the alternative delimiters for that filetype or not</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4111">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.23</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-01</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Added support for place holders when nesting comments with left AND right delimiters.
<br>Now if you go &lt;leader&gt;cn on a line of already commented code (eg: /* int foo */), the current delimiters will be swapped for place holders so the example line will become: /*[+ int foo +]*/ where [+ and +] are the place holders.
<br>Also, i fixed a pretty major bug with visual-block commenting</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4088">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.22</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-28</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed the syntax highlighting probs with h files.
<br>
<br>There is a new option which is used to place a space after the left delimiter and before the right delimiter. The option is set to a regular expression and any filetypes that match this expression have the aforementioned spaces added when commenting. Go :help NERD_space_delim_filetype_regexp for details.
<br>
<br>Thanks to Nguyen for pointing these emailing me about these things!!
<br>
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4082">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.21</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-26</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">fixed some bugs.
<br>added support for more filetypes</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4081">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.20</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-26</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">did some refactoring
<br>
<br>added support for more filetypes</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4068">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.19</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-24</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">If the filetype is unkown to the script it now looks at &commentstring to get the comment delimiters for that filetype</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4064">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.18</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-23</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Block commenting is done automatically now... if you select some text in visual-block mode and go &lt;leader&gt;cc it will&nbsp;&nbsp;behave the same as if you pushed &lt;leader&gt;cb before.
<br>
<br>Similarly, if you select some text with visual-block mode and go &lt;leader&gt;cn it wll behave as if you had pushed &lt;leader&gt;cB
<br>
<br>the &lt;leader&gt;cb and &lt;leader&gt;cB mappings have now been removed cos they are redundant
<br>
<br>The comment recognition heuristics have been updated a little bit so NERD_comments is now a bit better at recognising comment delimiters</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4062">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.17</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-23</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">block commenting is much better now</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4047">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.16</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-21</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">umm, the script has been changed a lot...
<br>- the keymappings and options are different and there is waaaay more of them
<br>- there is now way more functionality provided by the script
<br>- there is a help file that is self-installing and fully contained in the script (i stole the installation function from the vimspell plugin (thx vimspell!!))
<br>- the internals of the script are a bit more sophisticated in the way they recognise comments (they have to be cos of the new functionality) but it is not perfect at recognising comment delimiters (infact it only uses a set of heuristics) 
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4026">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.15</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-15</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Changed the guts of the script a bit.
<br>
<br>Now the imap for &lt;C-c&gt; is done automatically which means that adding support for commenting another language is really easy and takes just one line!
<br>
<br>Haskell and lisp are now supported
<br>
<br>There is a new function that is designed to handle programming languages with more than one commenting style which is a bit of a hack but works well. 
<br>
<br>Theres another option NERD_use_c_style_prolog_comments
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3983">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.14</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-09</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Did a bit of refactoring... no functionality changes.
<br>
<br>Thanks to Matthew Hawkins for pointing out the code repitition :P</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3976">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.13</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-07</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- added a new option: NERD_use_c_comments_for_h_files. This option is needed cos
<br>&nbsp;&nbsp;h files are used with c files which only allow /**/ comments, but they are also
<br>&nbsp;&nbsp;used with c++/c# which allow // comments which are illegal in c
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>- the option NERD_use_slash_star_java_cpp_comments now affects c# files as well.
<br>&nbsp;&nbsp;This means that c# files are now commented like c++/java files
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>- added a new autocommand which sets the filetype to h if we enter a buffer with
<br>&nbsp;&nbsp;an h file in it. This was needed cos some versions of vim dont seem to have an h
<br>&nbsp;&nbsp;filetype. Some versions of vim treat h files as cpp files which screws everything up!!!
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3971">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.12</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-06</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixed a bug with forced commenting (&lt;leader&gt;&lt;leader&gt;c)</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3967">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.11</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-05</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Some minor bug fixes and improvements</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3957">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.10</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-03</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">An additional mapping has been added:
<br>&lt;leader&gt;&lt;leader&gt;c will now comment out the selected lines and will force nested commenting (provided the comment style has no right delimiter - to avoid compiler errors). Note that if the option NERD_allow_nested_comments is set then &lt;leader&gt;c performs this behaviour anyway...
<br></td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3946">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.09</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-01</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- there is a new option NERD_allow_nested_comments which will allow nested comments provided that there is no right delimiter for that commenting style. This should prevent nested commenting errors.
<br>
<br>eg. the option will allow nested // style java comments (which will not produce compiler errors) but will not allow nested /* */ style c comments (which would cause compiler errors). 
<br>The reason this feature has been added is the following: Say that you have commented out an entire function which already has comments in it... when you uncomment out the function, errors will result because of the comments that were already there that have been uncommented. This way those comments will become nested comments and the function will be exactly as it was before you commented it.
<br>
<br>- the option NERD_double_slash_java_comments has been changed to NERD_use_star_slash_java_cpp_comments. Now, when editing java/c++ file&nbsp;&nbsp;// style comments are used by default unless this option is set. This is to make it easier for ppl who want to use the nested comments option as well...</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3944">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.08</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-01</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">- Massive refactoring which has significantly reduced the size of the script
<br>- Corrections to some of the comment delimiters used
<br>- also the filetype event used in the auto commands that turn on the mappings has been capitalised to FileType to fix a problem with some versions of vim
<br>- version number is now in the script
<br>
<br>All of this was done by Matthew Hawkins... THANK YOU VERY MUCH !!! :) </td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3939">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.07</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-02-28</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- Now, when commenting lines of code, lines that are already commented out are not commented again
<br>- when commenting code, blank lines (or lines containing only spaces and/or tabs) are not commented
<br>- an option has been added which lets you have // style java comments instead of /* */ java comments just stick 'let NERD_double_slash_java_comments=1' in your vimrc
<br></td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3928">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.06</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-02-27</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Now the left comment delimiter is placed in the position that the leftmost character occupies instead of at the start of the line. This means that indenting is preserved</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3924">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.05</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-02-27</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">fixed bug for removing comment delimiters
<br>
<br>added support for shite loads more filetypes</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3915">NERD_comments.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.04</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-02-26</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">The functions that turn on the comment mappings are now local to the script</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3914">NERD_comments.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.03</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-02-26</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Now the comment mappings are loaded automatically.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3913">NERD_comments.vim.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.02</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-02-25</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">fixed some bugs. Comments now work for c. Also the hlsearch option is not potentially changed when the comment mappings are used</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=3908">NERD_comments.vim.gz</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.01</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-02-25</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="rowodd" valign="top" width="2000">err, various corrections to comments</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=3907">NERD_comments.vim.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-02-25</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=7006">Marty Grenfell</a></i></td>
+    <td class="roweven" valign="top" width="2000">Initial upload</td>
+</tr>
+</table>
+<!-- finish off the framework -->
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<!-- END OF THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+  <tr><td colspan="4" bgcolor="#000000"><img src="/images/spacer.gif" height="2" width="1" alt=""></td></tr>
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+  <tr>
+    <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+
+    <td align="left" valign="top"><small>
+      If you have questions or remarks about this site, visit the
+      <a href="http://vimonline.sf.net">vimonline development</a> pages.
+      Please use this site responsibly.
+      <br> 
+      
+      Questions about <a href="http://www.vim.org/about.php">Vim</a> should go
+      to vim at vim.org after searching
+      <a href="http://groups.yahoo.com/group/vim">the archive</a>.
+      Help Bram <a href="http://iccf-holland.org/">help Uganda</a>.
+      </small>
+	&nbsp;
+	&nbsp;
+
+	<!-- Start of StatCounter Code -->
+	<script type="text/javascript" language="javascript">
+	var sc_project=1417324; 
+	var sc_invisible=1; 
+	var sc_partition=11; 
+	var sc_security="d41633bc"; 
+	</script>
+
+	<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img  src="http://c12.statcounter.com/counter.php?sc_project=1417324&java=0&security=d41633bc&invisible=0" alt="free tracking" border="0"></a> </noscript>
+	<!-- End of StatCounter Code -->
+	<small>
+	<a href="http://my.statcounter.com/project/standard/stats.php?project_id=1417324&guest=1">stats</a>
+	</small>
+    </td>
+
+    <td align="right" valign="top">
+      	<a href="http://www.webconceptgroup.net"><img src="/images/logo_sponsor_wcg.jpg" width="131" height="30" border="0" alt="Sponsored by Web Concept Group Inc."></a>
+	<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=8&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
+    </td>
+
+    <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+  </tr>
+
+    
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  
+  </tr>
+</table>
+
+</body>
+</html>
+

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_a.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_a.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_a.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_a.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>1533/481</b>,
-    Downloaded by 10837  </td>
+    Rating <b>1550/486</b>,
+    Downloaded by 11015  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_bufexplorer.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_bufexplorer.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_bufexplorer.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_bufexplorer.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>1294/434</b>,
-    Downloaded by 21407  </td>
+    Rating <b>1307/438</b>,
+    Downloaded by 21665  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_calendar.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_calendar.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_calendar.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_calendar.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>984/397</b>,
-    Downloaded by 14419  </td>
+    Rating <b>991/401</b>,
+    Downloaded by 14558  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_cvsmenu.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_cvsmenu.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_cvsmenu.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_cvsmenu.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>71/23</b>,
-    Downloaded by 1094  </td>
+    Downloaded by 1135  </td>
 </tr>
 </table>
 <p>
@@ -204,132 +204,140 @@
     <th valign="top">release notes</th>
 </tr>
 <tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6082">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.124</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2006-08-20</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Map `q' to quickly close the buffer opened by cvs annotate and cvs log.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5734">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.123</b></td>
-    <td class="roweven" valign="top" nowrap><i>2006-05-21</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">Update broken links and make self-update work again.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5687">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.122</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2006-05-13</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Update CVS info due to the SourceForge site change to make updating itself continue to work.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4770">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.121</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-11-16</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">- Use extracted cvs command (w/o `-q' etc.) to match with CVSdontconvertfor; - Ensure correct message escaping on Windows when shell=cmd.exe (regardless of shellxquote); - Documentation is updated to reflect my changes: be sure to use `CVS - Settings - Install - Install updates' (or `Download updates' followed by `Install buffer as help' on the help file buffer) to get it.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4725">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.118</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-11-09</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">- Deal with &quot;`&quot; correctly under Unix;
<br>- Make no-reload-prompt trick work when the committed file is not in the current directory.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4713">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.116</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-11-01</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">- Do not allow to commit if the current file has not a name;
<br>- Fix a bug when executing `:w file' on an unsaved named buffer.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4673">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.114</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-10-14</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">- Work around a problem that unedit of CVSNT may prompt to revert changes;
<br>- Allow the ouput encoding of cvs be different from the Vim encoding (e.g., to make Chinese in annotate and the error message of CVSNT display correctly, one may now use `let CVScvsoutputencoding=&quot;gbk&quot;' in .vimrc).</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4612">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.112</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-09-22</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">- Rename CVSaddspaceafterannotate to CVSspacesinannotate;
<br>- Display two missing parameters in CVS - Info;
<br>- Avoid the reload prompt after commit;
<br>- Do not allow to commit if the current buffer is modified.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4414">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.109</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-07-07</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Fix problems with CVS annotation highlighting.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4351">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.107</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-06-08</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">- Allow space adjustment of output of &quot;CVS - Annotate&quot;&nbsp;&nbsp;(assign a positive value to g:CVSaddspaceafterannotate) so that files that use TABs can align better.
<br>- Output of &quot;CVS - Annotate&quot; is now highlighted.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4207">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.104</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-04-28</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">- Do not remap keys for new buffers output by cvs annotate, history, and log.
<br>- Correct the help message for output buffer.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4184">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.102</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-04-19</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">Make menu commands like &quot;CVS - Directory - Update&quot; work in insert mode.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4175">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.100</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-04-17</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Do not reload-after-commit after a directory commit (to avoid an error).
<br>
<br>Fix CVSInstallAsPlugin and CVSInstallAsHelp so that the plugin and its help are installed to where the script is currently installed.</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4121">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.97</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-04-04</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">Fix the broken key mapping. Now it is possible to use key sequences similar to the menu hot keys. E.g. `alt-c, i' is used to commit when the GUI menu exists; so `,ci' could be used in text-mode Vim to commit.</td>
-</tr>
-<tr>
-        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4089">cvsmenu.vim</a></td>
-    <td class="rowodd" valign="top" nowrap><b>1.96</b></td>
-    <td class="rowodd" valign="top" nowrap><i>2005-03-28</i></td>
-    <td class="rowodd" valign="top" nowrap>6.0</td>
-    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="rowodd" valign="top" width="2000">Make sure the special characters &quot;&&quot;, &quot;&lt;&quot;, &quot;&gt;&quot;, &quot;|&quot;, and &quot;^&quot; are handled correctly if shell is cmd.exe and shellxquote is \&quot; (there will be miscellaneous gotchas if the shell is command.com or shellxquote is empty).
<br>
<br>Change the prefixing spaces in menu items to appending spaces to make wildmenu users happier (when wim includes longest).</td>
-</tr>
-<tr>
-        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4058">cvsmenu.vim</a></td>
-    <td class="roweven" valign="top" nowrap><b>1.94</b></td>
-    <td class="roweven" valign="top" nowrap><i>2005-03-22</i></td>
-    <td class="roweven" valign="top" nowrap>6.0</td>
-    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
-    <td class="roweven" valign="top" width="2000">Initial upload</td>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6134">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.125</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-09-02</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Truncate the Vim title after the file name so that the file name is always visible when the directory name is long.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6082">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.124</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-08-20</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">Map `q' to quickly close the buffer opened by cvs annotate and cvs log.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5734">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.123</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-05-21</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Update broken links and make self-update work again.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=5687">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.122</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-05-13</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">Update CVS info due to the SourceForge site change to make updating itself continue to work.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4770">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.121</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-11-16</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- Use extracted cvs command (w/o `-q' etc.) to match with CVSdontconvertfor; - Ensure correct message escaping on Windows when shell=cmd.exe (regardless of shellxquote); - Documentation is updated to reflect my changes: be sure to use `CVS - Settings - Install - Install updates' (or `Download updates' followed by `Install buffer as help' on the help file buffer) to get it.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4725">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.118</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-11-09</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">- Deal with &quot;`&quot; correctly under Unix;
<br>- Make no-reload-prompt trick work when the committed file is not in the current directory.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4713">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.116</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-11-01</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- Do not allow to commit if the current file has not a name;
<br>- Fix a bug when executing `:w file' on an unsaved named buffer.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4673">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.114</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-10-14</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">- Work around a problem that unedit of CVSNT may prompt to revert changes;
<br>- Allow the ouput encoding of cvs be different from the Vim encoding (e.g., to make Chinese in annotate and the error message of CVSNT display correctly, one may now use `let CVScvsoutputencoding=&quot;gbk&quot;' in .vimrc).</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4612">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.112</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-09-22</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- Rename CVSaddspaceafterannotate to CVSspacesinannotate;
<br>- Display two missing parameters in CVS - Info;
<br>- Avoid the reload prompt after commit;
<br>- Do not allow to commit if the current buffer is modified.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4414">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.109</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-07-07</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fix problems with CVS annotation highlighting.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4351">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.107</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-06-08</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">- Allow space adjustment of output of &quot;CVS - Annotate&quot;&nbsp;&nbsp;(assign a positive value to g:CVSaddspaceafterannotate) so that files that use TABs can align better.
<br>- Output of &quot;CVS - Annotate&quot; is now highlighted.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4207">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.104</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-28</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">- Do not remap keys for new buffers output by cvs annotate, history, and log.
<br>- Correct the help message for output buffer.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4184">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.102</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-19</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Make menu commands like &quot;CVS - Directory - Update&quot; work in insert mode.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4175">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.100</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-04-17</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">Do not reload-after-commit after a directory commit (to avoid an error).
<br>
<br>Fix CVSInstallAsPlugin and CVSInstallAsHelp so that the plugin and its help are installed to where the script is currently installed.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4121">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.97</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-04-04</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fix the broken key mapping. Now it is possible to use key sequences similar to the menu hot keys. E.g. `alt-c, i' is used to commit when the GUI menu exists; so `,ci' could be used in text-mode Vim to commit.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=4089">cvsmenu.vim</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.96</b></td>
+    <td class="roweven" valign="top" nowrap><i>2005-03-28</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="roweven" valign="top" width="2000">Make sure the special characters &quot;&&quot;, &quot;&lt;&quot;, &quot;&gt;&quot;, &quot;|&quot;, and &quot;^&quot; are handled correctly if shell is cmd.exe and shellxquote is \&quot; (there will be miscellaneous gotchas if the shell is command.com or shellxquote is empty).
<br>
<br>Change the prefixing spaces in menu items to appending spaces to make wildmenu users happier (when wim includes longest).</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=4058">cvsmenu.vim</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.94</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2005-03-22</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=6184">Yongwei Wu</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Initial upload</td>
 </tr>
 </table>
 <!-- finish off the framework -->

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_gnupg.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_gnupg.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_gnupg.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_gnupg.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>290/103</b>,
-    Downloaded by 2203  </td>
+    Downloaded by 2241  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_info.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_info.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_info.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_info.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>554/192</b>,
-    Downloaded by 4557  </td>
+    Downloaded by 4575  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_minibufexpl.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_minibufexpl.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_minibufexpl.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_minibufexpl.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>1898/584</b>,
-    Downloaded by 17067  </td>
+    Rating <b>1908/588</b>,
+    Downloaded by 17346  </td>
 </tr>
 </table>
 <p>

Added: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_project.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_project.vim.html?rev=760&op=file
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_project.vim.html (added)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_project.vim.html Sat Sep  9 13:20:39 2006
@@ -1,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+
+<head>
+  <link rel="Stylesheet" type="text/css" href="/css/style.css" >
+  <title>project.tar.gz - Organize/Navigate projects of files (like IDE/buffer explorer) : vim online</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta name="KEYWORDS" content="Vim, Vi IMproved, text editor, home, documentation, tips, scripts, news">
+  <link rel="shortcut icon" type="image/x-icon" href="/images/vim_shortcut.ico">
+</head>
+
+<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#ffffff"> 
+
+<!-- HEADER, SPONSOR IMAGE, VIM IMAGE AND BOOK AD -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+  <tr>
+    <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  </tr>
+  <tr>
+  <td class="lightbg">&nbsp;&nbsp;&nbsp;</td>
+  <td class="lightbg" align="left"><a href="/sponsor/index.php"><img src="/images/sponsorvim.gif" alt="sponsor Vim development" border="0"></a></td>
+    <td class="lightbg" align="center"><a href="/index.php"><img src="/images/vim_header.gif" border="0" alt="Vim logo"></a></td>
+    <td class="lightbg" align="right"><a href="http://iccf-holland.org/click5.html"><img src="/images/buyhelplearn.gif" alt="Vim Book Ad" border="0"></a></td>
+  </tr>
+  <tr>
+    <td colspan="4" class="lightbg"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  </tr>
+  <tr>
+    <td colspan="4" class="darkbg"><img src="/images/spacer.gif" width="1" height="10" alt=""></td>
+  </tr>
+</table>
+<!-- THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+  <col width="180">
+  <col width="1">
+
+  <tr valign="top">
+    <td class="sidebar">
+      <table width="180" cellpadding="4" cellspacing="0" border="0">
+        <tr valign="top">
+          <td class="sidebar">
+
+<!-- INCLUDE THE PAGE NAVIGATION -->
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+    <tr>
+        <td><small>not logged in (<a href="/login.php">login</a>)</small></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="1"></td>
+    </tr>
+    <tr>
+        <td class="darkbg"><img src="/images/spacer.gif" alt='' border="0" height="3"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="2"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/index.php">Home</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/search.php">Search</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/about.php">About Vim</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/community.php">Community</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/news/news.php">News</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/sponsor/index.php">Sponsoring</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/trivia.php">Trivia</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/docs.php">Documentation</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/download.php">Download</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/scripts/index.php">Scripts</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/tips/index.php">Tips</a></td>
+        </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/account/index.php">My Account</a></td>
+        </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+    <tr>
+        <td class="checker"><img src="/images/spacer.gif" alt='' border="0" height="1"></td>
+    </tr>
+    <tr>
+        <td><img src="/images/spacer.gif" alt="" border="0" width="1" height="7"></td>
+    </tr>
+        <tr>
+            <td class="sidebarheader"><a href="/huh.php">Site Help</a></td>
+        </tr>
+</table>
+
+            <table width="172" cellpadding="0" cellspacing="0" border="0">
+              <tr><td><img src="/images/spacer.gif" alt="" border="0" width="1" height="8"></td></tr>
+              <tr><td class="darkbg"><img src="/images/spacer.gif" width="1" height="3" alt=""></td></tr>
+            </table>
+            <br>
+
+<!-- INCLUDE THE PAGE SIDEBAR TEXT -->
+&nbsp;
+
+          </td>
+        </tr>
+      </table>
+    </td>
+
+    <td class="darkbg"><img src="/images/spacer.gif" width="1" height="1" border="0" alt=""><br></td>
+    <td>
+      <table width="100%" cellpadding="10" cellspacing="0" border="0" bordercolor="red">
+        <tr>
+          <td valign="top">
+
+<span class="txth1">project.tar.gz : Organize/Navigate projects of files (like IDE/buffer explorer)</span> 
+
+<br>
+<br>
+
+<!-- karma table -->
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+  <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
+  <td>
+    Rating <b>1345/391</b>,
+    Downloaded by 11112  </td>
+</tr>
+</table>
+<p>
+
+<table cellspacing="0" cellpadding="0" border="0">
+<tr><td class="prompt">created by</td></tr>
+<tr><td><a href="/account/profile.php?user_id=182">Aric Blumer</a></td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">script type</td></tr>
+<tr><td>utility</td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">description</td></tr>
+<tr><td>You can use this plugin's basic functionality to set up a list of
<br>frequently-accessed files for easy navigation. The list of files
<br>will be displayed in a window on the left side of the Vim
<br>window, and you can press &lt;Return&gt; or double-click on
<br>filenames in the list to open the files. This is similar to how
<br>some IDEs I've used work. I find this easier to use than
<br>having to navigate a directory hierarchy with the file-explorer.
<br>It also obviates the need for a buffer explorer because you
<br>have your list of files on the left of the Vim Window.
<br>
<br>
<br>But there's much, much more . . . .
<br>
<br>You can also instruct the Plugin to change to a directory and
<br>to run scripts when you select a file. These scripts can, for
<br>example, modify the environment to include compilers in
<br>$PATH. This makes it very easy to use quickfix with multiple
<br>projects that use different environments. I give examples in
<br>the documentation.
<br>
<br>Other features include:
<br>	o Loading/Unloading all the files in a Project (\l, \L, \w, and \W)
<br>	o Grepping all the files in a Project (\g and \G)
<br>	o Running a user-specified script on a file (can be used
<br>	&nbsp;&nbsp;to launch an external program on the file) (\1 through \9)
<br>	o Running a user-specified script on all the files in a Project
<br>	&nbsp;&nbsp;(\f1-\f9 and \F1-\F9)
<br>	o Also works with the netrw plugin using directory
<br>	&nbsp;&nbsp;names like <a target="_blank" href="ftp://remotehost">ftp://remotehost</A>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Good for webpage maintenance.)
<br>	o Support for custom mappings for version control
<br>	&nbsp;&nbsp;integration (example of perforce in the documentation).
<br>	o I also give an example in the documentation on how to 
<br>	&nbsp;&nbsp;set up a custom launcher based on extension. The
<br>	&nbsp;&nbsp;example launches *.jpg files in a viewer. I have also set
<br>	&nbsp;&nbsp;up viewers for PDF (acroread) and HTML files (mozilla)
<br>	&nbsp;&nbsp;for my own use.
<br>
<br>This plugin is known to work on Linux, Solaris, and Windows.
<br>I cannot test it on Windows, though, so please let me know if
<br>you run into any problems. If you use it on other platforms,
<br>let me know.
<br>
<br>(Let me know if you need a .zip file)
<br></td></tr>
+<tr><td>&nbsp;</td></tr>
+<tr><td class="prompt">install details</td></tr>
+<tr><td>Decompress and untar in your ~/.vim directory (or
<br>equivalent).&nbsp;&nbsp;Inside Vim, enter this:
<br>&nbsp;&nbsp; :helptags ~/.vim/doc
<br>(or equivalent directory)
<br>(Enter &quot;:help add-global-plugin&quot; to determine the directory to
<br>untar it into.)
<br>
<br>Then enter
<br>&nbsp;&nbsp;:help project
<br>for information
<br></td></tr>
+<tr><td>&nbsp;</td></tr>
+</table>
+
+<!-- rating table -->
+<form name="rating">
+<input type="hidden" name="script_id" value="69">
+<table cellpadding="4" cellspacing="0" border="1" bordercolor="#000066">
+<tr>
+  <td class="lightbg"><b>rate this script</b></td>
+  <td valign="middle">
+    <input type="radio" name="rating" value="life_changing">Life Changing
+    <input type="radio" name="rating" value="helpful">Helpful
+    <input type="radio" name="rating" value="unfulfilling">Unfulfilling&nbsp;
+    <input type="submit" value="rate">
+  </td>
+</tr>
+</table>
+</form>
+<span class="txth2">script versions</span> (<a href="add_script_version.php?script_id=69">upload new version</a>)
+<p>
+Click on the package to download.
+<p>
+
+<table cellspacing="2" cellpadding="4" border="0" width="100%">
+<tr class='tableheader'>
+        <th valign="top">package</th>
+    <th valign="top">script version</th>
+    <th valign="top">date</th>
+    <th valign="top">Vim version</th>
+    <th valign="top">user</th>
+    <th valign="top">release notes</th>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5600">project-1.4.tar.gz</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.4</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-04-24</i></td>
+    <td class="rowodd" valign="top" nowrap>7.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="rowodd" valign="top" width="2000">After about 2.5 years here is a slightly updated version.
<br>
<br>-Updated to support 7.0.&nbsp;&nbsp;The previous version works in 7.0, but there was an annoying redraw when you move into/out of the project window.
<br>-Also, 7.0 treats modelines a little bit differently than 6.x. Version 7.0 re-evaluates window-local modelines if you hide and show the project window, and this messes up folds if you have a foldlevel in your project file's modelines.&nbsp;&nbsp;Modelines are now turned off after the project file is first loaded.
<br>-Added \S (Split-load all files at the cursor level) contributed by A. Harrison.
<br>-Bug fix with misuse of winnr() when winbufnr() should have been used.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=1338">project-1.3.tar.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.3</b></td>
+    <td class="roweven" valign="top" nowrap><i>2002-10-25</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="roweven" valign="top" width="2000">-Bug Fixes (thanks Xiangjiang Ma)
<br>-Completed suite of % expansions in proj_run
<br>-Added mapping to toggle Project Window open/closed.
<br>-Added &lt;F5&gt; mapping equivalent to \R</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=1266">project-1.2.1.tar.gz</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.2.1</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2002-10-01</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="rowodd" valign="top" width="2000">--Identical to 1.2 but fixed functionality with netrw</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=1262">project-1.2.tar.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.2</b></td>
+    <td class="roweven" valign="top" nowrap><i>2002-09-30</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="roweven" valign="top" width="2000">-Environment variables now expanded in paths.
<br>-Added 'b' flag to use the browse() function. (Off for Windows--it can't browse for directories.)
<br>-Added keep pragma to keep lines when refreshing.
<br>-Small tweaks.
<br>-Doc: example of using perforce with the plugin.
<br>-Doc: example of adding custom launchers.
<br>-Can't test on Windows, please let me know of problems.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=741">project-1.1.tar.gz</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.1</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2002-04-01</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Now accepts spaces in directories. Some bug fixes, too. Added Project_GetFname() for user scripts.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=385">project.tar.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.0</b></td>
+    <td class="roweven" valign="top" nowrap><i>2001-11-30</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="roweven" valign="top" width="2000">Some Bugfixes, improvements in performance. Added recursive create, explore, filenames with spaces, etc.</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=285">project.tar.gz</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.0pre4</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2001-10-18</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Last pre before 1.0, so please test!
<br>- Added project grep, project load, project wipe
<br>- Can run commands on all files in a project.
<br>- Now supports netrw plugin</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=254">project.tar.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.0pre3</b></td>
+    <td class="roweven" valign="top" nowrap><i>2001-10-09</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="roweven" valign="top" width="2000">Added flags for sorting of filenames.
<br>Added mappings to run external program or Vim script on a file.
<br>Fixed a small bug (&quot;internal error&quot;).</td>
+</tr>
+<tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=236">project.tar.gz</a></td>
+    <td class="rowodd" valign="top" nowrap><b>1.0pre2</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2001-10-05</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="rowodd" valign="top" width="2000">Fixed absolute path detection for Win32. (Thanks Lawrence!) Fixed small documentation error.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=233">project.tar.gz</a></td>
+    <td class="roweven" valign="top" nowrap><b>1.0pre1</b></td>
+    <td class="roweven" valign="top" nowrap><i>2001-10-03</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=182">Aric Blumer</a></i></td>
+    <td class="roweven" valign="top" width="2000">Several new features, most notably: Paths can now be relative in subprojects. Subprojects inherit parameters from parent. New in= and out= directives to run Vim scripts to modify the environment. Added T flag. Added per-fold flags. CTRL-W_o keeps Project Window visible. etc.</td>
+</tr>
+</table>
+<!-- finish off the framework -->
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<!-- END OF THE PAGE BODY: BETWEEN HEADER AND FOOTER -->
+
+<table width="100%" cellpadding="0" cellspacing="0" border="0" bordercolor="red">
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+  <tr><td colspan="4" bgcolor="#000000"><img src="/images/spacer.gif" height="2" width="1" alt=""></td></tr>
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td></tr>
+  <tr>
+    <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+
+    <td align="left" valign="top"><small>
+      If you have questions or remarks about this site, visit the
+      <a href="http://vimonline.sf.net">vimonline development</a> pages.
+      Please use this site responsibly.
+      <br> 
+      
+      Questions about <a href="http://www.vim.org/about.php">Vim</a> should go
+      to vim at vim.org after searching
+      <a href="http://groups.yahoo.com/group/vim">the archive</a>.
+      Help Bram <a href="http://iccf-holland.org/">help Uganda</a>.
+      </small>
+	&nbsp;
+	&nbsp;
+
+	<!-- Start of StatCounter Code -->
+	<script type="text/javascript" language="javascript">
+	var sc_project=1417324; 
+	var sc_invisible=1; 
+	var sc_partition=11; 
+	var sc_security="d41633bc"; 
+	</script>
+
+	<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img  src="http://c12.statcounter.com/counter.php?sc_project=1417324&java=0&security=d41633bc&invisible=0" alt="free tracking" border="0"></a> </noscript>
+	<!-- End of StatCounter Code -->
+	<small>
+	<a href="http://my.statcounter.com/project/standard/stats.php?project_id=1417324&guest=1">stats</a>
+	</small>
+    </td>
+
+    <td align="right" valign="top">
+      	<a href="http://www.webconceptgroup.net"><img src="/images/logo_sponsor_wcg.jpg" width="131" height="30" border="0" alt="Sponsored by Web Concept Group Inc."></a>
+	<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=8&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
+    </td>
+
+    <td><img src="/images/spacer.gif" width="5" height="1" alt=""></td>
+  </tr>
+
+    
+  <tr><td colspan="4"><img src="/images/spacer.gif" width="1" height="5" alt=""></td>
+  
+  </tr>
+</table>
+
+</body>
+</html>
+

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_taglist.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_taglist.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_taglist.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_taglist.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>3895/1204</b>,
-    Downloaded by 38918  </td>
+    Rating <b>3937/1216</b>,
+    Downloaded by 39656  </td>
 </tr>
 </table>
 <p>
@@ -204,6 +204,22 @@
     <th valign="top">release notes</th>
 </tr>
 <tr>
+        <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=6151">taglist_41.zip</a></td>
+    <td class="rowodd" valign="top" nowrap><b>4.1</b></td>
+    <td class="rowodd" valign="top" nowrap><i>2006-09-07</i></td>
+    <td class="rowodd" valign="top" nowrap>6.0</td>
+    <td class="rowodd" valign="top"><i><a href="/account/profile.php?user_id=244">Yegappan Lakshmanan</a></i></td>
+    <td class="rowodd" valign="top" width="2000">When the Tlist_File_Fold_Auto_Close variable is set to 1, jumping to the taglist window closes the folds for all the files. Fixed this problem to not close the fold for the currently active file.</td>
+</tr>
+<tr>
+        <td class="roweven" valign="top" nowrap><a href="download_script.php?src_id=6147">taglist_40.zip</a></td>
+    <td class="roweven" valign="top" nowrap><b>4.0</b></td>
+    <td class="roweven" valign="top" nowrap><i>2006-09-06</i></td>
+    <td class="roweven" valign="top" nowrap>6.0</td>
+    <td class="roweven" valign="top"><i><a href="/account/profile.php?user_id=244">Yegappan Lakshmanan</a></i></td>
+    <td class="roweven" valign="top" width="2000">Fixes:
<br>Fix the problems in using the taglist plugin with Vim7 tabs. When
<br>Tlist_File_Fold_Auto_Close is set, close the tag fold when leaving a
<br>buffer.&nbsp;&nbsp;When jumping to a selected tag, if the file is opened in more
<br>than one window, use the previous window from which the user entered
<br>the taglist window.
<br>New features:
<br>Support for displaying the tag prototype as a tooltip.&nbsp;&nbsp;Support for
<br>specifying additional commands after the taglist commands using the
<br>bar separator.
<br></td>
+</tr>
+<tr>
         <td class="rowodd" valign="top" nowrap><a href="download_script.php?src_id=5548">taglist_40b4.zip</a></td>
     <td class="rowodd" valign="top" nowrap><b>4.0b4</b></td>
     <td class="rowodd" valign="top" nowrap><i>2006-04-12</i></td>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_themes.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_themes.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_themes.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_themes.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>887/322</b>,
-    Downloaded by 14996  </td>
+    Rating <b>900/326</b>,
+    Downloaded by 15302  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_utl.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_utl.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_utl.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_utl.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>876/264</b>,
-    Downloaded by 2083  </td>
+    Downloaded by 2117  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_vcscommand.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_vcscommand.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_vcscommand.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_vcscommand.vim.html Sat Sep  9 13:20:39 2006
@@ -153,8 +153,8 @@
 <tr>
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
-    Rating <b>920/306</b>,
-    Downloaded by 12566  </td>
+    Rating <b>956/315</b>,
+    Downloaded by 12767  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_whatdomain.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_whatdomain.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_whatdomain.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_whatdomain.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>0/4</b>,
-    Downloaded by 326  </td>
+    Downloaded by 328  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/plugin_winmanager.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/plugin_winmanager.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/plugin_winmanager.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/plugin_winmanager.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>627/210</b>,
-    Downloaded by 13150  </td>
+    Downloaded by 13250  </td>
 </tr>
 </table>
 <p>

Modified: trunk/packages/vim-scripts/vim-scripts-7/html/syntax_CVSAnnotate.vim.html
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/html/syntax_CVSAnnotate.vim.html?rev=760&op=diff
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/html/syntax_CVSAnnotate.vim.html (original)
+++ trunk/packages/vim-scripts/vim-scripts-7/html/syntax_CVSAnnotate.vim.html Sat Sep  9 13:20:39 2006
@@ -154,7 +154,7 @@
   <td class="lightbg"><b>&nbsp;script karma&nbsp;</b></td>
   <td>
     Rating <b>0/2</b>,
-    Downloaded by 607  </td>
+    Downloaded by 612  </td>
 </tr>
 </table>
 <p>

Added: trunk/packages/vim-scripts/vim-scripts-7/plugin/project.vim
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim-scripts/vim-scripts-7/plugin/project.vim?rev=760&op=file
==============================================================================
--- trunk/packages/vim-scripts/vim-scripts-7/plugin/project.vim (added)
+++ trunk/packages/vim-scripts/vim-scripts-7/plugin/project.vim Sat Sep  9 13:20:39 2006
@@ -1,0 +1,1272 @@
+"=============================================================================
+" File:        project.vim
+" Author:      Aric Blumer (Aric.Blumer at aricvim at charter.net)
+" Last Change: Mon 24 Apr 2006 01:05:03 PM EDT
+" Version:     1.4
+"=============================================================================
+" See documentation in accompanying help file
+" You may use this code in whatever way you see fit.
+
+if exists('loaded_project') || &cp
+  finish
+endif
+let loaded_project=1
+
+function! s:Project(filename) " <<<
+    " Initialization <<<
+    if exists("g:proj_running")
+        if strlen(a:filename) != 0
+            call confirm('Project already loaded; ignoring filename "'.a:filename."\".\n".'See ":help project-invoking" for information about changing project files.', "&OK", 1)
+        endif
+        let filename=bufname(g:proj_running)
+    else
+        if strlen(a:filename) == 0
+            let filename ='~/.vimprojects'      " Default project filename
+        else
+            let filename = a:filename
+        endif
+    endif
+    if !exists('g:proj_window_width')
+        let g:proj_window_width=24              " Default project window width
+    endif
+    if !exists('g:proj_window_increment')
+        let g:proj_window_increment=100         " Project Window width increment
+    endif
+    if !exists('g:proj_flags')
+        if has("win32") || has("mac")
+            let g:proj_flags='imst'             " Project default flags for windows/mac
+        else
+            let g:proj_flags='imstb'            " Project default flags for everything else
+        endif
+    endif
+    if !exists("g:proj_running") || (bufwinnr(g:proj_running) == -1) " Open the Project Window
+        exec 'silent vertical new '.filename
+        silent! wincmd H
+        exec 'vertical resize '.g:proj_window_width
+        setlocal nomodeline
+    else
+        silent! 99wincmd h
+        if bufwinnr(g:proj_running) == -1
+            vertical split
+            let v:errmsg="nothing"
+            silent! bnext
+            if 'nothing' != v:errmsg
+                enew
+            endif
+        endif
+        return
+    endif
+    " Process the flags
+    let b:proj_cd_cmd='cd'
+    if match(g:proj_flags, '\Cl') != -1
+        let b:proj_cd_cmd = 'lcd'
+    endif
+
+    let g:proj_last_buffer = -1
+    ">>>
+    " ProjFoldText() <<<
+    "   The foldtext function for displaying just the description.
+    function! ProjFoldText()
+        let line=substitute(getline(v:foldstart),'^[ \t#]*\([^=]*\).*', '\1', '')
+        let line=strpart('                                     ', 0, (v:foldlevel - 1)).substitute(line,'\s*{\+\s*', '', '')
+        return line
+    endfunction ">>>
+    " s:DoSetup() <<<
+    "   Ensure everything is set up
+    function! s:DoSetup()
+        setlocal foldenable foldmethod=marker foldmarker={,} commentstring=%s foldcolumn=0 nonumber noswapfile shiftwidth=1
+        setlocal foldtext=ProjFoldText() nobuflisted nowrap
+        setlocal winwidth=1
+    endfunction ">>>
+    call s:DoSetup()
+    " Syntax Stuff <<<
+    if match(g:proj_flags, '\Cs')!=-1 && has('syntax') && exists('g:syntax_on') && !has('syntax_items')
+        syntax match projectDescriptionDir '^\s*.\{-}=\s*\(\\ \|\f\|:\|"\)\+' contains=projectDescription,projectWhiteError
+        syntax match projectDescription    '\<.\{-}='he=e-1,me=e-1         contained nextgroup=projectDirectory contains=projectWhiteError
+        syntax match projectDescription    '{\|}'
+        syntax match projectDirectory      '=\(\\ \|\f\|:\)\+'             contained
+        syntax match projectDirectory      '=".\{-}"'                      contained
+        syntax match projectScriptinout    '\<in\s*=\s*\(\\ \|\f\|:\|"\)\+' contains=projectDescription,projectWhiteError
+        syntax match projectScriptinout    '\<out\s*=\s*\(\\ \|\f\|:\|"\)\+' contains=projectDescription,projectWhiteError
+        syntax match projectComment        '#.*'
+        syntax match projectCD             '\<CD\s*=\s*\(\\ \|\f\|:\|"\)\+' contains=projectDescription,projectWhiteError
+        syntax match projectFilterEntry    '\<filter\s*=.*"'               contains=projectWhiteError,projectFilterError,projectFilter,projectFilterRegexp
+        syntax match projectFilter         '\<filter='he=e-1,me=e-1        contained nextgroup=projectFilterRegexp,projectFilterError,projectWhiteError
+        syntax match projectFlagsEntry     '\<flags\s*=\( \|[^ ]*\)'       contains=projectFlags,projectWhiteError
+        syntax match projectFlags          '\<flags'                       contained nextgroup=projectFlagsValues,projectWhiteError
+        syntax match projectFlagsValues    '=[^ ]* 'hs=s+1,me=e-1          contained contains=projectFlagsError
+        syntax match projectFlagsError     '[^rtTsSwl= ]\+'                contained
+        syntax match projectWhiteError     '=\s\+'hs=s+1                   contained
+        syntax match projectWhiteError     '\s\+='he=e-1                   contained
+        syntax match projectFilterError    '=[^"]'hs=s+1                   contained
+        syntax match projectFilterRegexp   '=".*"'hs=s+1                   contained
+        syntax match projectFoldText       '^[^=]\+{'
+
+        highlight def link projectDescription  Identifier
+        highlight def link projectScriptinout  Identifier
+        highlight def link projectFoldText     Identifier
+        highlight def link projectComment      Comment
+        highlight def link projectFilter       Identifier
+        highlight def link projectFlags        Identifier
+        highlight def link projectDirectory    Constant
+        highlight def link projectFilterRegexp String
+        highlight def link projectFlagsValues  String
+        highlight def link projectWhiteError   Error
+        highlight def link projectFlagsError   Error
+        highlight def link projectFilterError  Error
+    endif ">>>
+    " s:SortR(start, end) <<<
+    " Sort lines.  SortR() is called recursively.
+    "  from ":help eval-examples" by Robert Webb, slightly modified
+    function! s:SortR(start, end)
+        if (a:start >= a:end)
+            return
+        endif
+        let partition = a:start - 1
+        let middle = partition
+        let partStr = getline((a:start + a:end) / 2)
+        let i = a:start
+        while (i <= a:end)
+            let str = getline(i)
+            if str < partStr
+                let result = -1
+            elseif str > partStr
+                let result = 1
+            else
+                let result = 0
+            endif
+            if (result <= 0)
+                let partition = partition + 1
+                if (result == 0)
+                    let middle = partition
+                endif
+                if (i != partition)
+                    let str2 = getline(partition)
+                    call setline(i, str2)
+                    call setline(partition, str)
+                endif
+            endif
+            let i = i + 1
+        endwhile
+        if (middle != partition)
+            let str = getline(middle)
+            let str2 = getline(partition)
+            call setline(middle, str2)
+            call setline(partition, str)
+        endif
+        call s:SortR(a:start, partition - 1)
+        call s:SortR(partition + 1, a:end)
+    endfunc ">>>
+    " s:IsAbsolutePath(path) <<<
+    "   Returns true if filename has an absolute path.
+    function! s:IsAbsolutePath(path)
+        if a:path =~ '^ftp:' || a:path =~ '^rcp:' || a:path =~ '^scp:' || a:path =~ '^http:'
+            return 2
+        endif
+        if a:path =~ '\$'
+            let path=expand(a:path) " Expand any environment variables that might be in the path
+        else
+            let path=a:path
+        endif
+        if path[0] == '/' || path[0] == '~' || path[0] == '\\' || path[1] == ':'
+            return 1
+        endif
+        return 0
+    endfunction " >>>
+    " s:DoSetupAndSplit() <<<
+    "   Call DoSetup to ensure the settings are correct.  Split to the next
+    "   file.
+    function! s:DoSetupAndSplit()
+        call s:DoSetup()                " Ensure that all the settings are right
+        let n = winnr()                 " Determine if there is a CTRL_W-p window
+        silent! wincmd p
+        if n == winnr()
+            silent! wincmd l
+        endif
+        if n == winnr()
+            " If n == winnr(), then there is no CTRL_W-p window
+            " So we have to create a new one
+            if bufnr('%') == g:proj_running
+                exec 'silent vertical new'
+            else
+                exec 'silent vertical split | silent! bnext'
+            endif
+            wincmd p " Go back to the Project Window and ensure it is the right width
+            silent! wincmd H
+            exec 'vertical resize '.g:proj_window_width
+            wincmd p
+        endif
+    endfunction ">>>
+    " s:DoSetupAndSplit_au() <<<
+    "   Same as above but ensure that the Project window is the current
+    "   window.  Only called from an autocommand
+    function! s:DoSetupAndSplit_au()
+        if winbufnr(0) != g:proj_running
+            return
+        endif
+        call s:DoSetup()                " Ensure that all the settings are right
+        if winbufnr(2) == -1            " We're the only window right now.
+            exec 'silent vertical split | bnext'
+            if bufnr('%') == g:proj_running
+                enew
+            endif
+            if bufnr('%') == g:proj_last_buffer | bnext | bprev | bnext | endif
+            wincmd p " Go back to the Project Window and ensure it is the right width
+        endif
+        if(winnr() != 1)
+            silent! wincmd H
+            exec 'vertical resize '.g:proj_window_width
+        endif
+    endfunction
+    function! s:RecordPrevBuffer_au()
+        let g:proj_last_buffer = bufnr('%')
+    endfunction ">>>
+    " s:RecursivelyConstructDirectives(lineno) <<<
+    "   Construct the inherited directives
+    function! s:RecursivelyConstructDirectives(lineno)
+        let lineno=s:FindFoldTop(a:lineno)
+        let foldlineno = lineno
+        let foldlev=foldlevel(lineno)
+        let parent_infoline = ''
+        if foldlev > 1
+            while foldlevel(lineno) >= foldlev " Go to parent fold
+                if lineno < 1
+                    echoerr 'Some kind of fold error.  Check your syntax.'
+                    return
+                endif
+                let lineno = lineno - 1
+            endwhile
+            let parent_infoline = s:RecursivelyConstructDirectives(lineno)
+        endif
+        let parent_home = s:GetHome(parent_infoline, '')
+        let parent_c_d = s:GetCd(parent_infoline, parent_home)
+        let parent_scriptin = s:GetScriptin(parent_infoline, parent_home)
+        let parent_scriptout = s:GetScriptout(parent_infoline, parent_home)
+        let parent_filter = s:GetFilter(parent_infoline, '*')
+        let infoline = getline(foldlineno)
+        " Extract the home directory of this fold
+        let home=s:GetHome(infoline, parent_home)
+        if home != ''
+            if (foldlevel(foldlineno) == 1) && !s:IsAbsolutePath(home)
+                call confirm('Outermost Project Fold must have absolute path!  Or perhaps the path does not exist.', "&OK", 1)
+                let home = '~'  " Some 'reasonable' value
+            endif
+        endif
+        " Extract any CD information
+        let c_d = s:GetCd(infoline, home)
+        if c_d != ''
+            if (foldlevel(foldlineno) == 1) && !s:IsAbsolutePath(c_d)
+                call confirm('Outermost Project Fold must have absolute CD path!  Or perhaps the path does not exist.', "&OK", 1)
+                let c_d = '.'  " Some 'reasonable' value
+            endif
+        else
+            let c_d=parent_c_d
+        endif
+        " Extract scriptin
+        let scriptin = s:GetScriptin(infoline, home)
+        if scriptin == ''
+            let scriptin = parent_scriptin
+        endif
+        " Extract scriptout
+        let scriptout = s:GetScriptout(infoline, home)
+        if scriptout == ''
+            let scriptout = parent_scriptout
+        endif
+        " Extract filter
+        let filter = s:GetFilter(infoline, parent_filter)
+        if filter == '' | let filter = parent_filter | endif
+        return s:ConstructInfo(home, c_d, scriptin, scriptout, '', filter)
+    endfunction ">>>
+    " s:ConstructInfo(home, c_d, scriptin, scriptout, flags, filter) <<<
+    function! s:ConstructInfo(home, c_d, scriptin, scriptout, flags, filter)
+        let retval='Directory='.a:home
+        if a:c_d[0] != ''
+            let retval=retval.' CD='.a:c_d
+        endif
+        if a:scriptin[0] != ''
+            let retval=retval.' in='.a:scriptin
+        endif
+        if a:scriptout[0] != ''
+            let retval=retval.' out='.a:scriptout
+        endif
+        if a:filter[0] != ''
+            let retval=retval.' filter="'.a:filter.'"'
+        endif
+        return retval
+    endfunction ">>>
+    " s:OpenEntry(line, precmd, editcmd) <<<
+    "   Get the filename under the cursor, and open a window with it.
+    function! s:OpenEntry(line, precmd, editcmd, dir)
+        silent exec a:precmd
+        if (a:editcmd[0] != '')
+            if a:dir
+                let fname='.'
+            else
+                if (foldlevel(a:line) == 0) && (a:editcmd[0] != '')
+                    return 0                    " If we're outside a fold, do nothing
+                endif
+                let fname=substitute(getline(a:line), '\s*#.*', '', '') " Get rid of comments and whitespace before comment
+                let fname=substitute(fname, '^\s*\(.*\)', '\1', '') " Get rid of leading whitespace
+                if strlen(fname) == 0
+                    return 0                    " The line is blank. Do nothing.
+                endif
+            endif
+        else
+            let fname='.'
+        endif
+        let infoline = s:RecursivelyConstructDirectives(a:line)
+        let retval=s:OpenEntry2(a:line, infoline, fname, a:editcmd)
+        call s:DisplayInfo()
+        return retval
+    endfunction
+    ">>>
+    " s:OpenEntry2(line, infoline, precmd, editcmd) <<<
+    "   Get the filename under the cursor, and open a window with it.
+    function! s:OpenEntry2(line, infoline, fname, editcmd)
+        let fname=escape(a:fname, ' ')
+        let home=s:GetHome(a:infoline, '').'/'
+        if home=='/'
+            echoerr 'Project structure error. Check your syntax.'
+            return
+        endif
+        "Save the cd command
+        let cd_cmd = b:proj_cd_cmd
+        if a:editcmd[0] != '' " If editcmd is '', then just set up the environment in the Project Window
+            call s:DoSetupAndSplit()
+            " If it is an absolute path, don't prepend home
+            if !s:IsAbsolutePath(fname)
+                let fname=home.fname
+            endif
+            if s:IsAbsolutePath(fname) == 2
+                exec a:editcmd.' '.fname
+            else
+                silent exec 'silent '.a:editcmd.' '.fname
+            endif
+        else " only happens in the Project File
+            exec 'au! BufEnter,BufLeave '.expand('%:p')
+        endif
+        " Extract any CD information
+        let c_d = s:GetCd(a:infoline, home)
+        if c_d != '' && (s:IsAbsolutePath(home) != 2)
+            if match(g:proj_flags, '\CL') != -1
+                call s:SetupAutoCommand(c_d)
+            endif
+            if !isdirectory(glob(c_d))
+                call confirm("From this fold's entry,\nCD=".'"'.c_d.'" is not a valid directory.', "&OK", 1)
+            else
+                silent exec cd_cmd.' '.c_d
+            endif
+        endif
+        " Extract any scriptin information
+        let scriptin = s:GetScriptin(a:infoline, home)
+        if scriptin != ''
+            if !filereadable(glob(scriptin))
+                call confirm('"'.scriptin.'" not found. Ignoring.', "&OK", 1)
+            else
+                call s:SetupScriptAutoCommand('BufEnter', scriptin)
+                exec 'source '.scriptin
+            endif
+        endif
+        let scriptout = s:GetScriptout(a:infoline, home)
+        if scriptout != ''
+            if !filereadable(glob(scriptout))
+                call confirm('"'.scriptout.'" not found. Ignoring.', "&OK", 1)
+            else
+                call s:SetupScriptAutoCommand('BufLeave', scriptout)
+            endif
+        endif
+        return 1
+    endfunction
+    ">>>
+    " s:DoFoldOrOpenEntry(cmd0, cmd1) <<<
+    "   Used for double clicking. If the mouse is on a fold, open/close it. If
+    "   not, try to open the file.
+    function! s:DoFoldOrOpenEntry(cmd0, cmd1)
+        if getline('.')=~'{\|}' || foldclosed('.') != -1
+            normal! za
+        else
+            call s:DoEnsurePlacementSize_au()
+            call s:OpenEntry(line('.'), a:cmd0, a:cmd1, 0)
+            if (match(g:proj_flags, '\Cc') != -1)
+                let g:proj_mywinnumber = winbufnr(0)
+                wincmd h
+                if(g:proj_running == winbufnr(0))
+                    hide
+                endif
+                if(g:proj_mywinnumber != winbufnr(0))
+                    wincmd p
+                endif
+            endif
+        endif
+    endfunction ">>>
+    " s:VimDirListing(filter, padding, separator, filevariable, filecount, dirvariable, dircount) <<<
+    function! s:VimDirListing(filter, padding, separator, filevariable, filecount, dirvariable, dircount)
+        let end = 0
+        let files=''
+        let filter = a:filter
+        " Chop up the filter
+        "   Apparently glob() cannot take something like this: glob('*.c *.h')
+        let while_var = 1
+        while while_var
+            let end = stridx(filter, ' ')
+            if end == -1
+                let end = strlen(filter)
+                let while_var = 0
+            endif
+            let single=glob(strpart(filter, 0, end))
+            if strlen(single) != 0
+                let files = files.single."\010"
+            endif
+            let filter = strpart(filter, end + 1)
+        endwhile
+        " files now contains a list of everything in the directory. We need to
+        " weed out the directories.
+        let fnames=files
+        let {a:filevariable}=''
+        let {a:dirvariable}=''
+        let {a:filecount}=0
+        let {a:dircount}=0
+        while strlen(fnames) > 0
+            let fname = substitute(fnames,  '\(\(\f\|[ :]\)*\).*', '\1', '')
+            let fnames = substitute(fnames, '\(\f\|[ :]\)*.\(.*\)', '\2', '')
+            if isdirectory(glob(fname))
+                let {a:dirvariable}={a:dirvariable}.a:padding.fname.a:separator
+                let {a:dircount}={a:dircount} + 1
+            else
+                let {a:filevariable}={a:filevariable}.a:padding.fname.a:separator
+                let {a:filecount}={a:filecount} + 1
+            endif
+        endwhile
+    endfunction ">>>
+    " s:GenerateEntry(recursive, name, absolute_dir, dir, c_d, filter_directive, filter, foldlev, sort) <<<
+    function! s:GenerateEntry(recursive, line, name, absolute_dir, dir, c_d, filter_directive, filter, foldlev, sort)
+        let line=a:line
+        if a:dir =~ '\\ '
+            let dir='"'.substitute(a:dir, '\\ ', ' ', 'g').'"'
+        else
+            let dir=a:dir
+        endif
+        let spaces=strpart('                                                             ', 0, a:foldlev)
+        let c_d=(strlen(a:c_d) > 0) ? 'CD='.a:c_d.' ' : ''
+        let c_d=(strlen(a:filter_directive) > 0) ? c_d.'filter="'.a:filter_directive.'" ': c_d
+        call append(line, spaces.'}')
+        call append(line, spaces.a:name.'='.dir.' '.c_d.'{')
+        if a:recursive
+            exec 'cd '.a:absolute_dir
+            call s:VimDirListing("*", '', "\010", 'b:files', 'b:filecount', 'b:dirs', 'b:dircount')
+            cd -
+            let dirs=b:dirs
+            let dcount=b:dircount
+            unlet b:files b:filecount b:dirs b:dircount
+            while dcount > 0
+                let dname = substitute(dirs,  '\(\( \|\f\|:\)*\).*', '\1', '')
+                let edname = escape(dname, ' ')
+                let dirs = substitute(dirs, '\( \|\f\|:\)*.\(.*\)', '\2', '')
+                let line=s:GenerateEntry(1, line + 1, dname, a:absolute_dir.'/'.edname, edname, '', '', a:filter, a:foldlev+1, a:sort)
+                let dcount=dcount-1
+            endwhile
+        endif
+        return line+1
+    endfunction " >>>
+    " s:DoEntryFromDir(line, name, absolute_dir, dir, c_d, filter_directive, filter, foldlev, sort) <<<
+    "   Generate the fold from the directory hierarchy (if recursive), then
+    "   fill it in with RefreshEntriesFromDir()
+    function! s:DoEntryFromDir(recursive, line, name, absolute_dir, dir, c_d, filter_directive, filter, foldlev, sort)
+        call s:GenerateEntry(a:recursive, a:line, a:name, escape(a:absolute_dir, ' '), escape(a:dir, ' '), escape(a:c_d, ' '), a:filter_directive, a:filter, a:foldlev, a:sort)
+        normal! j
+        call s:RefreshEntriesFromDir(1)
+    endfunction ">>>
+    " s:CreateEntriesFromDir(recursive) <<<
+    "   Prompts user for information and then calls s:DoEntryFromDir()
+    function! s:CreateEntriesFromDir(recursive)
+        " Save a mark for the current cursor position
+        normal! mk
+        let line=line('.')
+        let name = inputdialog('Enter the Name of the Entry: ')
+        if strlen(name) == 0
+            return
+        endif
+        let foldlev=foldlevel(line)
+        if (foldclosed(line) != -1) || (getline(line) =~ '}')
+            let foldlev=foldlev - 1
+        endif
+        let absolute = (foldlev <= 0)?'Absolute ': ''
+        let home=''
+        let filter='*'
+        if (match(g:proj_flags, '\Cb') != -1) && has('browse')
+            " Note that browse() is inconsistent: On Win32 you can't select a
+            " directory, and it gives you a relative path.
+            let dir = browse(0, 'Enter the '.absolute.'Directory to Load: ', '', '')
+            let dir = fnamemodify(dir, ':p')
+        else
+            let dir = inputdialog('Enter the '.absolute.'Directory to Load: ', '')
+        endif
+        if (dir[strlen(dir)-1] == '/') || (dir[strlen(dir)-1] == '\\')
+            let dir=strpart(dir, 0, strlen(dir)-1) " Remove trailing / or \
+        endif
+        let dir = substitute(dir, '^\~', $HOME, 'g')
+        if (foldlev > 0)
+            let parent_directive=s:RecursivelyConstructDirectives(line)
+            let filter = s:GetFilter(parent_directive, '*')
+            let home=s:GetHome(parent_directive, '')
+            if home[strlen(home)-1] != '/' && home[strlen(home)-1] != '\\'
+                let home=home.'/'
+            endif
+            unlet parent_directive
+            if s:IsAbsolutePath(dir)
+                " It is not a relative path  Try to make it relative
+                let hend=matchend(dir, '\C'.glob(home))
+                if hend != -1
+                    let dir=strpart(dir, hend)          " The directory can be a relative path
+                else
+                    let home=""
+                endif
+            endif
+        endif
+        if strlen(home.dir) == 0
+            return
+        endif
+        if !isdirectory(home.dir)
+            if has("unix")
+                silent exec '!mkdir '.home.dir.' > /dev/null'
+            else
+                call confirm('"'.home.dir.'" is not a valid directory.', "&OK", 1)
+                return
+            endif
+        endif
+        let c_d = inputdialog('Enter the CD parameter: ', '')
+        let filter_directive = inputdialog('Enter the File Filter: ', '')
+        if strlen(filter_directive) != 0
+            let filter = filter_directive
+        endif
+        " If I'm on a closed fold, go to the bottom of it
+        if foldclosedend(line) != -1
+            let line = foldclosedend(line)
+        endif
+        let foldlev = foldlevel(line)
+        " If we're at the end of a fold . . .
+        if getline(line) =~ '}'
+            let foldlev = foldlev - 1           " . . . decrease the indentation by 1.
+        endif
+        " Do the work
+        call s:DoEntryFromDir(a:recursive, line, name, home.dir, dir, c_d, filter_directive, filter, foldlev, 0)
+        " Restore the cursor position
+        normal! `k
+    endfunction ">>>
+    " s:RefreshEntriesFromDir(recursive) <<<
+    "   Finds metadata at the top of the fold, and then replaces all files
+    "   with the contents of the directory.  Works recursively if recursive is 1.
+    function! s:RefreshEntriesFromDir(recursive)
+        if foldlevel('.') == 0
+            echo 'Nothing to refresh.'
+            return
+        endif
+        " Open the fold.
+        if getline('.') =~ '}'
+            normal! zo[z
+        else
+            normal! zo]z[z
+        endif
+        let just_a_fold=0
+        let infoline = s:RecursivelyConstructDirectives(line('.'))
+        let immediate_infoline = getline('.')
+        if strlen(substitute(immediate_infoline, '[^=]*=\(\(\f\|:\|\\ \)*\).*', '\1', '')) == strlen(immediate_infoline)
+            let just_a_fold = 1
+        endif
+        " Extract the home directory of the fold
+        let home = s:GetHome(infoline, '')
+        if home == ''
+            " No Match.  This means that this is just a label with no
+            " directory entry.
+            if a:recursive == 0
+                return          " We're done--nothing to do
+            endif
+            " Mark that it is just a fold, so later we don't delete filenames
+            " that aren't there.
+            let just_a_fold = 1
+        endif
+        if just_a_fold == 0
+            " Extract the filter between quotes (we don't care what CD is).
+            let filter = s:GetFilter(infoline, '*')
+            " Extract the description (name) of the fold
+            let name = substitute(infoline, '^[#\t ]*\([^=]*\)=.*', '\1', '')
+            if strlen(name) == strlen(infoline)
+                return                  " If there's no name, we're done.
+            endif
+            if (home == '') || (name == '')
+                return
+            endif
+            " Extract the flags
+            let flags = s:GetFlags(immediate_infoline)
+            let sort = (match(g:proj_flags, '\CS') != -1)
+            if flags != ''
+                if match(flags, '\Cr') != -1
+                    " If the flags do not contain r (refresh), then treat it just
+                    " like a fold
+                    let just_a_fold = 1
+                endif
+                if match(flags, '\CS') != -1
+                    let sort = 1
+                endif
+                if match(flags, '\Cs') != -1
+                    let sort = 0
+                endif
+            else
+                let flags=''
+            endif
+        endif
+        " Move to the first non-fold boundary line
+        normal! j
+        " Delete filenames until we reach the end of the fold
+        while getline('.') !~ '}'
+            if line('.') == line('$')
+                break
+            endif
+            if getline('.') !~ '{'
+                " We haven't reached a sub-fold, so delete what's there.
+                if (just_a_fold == 0) && (getline('.') !~ '^\s*#') && (getline('.') !~ '#.*pragma keep')
+                    d _
+                else
+                    " Skip lines only in a fold and comment lines
+                    normal! j
+                endif
+            else
+                " We have reached a sub-fold. If we're doing recursive, then
+                " call this function again. If not, find the end of the fold.
+                if a:recursive == 1
+                    call s:RefreshEntriesFromDir(1)
+                    normal! ]zj
+                else
+                    if foldclosed('.') == -1
+                        normal! zc
+                    endif
+                    normal! j
+                endif
+            endif
+        endwhile
+        if just_a_fold == 0
+            " We're not just in a fold, and we have deleted all the filenames.
+            " Now it is time to regenerate what is in the directory.
+            if !isdirectory(glob(home))
+                call confirm('"'.home.'" is not a valid directory.', "&OK", 1)
+            else
+                let foldlev=foldlevel('.')
+                " T flag.  Thanks Tomas Z.
+                if (match(flags, '\Ct') != -1) || ((match(g:proj_flags, '\CT') == -1) && (match(flags, '\CT') == -1))
+                    " Go to the top of the fold (force other folds to the
+                    " bottom)
+                    normal! [z
+                    normal! j
+                    " Skip any comments
+                    while getline('.') =~ '^\s*#'
+                        normal! j
+                    endwhile
+                endif
+                normal! k
+                let cwd=getcwd()
+                let spaces=strpart('                                               ', 0, foldlev)
+                exec 'cd '.home
+                if match(g:proj_flags, '\Ci') != -1
+                    echon home."\r"
+                endif
+                call s:VimDirListing(filter, spaces, "\n", 'b:files', 'b:filecount', 'b:dirs', 'b:dircount')
+                if b:filecount > 0
+                    silent! put =b:files
+                    if sort
+                        call s:SortR(line('.'), line('.') + b:filecount - 1)
+                    endif
+                else
+                    normal! j
+                endif
+                unlet b:files b:filecount b:dirs b:dircount
+                exec 'cd '.cwd
+            endif
+        endif
+        " Go to the top of the refreshed fold.
+        normal! [z
+    endfunction ">>>
+    " s:MoveUp() <<<
+    "   Moves the entity under the cursor up a line.
+    function! s:MoveUp()
+        let lineno=line('.')
+        if lineno == 1
+            return
+        endif
+        let fc=foldclosed('.')
+        let a_reg=@a
+        if lineno == line('$')
+            normal! "add"aP
+        else
+            normal! "addk"aP
+        endif
+        let @a=a_reg
+        if fc != -1
+            normal! zc
+        endif
+    endfunction ">>>
+    " s:MoveDown() <<<
+    "   Moves the entity under the cursor down a line.
+    function! s:MoveDown()
+        let fc=foldclosed('.')
+        let a_reg=@a
+        normal! "add"ap
+        let @a=a_reg
+        if (fc != -1) && (foldclosed('.') == -1)
+            normal! zc
+        endif
+    endfunction " >>>
+    " s:DisplayInfo() <<<
+    "   Displays filename and current working directory when i (info) is in
+    "   the flags.
+    function! s:DisplayInfo()
+        if match(g:proj_flags, '\Ci') != -1
+            echo 'file: '.expand('%').', cwd: '.getcwd().', lines: '.line('$')
+        endif
+    endfunction ">>>
+    " s:SetupAutoCommand(cwd) <<<
+    "   Sets up an autocommand to ensure that the cwd is set to the one
+    "   desired for the fold regardless.  :lcd only does this on a per-window
+    "   basis, not a per-buffer basis.
+    function! s:SetupAutoCommand(cwd)
+        if !exists("b:proj_has_autocommand")
+            let b:proj_cwd_save = escape(getcwd(), ' ')
+            let b:proj_has_autocommand = 1
+            let bufname=escape(substitute(expand('%:p', 0), '\\', '/', 'g'), ' ')
+            exec 'au BufEnter '.bufname." let b:proj_cwd_save=escape(getcwd(), ' ') | cd ".a:cwd
+            exec 'au BufLeave '.bufname.' exec "cd ".b:proj_cwd_save'
+            exec 'au BufWipeout '.bufname.' au! * '.bufname
+        endif
+    endfunction ">>>
+    " s:SetupScriptAutoCommand(bufcmd, script) <<<
+    "   Sets up an autocommand to run the scriptin script.
+    function! s:SetupScriptAutoCommand(bufcmd, script)
+        if !exists("b:proj_has_".a:bufcmd)
+            let b:proj_has_{a:bufcmd} = 1
+            exec 'au '.a:bufcmd.' '.escape(substitute(expand('%:p', 0), '\\', '/', 'g'), ' ').' source '.a:script
+        endif
+    endfunction " >>>
+    " s:DoEnsurePlacementSize_au() <<<
+    "   Ensure that the Project window is on the left of the window and has
+    "   the correct size. Only called from an autocommand
+    function! s:DoEnsurePlacementSize_au()
+        if (winbufnr(0) != g:proj_running) || (winnr() != 1)
+            if exists("g:proj_doinghelp")
+                if g:proj_doinghelp > 0
+                    let g:proj_doinghelp = g:proj_doinghelp - 1
+                    return
+                endif
+                unlet g:proj_doinghelp
+                return
+            endif
+            silent! wincmd H
+        endif
+        exec 'vertical resize ' . g:proj_window_width
+    endfunction ">>>
+    " s:Spawn(number) <<<
+    "   Spawn an external command on the file
+    function! s:Spawn(number)
+        echo | if exists("g:proj_run".a:number)
+            let fname=getline('.')
+            if fname!~'{\|}'
+                let fname=substitute(fname, '\s*#.*', '', '')
+                let fname=substitute(fname, '^\s*\(.*\)\s*', '\1', '')
+                if fname == '' | return | endif
+                let parent_infoline = s:RecursivelyConstructDirectives(line('.'))
+                let home=expand(s:GetHome(parent_infoline, ''))
+                let c_d=expand(s:GetCd(parent_infoline, ''))
+                let command=substitute(g:proj_run{a:number}, '%%', "\010", 'g')
+                let command=substitute(command, '%f', escape(home.'/'.fname, '\'), 'g')
+                let command=substitute(command, '%F', substitute(escape(home.'/'.fname, '\'), ' ', '\\\\ ', 'g'), 'g')
+                let command=substitute(command, '%s', escape(home.'/'.fname, '\'), 'g')
+                let command=substitute(command, '%n', escape(fname, '\'), 'g')
+                let command=substitute(command, '%N', substitute(fname, ' ', '\\\\ ', 'g'), 'g')
+                let command=substitute(command, '%h', escape(home, '\'), 'g')
+                let command=substitute(command, '%H', substitute(escape(home, '\'), ' ', '\\\\ ', 'g'), 'g')
+                if c_d != ''
+                    if c_d == home
+                        let percent_r='.'
+                    else
+                        let percent_r=substitute(home, escape(c_d.'/', '\'), '', 'g')
+                    endif
+                else
+                    let percent_r=home
+                endif
+                let command=substitute(command, '%r', percent_r, 'g')
+                let command=substitute(command, '%R', substitute(percent_r, ' ', '\\\\ ', 'g'), 'g')
+                let command=substitute(command, '%d', escape(c_d, '\'), 'g')
+                let command=substitute(command, '%D', substitute(escape(c_d, '\'), ' ', '\\\\ ', 'g'), 'g')
+                let command=substitute(command, "\010", '%', 'g')
+                exec command
+            endif
+        endif
+    endfunction ">>>
+    " s:ListSpawn(varnamesegment) <<<
+    "   List external commands
+    function! s:ListSpawn(varnamesegment)
+        let number = 1
+        while number < 10
+            if exists("g:proj_run".a:varnamesegment.number)
+                echohl LineNr | echo number.':' | echohl None | echon ' '.substitute(escape(g:proj_run{a:varnamesegment}{number}, '\'), "\n", '\\n', 'g')
+            else
+                echohl LineNr | echo number.':' | echohl None
+            endif
+            let number=number + 1
+        endwhile
+    endfunction ">>>
+    " s:FindFoldTop(line) <<<
+    "   Return the line number of the directive line
+    function! s:FindFoldTop(line)
+        let lineno=a:line
+        if getline(lineno) =~ '}'
+            let lineno = lineno - 1
+        endif
+        while getline(lineno) !~ '{' && lineno > 1
+            if getline(lineno) =~ '}'
+                let lineno=s:FindFoldTop(lineno)
+            endif
+            let lineno = lineno - 1
+        endwhile
+        return lineno
+    endfunction ">>>
+    " s:FindFoldBottom(line) <<<
+    "   Return the line number of the directive line
+    function! s:FindFoldBottom(line)
+        let lineno=a:line
+        if getline(lineno) =~ '{'
+            let lineno=lineno + 1
+        endif
+        while getline(lineno) !~ '}' && lineno < line('$')
+            if getline(lineno) =~ '{'
+                let lineno=s:FindFoldBottom(lineno)
+            endif
+            let lineno = lineno + 1
+        endwhile
+        return lineno
+    endfunction ">>>
+    " s:LoadAll(recurse, line) <<<
+    "   Load all files in a project
+    function! s:LoadAll(recurse, line)
+        let b:loadcount=0
+        function! s:SpawnExec(infoline, fname, lineno, data)
+            if s:OpenEntry2(a:lineno, a:infoline, a:fname, 'e')
+                wincmd p
+                let b:loadcount=b:loadcount+1
+                echon b:loadcount."\r"
+                if getchar(0) != 0
+                    let b:stop_everything=1
+                endif
+            endif
+        endfunction
+        call Project_ForEach(a:recurse, line('.'), "*<SID>SpawnExec", 0, '^\(.*l\)\@!')
+        delfunction s:SpawnExec
+        echon b:loadcount." Files Loaded\r"
+        unlet b:loadcount
+        if exists("b:stop_everything") | unlet b:stop_everything | endif
+    endfunction ">>>
+    " s:WipeAll(recurse, line) <<<
+    "   Wipe all files in a project
+    function! s:WipeAll(recurse, line)
+        let b:wipecount=0
+        let b:totalcount=0
+        function! s:SpawnExec(home, c_d, fname, lineno, data)
+            let fname=escape(a:fname, ' ')
+            if s:IsAbsolutePath(fname)
+                let fname=fnamemodify(fname, ':n')  " :n is coming, won't break anything now
+            else
+                let fname=fnamemodify(a:home.'/'.fname, ':n')  " :n is coming, won't break anything now
+            endif
+            let b:totalcount=b:totalcount+1
+            let fname=substitute(fname, '^\~', $HOME, 'g')
+            if bufloaded(substitute(fname, '\\ ', ' ', 'g'))
+                if getbufvar(fname.'\>', '&modified') == 1
+                    exec 'sb '.fname
+                    wincmd L
+                    w
+                    wincmd p
+                endif
+                let b:wipecount=b:wipecount+1
+                exec 'bwipe! '.fname
+            endif
+            if b:totalcount % 5 == 0
+                echon b:wipecount.' of '.b:totalcount."\r"
+                redraw
+            endif
+            if getchar(0) != 0
+                let b:stop_everything=1
+            endif
+        endfunction
+        call Project_ForEach(a:recurse, line('.'), "<SID>SpawnExec", 0, '^\(.*w\)\@!')
+        delfunction s:SpawnExec
+        echon b:wipecount.' of '.b:totalcount." Files Wiped\r"
+        unlet b:wipecount b:totalcount
+        if exists("b:stop_everything") | unlet b:stop_everything | endif
+    endfunction ">>>
+    " s:LoadAllSplit(recurse, line) <<<
+    "   Load all files in a project using split windows.
+    "   Contributed by A. Harrison
+    function! s:LoadAllSplit(recurse, line)
+        let b:loadcount=0
+        function! s:SpawnExec(infoline, fname, lineno, data)
+            let winNr = winnr() "get ProjectWindow number
+            if s:OpenEntry2(a:lineno, a:infoline, a:fname, 'sp')
+                exec winNr."wincmd w"
+                let b:loadcount=b:loadcount+1
+                echon b:loadcount."\r"
+                if getchar(0) != 0
+                    let b:stop_everything=1
+                endif
+            endif
+        endfunction
+        call Project_ForEach(a:recurse, line('.'), "*<SID>SpawnExec", 0, '^\(.*l\)\@!')
+        delfunction s:SpawnExec
+        echon b:loadcount." Files Loaded\r"
+        unlet b:loadcount
+        if exists("b:stop_everything") | unlet b:stop_everything | endif
+    endfunction ">>>
+    " s:GrepAll(recurse, lineno, pattern) <<<
+    "   Grep all files in a project, optionally recursively
+    function! s:GrepAll(recurse, lineno, pattern)
+        cunmap <buffer> help
+        let pattern=(a:pattern[0] == '')?input("GREP options and pattern: "):a:pattern
+        cnoremap <buffer> help let g:proj_doinghelp = 1<CR>:help
+        if pattern[0] == ''
+            return
+        endif
+        let b:escape_spaces=1
+        let fnames=Project_GetAllFnames(a:recurse, a:lineno, ' ')
+        unlet b:escape_spaces
+        cclose " Make sure grep window is closed
+        call s:DoSetupAndSplit()
+        silent! exec 'silent! grep '.pattern.' '.fnames
+        if v:shell_error != 0
+            echo 'GREP error. Perhaps there are too many filenames.'
+        else
+            copen
+        endif
+    endfunction ">>>
+    " GetXXX Functions <<<
+    function! s:GetHome(info, parent_home)
+        let home=substitute(a:info, '^[^=]*=\(\(\\ \|\f\|:\)\+\).*', '\1', '')
+        if strlen(home) == strlen(a:info)
+            let home=substitute(a:info, '.\{-}"\(.\{-}\)".*', '\1', '')
+            if strlen(home) != strlen(a:info) | let home=escape(home, ' ') | endif
+        endif
+        if strlen(home) == strlen(a:info)
+            let home=a:parent_home
+        elseif home=='.'
+            let home=a:parent_home
+        elseif !s:IsAbsolutePath(home)
+            let home=a:parent_home.'/'.home
+        endif
+        return home
+    endfunction
+    function! s:GetFilter(info, parent_filter)
+        let filter = substitute(a:info, '.*\<filter="\([^"]*\).*', '\1', '')
+        if strlen(filter) == strlen(a:info) | let filter = a:parent_filter | endif
+        return filter
+    endfunction
+    function! s:GetCd(info, home)
+        let c_d=substitute(a:info, '.*\<CD=\(\(\\ \|\f\|:\)\+\).*', '\1', '')
+        if strlen(c_d) == strlen(a:info)
+            let c_d=substitute(a:info, '.*\<CD="\(.\{-}\)".*', '\1', '')
+            if strlen(c_d) != strlen(a:info) | let c_d=escape(c_d, ' ') | endif
+        endif
+        if strlen(c_d) == strlen(a:info)
+            let c_d=''
+        elseif c_d == '.'
+            let c_d = a:home
+        elseif !s:IsAbsolutePath(c_d)
+            let c_d = a:home.'/'.c_d
+        endif
+        return c_d
+    endfunction
+    function! s:GetScriptin(info, home)
+        let scriptin = substitute(a:info, '.*\<in=\(\(\\ \|\f\|:\)\+\).*', '\1', '')
+        if strlen(scriptin) == strlen(a:info)
+            let scriptin=substitute(a:info, '.*\<in="\(.\{-}\)".*', '\1', '')
+            if strlen(scriptin) != strlen(a:info) | let scriptin=escape(scriptin, ' ') | endif
+        endif
+        if strlen(scriptin) == strlen(a:info) | let scriptin='' | else
+        if !s:IsAbsolutePath(scriptin) | let scriptin=a:home.'/'.scriptin | endif | endif
+        return scriptin
+    endfunction
+    function! s:GetScriptout(info, home)
+        let scriptout = substitute(a:info, '.*\<out=\(\(\\ \|\f\|:\)\+\).*', '\1', '')
+        if strlen(scriptout) == strlen(a:info)
+            let scriptout=substitute(a:info, '.*\<out="\(.\{-}\)".*', '\1', '')
+            if strlen(scriptout) != strlen(a:info) | let scriptout=escape(scriptout, ' ') | endif
+        endif
+        if strlen(scriptout) == strlen(a:info) | let scriptout='' | else
+        if !s:IsAbsolutePath(scriptout) | let scriptout=a:home.'/'.scriptout | endif | endif
+        return scriptout
+    endfunction
+    function! s:GetFlags(info)
+        let flags=substitute(a:info, '.*\<flags=\([^ {]*\).*', '\1', '')
+        if (strlen(flags) == strlen(a:info))
+            let flags=''
+        endif
+        return flags
+    endfunction ">>>
+    " Project_GetAllFnames(recurse, lineno, separator) <<<
+    "   Grep all files in a project, optionally recursively
+    function! Project_GetAllFnames(recurse, lineno, separator)
+        let b:fnamelist=''
+        function! s:SpawnExec(home, c_d, fname, lineno, data)
+            if exists('b:escape_spaces')
+                let fname=escape(a:fname, ' ')
+            else
+                let fname=a:fname
+            endif
+            if !s:IsAbsolutePath(a:fname)
+                let fname=a:home.'/'.fname
+            endif
+            let b:fnamelist=b:fnamelist.a:data.fname
+        endfunction
+        call Project_ForEach(a:recurse, line('.'), "<SID>SpawnExec", a:separator, '')
+        delfunction s:SpawnExec
+        let retval=b:fnamelist
+        unlet b:fnamelist
+        return retval
+    endfunction ">>>
+    " Project_GetAllFnames(recurse, lineno, separator) <<<
+    "   Grep all files in a project, optionally recursively
+    function! Project_GetFname(line)
+        if (foldlevel(a:line) == 0)
+            return ''
+        endif
+        let fname=substitute(getline(a:line), '\s*#.*', '', '') " Get rid of comments and whitespace before comment
+        let fname=substitute(fname, '^\s*\(.*\)', '\1', '') " Get rid of leading whitespace
+        if strlen(fname) == 0
+            return ''                    " The line is blank. Do nothing.
+        endif
+        if s:IsAbsolutePath(fname)
+            return fname
+        endif
+        let infoline = s:RecursivelyConstructDirectives(a:line)
+        return s:GetHome(infoline, '').'/'.fname
+    endfunction ">>>
+    " Project_ForEach(recurse, lineno, cmd, data, match) <<<
+    "   Grep all files in a project, optionally recursively
+    function! Project_ForEach(recurse, lineno, cmd, data, match)
+        let info=s:RecursivelyConstructDirectives(a:lineno)
+        let lineno=s:FindFoldTop(a:lineno) + 1
+        let flags=s:GetFlags(getline(lineno - 1))
+        if (flags == '') || (a:match=='') || (match(flags, a:match) != -1)
+            call s:Project_ForEachR(a:recurse, lineno, info, a:cmd, a:data, a:match)
+        endif
+    endfunction
+    function! s:Project_ForEachR(recurse, lineno, info, cmd, data, match)
+        let home=s:GetHome(a:info, '')
+        let c_d=s:GetCd(a:info, home)
+        let scriptin = s:GetScriptin(a:info, home)
+        let scriptout = s:GetScriptout(a:info, home)
+        let filter = s:GetFilter(a:info, '')
+        let lineno = a:lineno
+        let curline=getline(lineno)
+        while (curline !~ '}') && (curline < line('$'))
+            if exists("b:stop_everything") && b:stop_everything | return 0 | endif
+            if curline =~ '{'
+                if a:recurse
+                    let flags=s:GetFlags(curline)
+                    if (flags == '') || (a:match=='') || (match(flags, a:match) != -1)
+                        let this_home=s:GetHome(curline, home)
+                        let this_cd=s:GetCd(curline, this_home)
+                        if this_cd=='' | let this_cd=c_d | endif
+                        let this_scriptin=s:GetScriptin(curline, this_home)
+                        if this_scriptin == '' | let this_scriptin=scriptin | endif
+                        let this_scriptout=s:GetScriptin(curline, this_home)
+                        if this_scriptout == '' | let this_scriptout=scriptout | endif
+                        let this_filter=s:GetFilter(curline, filter)
+                        let lineno=s:Project_ForEachR(1, lineno+1,
+                            \s:ConstructInfo(this_home, this_cd, this_scriptin, this_scriptout, flags, this_filter), a:cmd, a:data, a:match)
+                    else
+                        let lineno=s:FindFoldBottom(lineno)
+                    endif
+                else
+                    let lineno=s:FindFoldBottom(lineno)
+                endif
+            else
+                let fname=substitute(curline, '\s*#.*', '', '')
+                let fname=substitute(fname, '^\s*\(.*\)', '\1', '')
+                if (strlen(fname) != strlen(curline)) && (fname[0] != '')
+                    if a:cmd[0] == '*'
+                        call {strpart(a:cmd, 1)}(a:info, fname, lineno, a:data)
+                    else
+                        call {a:cmd}(home, c_d, fname, lineno, a:data)
+                    endif
+                endif
+            endif
+            let lineno=lineno + 1
+            let curline=getline(lineno)
+        endwhile
+        return lineno
+    endfunction ">>>
+    " s:SpawnAll(recurse, number) <<<
+    "   Spawn an external command on the files of a project
+    function! s:SpawnAll(recurse, number)
+        echo | if exists("g:proj_run_fold".a:number)
+            if g:proj_run_fold{a:number}[0] == '*'
+                function! s:SpawnExec(home, c_d, fname, lineno, data)
+                    let command=substitute(strpart(g:proj_run_fold{a:data}, 1), '%s', escape(a:fname, ' \'), 'g')
+                    let command=substitute(command, '%f', escape(a:fname, '\'), 'g')
+                    let command=substitute(command, '%h', escape(a:home, '\'), 'g')
+                    let command=substitute(command, '%d', escape(a:c_d, '\'), 'g')
+                    let command=substitute(command, '%F', substitute(escape(a:fname, '\'), ' ', '\\\\ ', 'g'), 'g')
+                    exec command
+                endfunction
+                call Project_ForEach(a:recurse, line('.'), "<SID>SpawnExec", a:number, '.')
+                delfunction s:SpawnExec
+            else
+                let info=s:RecursivelyConstructDirectives(line('.'))
+                let home=s:GetHome(info, '')
+                let c_d=s:GetCd(info, '')
+                let b:escape_spaces=1
+                let fnames=Project_GetAllFnames(a:recurse, line('.'), ' ')
+                unlet b:escape_spaces
+                let command=substitute(g:proj_run_fold{a:number}, '%f', substitute(escape(fnames, '\'), '\\ ', ' ', 'g'), 'g')
+                let command=substitute(command, '%s', escape(fnames, '\'), 'g')
+                let command=substitute(command, '%h', escape(home, '\'), 'g')
+                let command=substitute(command, '%d', escape(c_d, '\'), 'g')
+                let command=substitute(command, '%F', escape(fnames, '\'), 'g')
+                exec command
+                if v:shell_error != 0
+                    echo 'Shell error. Perhaps there are too many filenames.'
+                endif
+            endif
+        endif
+    endfunction ">>>
+    if !exists("g:proj_running")
+        " s:DoProjectOnly(void) <<<
+        "   Make the file window the only one.
+        function! s:DoProjectOnly()
+            if winbufnr(0) != g:proj_running
+                let lzsave=&lz
+                set lz
+                only
+                Project
+                silent! wincmd p
+                let &lz=lzsave
+                unlet lzsave
+            endif
+        endfunction
+        " >>>
+
+        " Mappings <<<
+        nnoremap <buffer> <silent> <Return>   \|:call <SID>DoFoldOrOpenEntry('', 'e')<CR>
+        nnoremap <buffer> <silent> <S-Return> \|:call <SID>DoFoldOrOpenEntry('', 'sp')<CR>
+        nnoremap <buffer> <silent> <C-Return> \|:call <SID>DoFoldOrOpenEntry('silent! only', 'e')<CR>
+        nmap     <buffer> <silent> <LocalLeader>s <S-Return>
+        nnoremap <buffer> <silent> <LocalLeader>S \|:call <SID>LoadAllSplit(0, line('.'))<CR>
+        nmap     <buffer> <silent> <LocalLeader>o <C-Return>
+        nnoremap <buffer> <silent> <LocalLeader>i :echo <SID>RecursivelyConstructDirectives(line('.'))<CR>
+        nnoremap <buffer> <silent> <LocalLeader>I :echo Project_GetFname(line('.'))<CR>
+        nmap     <buffer> <silent> <M-CR> <Return><C-W>p
+        nmap     <buffer> <silent> <LocalLeader>v <M-CR>
+        nnoremap <buffer> <silent> <LocalLeader>l \|:call <SID>LoadAll(0, line('.'))<CR>
+        nnoremap <buffer> <silent> <LocalLeader>L \|:call <SID>LoadAll(1, line('.'))<CR>
+        nnoremap <buffer> <silent> <LocalLeader>w \|:call <SID>WipeAll(0, line('.'))<CR>
+        nnoremap <buffer> <silent> <LocalLeader>W \|:call <SID>WipeAll(1, line('.'))<CR>
+        nnoremap <buffer> <silent> <LocalLeader>W \|:call <SID>WipeAll(1, line('.'))<CR>
+        nnoremap <buffer> <silent> <LocalLeader>g \|:call <SID>GrepAll(0, line('.'), "")<CR>
+        nnoremap <buffer> <silent> <LocalLeader>G \|:call <SID>GrepAll(1, line('.'), "")<CR>
+        nnoremap <buffer> <silent> <2-LeftMouse>   \|:call <SID>DoFoldOrOpenEntry('', 'e')<CR>
+        nnoremap <buffer> <silent> <S-2-LeftMouse> \|:call <SID>DoFoldOrOpenEntry('', 'sp')<CR>
+        nnoremap <buffer> <silent> <M-2-LeftMouse> <M-CR>
+        nnoremap <buffer> <silent> <S-LeftMouse>   <LeftMouse>
+        nmap     <buffer> <silent> <C-2-LeftMouse> <C-Return>
+        nnoremap <buffer> <silent> <C-LeftMouse>   <LeftMouse>
+        nnoremap <buffer> <silent> <3-LeftMouse>  <Nop>
+        nmap     <buffer> <silent> <RightMouse>   <space>
+        nmap     <buffer> <silent> <2-RightMouse> <space>
+        nmap     <buffer> <silent> <3-RightMouse> <space>
+        nmap     <buffer> <silent> <4-RightMouse> <space>
+        nnoremap <buffer> <silent> <space>  \|:silent exec 'vertical resize '.(match(g:proj_flags, '\Ct')!=-1 && winwidth('.') > g:proj_window_width?(g:proj_window_width):(winwidth('.') + g:proj_window_increment))<CR>
+        nnoremap <buffer> <silent> <C-Up>   \|:silent call <SID>MoveUp()<CR>
+        nnoremap <buffer> <silent> <C-Down> \|:silent call <SID>MoveDown()<CR>
+        nmap     <buffer> <silent> <LocalLeader><Up> <C-Up>
+        nmap     <buffer> <silent> <LocalLeader><Down> <C-Down>
+        let k=1
+        while k < 10
+            exec 'nnoremap <buffer> <LocalLeader>'.k.'  \|:call <SID>Spawn('.k.')<CR>'
+            exec 'nnoremap <buffer> <LocalLeader>f'.k.' \|:call <SID>SpawnAll(0, '.k.')<CR>'
+            exec 'nnoremap <buffer> <LocalLeader>F'.k.' \|:call <SID>SpawnAll(1, '.k.')<CR>'
+            let k=k+1
+        endwhile
+        nnoremap <buffer>          <LocalLeader>0 \|:call <SID>ListSpawn("")<CR>
+        nnoremap <buffer>          <LocalLeader>f0 \|:call <SID>ListSpawn("_fold")<CR>
+        nnoremap <buffer>          <LocalLeader>F0 \|:call <SID>ListSpawn("_fold")<CR>
+        nnoremap <buffer> <silent> <LocalLeader>c :call <SID>CreateEntriesFromDir(0)<CR>
+        nnoremap <buffer> <silent> <LocalLeader>C :call <SID>CreateEntriesFromDir(1)<CR>
+        nnoremap <buffer> <silent> <LocalLeader>r :call <SID>RefreshEntriesFromDir(0)<CR>
+        nnoremap <buffer> <silent> <LocalLeader>R :call <SID>RefreshEntriesFromDir(1)<CR>
+        " For Windows users: same as \R
+        nnoremap <buffer> <silent>           <F5> :call <SID>RefreshEntriesFromDir(1)<CR>
+        nnoremap <buffer> <silent> <LocalLeader>e :call <SID>OpenEntry(line('.'), '', '', 0)<CR>
+        nnoremap <buffer> <silent> <LocalLeader>E :call <SID>OpenEntry(line('.'), '', 'e', 1)<CR>
+        " The :help command stomps on the Project Window.  Try to avoid that.
+        " This is not perfect, but it is alot better than without the mappings.
+        cnoremap <buffer> help let g:proj_doinghelp = 1<CR>:help
+        nnoremap <buffer> <F1> :let g:proj_doinghelp = 1<CR><F1>
+        " This is to avoid changing the buffer, but it is not fool-proof.
+        nnoremap <buffer> <silent> <C-^> <Nop>
+        "nnoremap <script> <Plug>ProjectOnly :let lzsave=&lz<CR>:set lz<CR><C-W>o:Project<CR>:silent! wincmd p<CR>:let &lz=lzsave<CR>:unlet lzsave<CR>
+        nnoremap <script> <Plug>ProjectOnly :call <SID>DoProjectOnly()<CR>
+        if match(g:proj_flags, '\Cm') != -1
+            if !hasmapto('<Plug>ProjectOnly')
+                nmap <silent> <C-W>o <Plug>ProjectOnly
+                nmap <silent> <C-W><C-O> <C-W>o
+            endif
+        endif " >>>
+        if filereadable(glob('~/.vimproject_mappings')) | source ~/.vimproject_mappings | endif
+        " Autocommands <<<
+        " Autocommands to clean up if we do a buffer wipe
+        " These don't work unless we substitute \ for / for Windows
+        let bufname=escape(substitute(expand('%:p', 0), '\\', '/', 'g'), ' ')
+        exec 'au BufWipeout '.bufname.' au! * '.bufname
+        exec 'au BufWipeout '.bufname.' unlet g:proj_running'
+        exec 'au BufWipeout '.bufname.' nunmap <C-W>o'
+        exec 'au BufWipeout '.bufname.' nunmap <C-W><C-O>'
+        " Autocommands to keep the window the specified size
+        exec 'au WinLeave '.bufname.' call s:DoEnsurePlacementSize_au()'
+        exec 'au BufEnter '.bufname.' call s:DoSetupAndSplit_au()'
+        au WinLeave * call s:RecordPrevBuffer_au()
+        " >>>
+        setlocal buflisted
+        let g:proj_running = bufnr(bufname.'\>')
+        if g:proj_running == -1
+            call confirm('Project/Vim error. Please Enter :Project again and report this bug.', "&OK", 1)
+            unlet g:proj_running
+        endif
+        setlocal nobuflisted
+    endif
+endfunction " >>>
+
+if !exists(':Project')
+    command -nargs=? -complete=file Project call <SID>Project('<args>')
+endif
+" Toggle Mapping
+if !exists("*<SID>DoToggleProject()") "<<<
+    function! s:DoToggleProject()
+        if !exists('g:proj_running') || bufwinnr(g:proj_running) == -1
+            Project
+        else
+            let g:proj_mywindow = winnr()
+            Project
+            hide
+            if(winnr() != g:proj_mywindow)
+                wincmd p
+            endif
+            unlet g:proj_mywindow
+        endif
+    endfunction
+endif ">>>
+nnoremap <script> <Plug>ToggleProject :call <SID>DoToggleProject()<CR>
+if exists('g:proj_flags') && (match(g:proj_flags, '\Cg') != -1)
+    if !hasmapto('<Plug>ToggleProject')
+        nmap <silent> <F12> <Plug>ToggleProject
+    endif
+endif
+
+finish
+
+" vim600: set foldmethod=marker foldmarker=<<<,>>> foldlevel=1:




More information about the pkg-vim-maintainers mailing list