From: Nicolas Boisselier Date: Mon, 17 Nov 2014 23:01:26 +0000 (+0100) Subject: vim + git X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=95705aea0d29dd20a2dc71487bf6a56edf9da74b;p=nb.git vim + git --- diff --git a/etc/gitconfig b/etc/gitconfig new file mode 100644 index 00000000..e029af33 --- /dev/null +++ b/etc/gitconfig @@ -0,0 +1,8 @@ +[user] + name = Nicolas Boisselier + email = nicolas.boisselier@gmail.com +[core] + pager = less -iMRF + editor = vim +[credential] + helper = cache --timeout 3600 diff --git a/etc/vim/HTML.zip b/etc/vim/HTML.zip new file mode 100644 index 00000000..80864114 Binary files /dev/null and b/etc/vim/HTML.zip differ diff --git a/etc/vim/autoload/template.vim b/etc/vim/autoload/template.vim new file mode 100644 index 00000000..ae9a207e --- /dev/null +++ b/etc/vim/autoload/template.vim @@ -0,0 +1,139 @@ +" Simple and flexible template engine. +" Version: 0.3.0 +" Author : thinca +" License: zlib License + +let s:save_cpo = &cpo +set cpo&vim + +let s:nomodeline = 703 < v:version || (v:version == 703 && has('patch438')) +let s:loading_template = '' + +" Core functions. {{{1 +function! template#load(...) + let empty_buffer = line('$') == 1 && strlen(getline(1)) == 0 + let pattern = get(a:000, 0, 0) + let lnum = get(a:000, 1, 0) + let force = get(a:000, 2, 0) + if !force && !empty_buffer + return + endif + let tmpl = template#search(empty(pattern) ? expand('%:p') : pattern) + if tmpl == '' + if &verbose && !empty(pattern) + echohl ErrorMsg + echomsg 'template: Template file was not found.' + echohl None + endif + return + endif + + call cursor(lnum, 1) + silent keepalt :.-1 read `=tmpl` + if empty_buffer + silent $ delete _ + 1 + endif + + let loading_pre = s:loading_template + let s:loading_template = tmpl + + if getline('.') =~ '^:' + let [save_reg, save_reg_type] = [getreg('"'), getregtype('"')] + silent .;/^[^:]\|^$\|^:\s*fini\%[sh]\>/-1 delete " + if getline('.') =~# ':\s*fini\%[sh]\>' + delete _ + endif + + let code = @" + call setreg('"', save_reg, save_reg_type) + + let temp = tmpl . '.vim' + if glob(temp) != '' + let temp = tempname() + endif + + call writefile(split(code, "\n"), temp) + try + if s:nomodeline + doautocmd User plugin-template-preexec + else + doautocmd User plugin-template-preexec + endif + source `=temp` + catch + echoerr v:exception + finally + call delete(temp) + endtry + endif + if s:nomodeline + doautocmd User plugin-template-loaded + else + doautocmd User plugin-template-loaded + endif + + let s:loading_template = loading_pre +endfunction + +function! template#search(pattern) + if !exists('g:template_basedir') || empty(a:pattern) + return '' + endif + " Matching from tail. + let target = s:reverse(s:to_slash_path(a:pattern)) + + let longest = ['', 0] " ['template file name', match length] + for i in split(globpath(g:template_basedir, g:template_files), "\n") + let i = s:to_slash_path(i) + if isdirectory(i) || i !~ g:template_free_pattern + continue + endif + " Make a pattern such as the following. + " From: 'path/to/a_FREE_file.vim' (FREE is a free pattern.) + " To: '^\Vmiv.elif_\(\.\{-}\)_a\%[/ot/htap]' + " TODO: cache? + let l = map(split(i, g:template_free_pattern), + \ 's:reverse(escape(v:val, "\\"))') + let [head, rest] = matchlist(l[0], '\v(.{-})(/.*)')[1:2] + let l[0] = head . '\%[' . substitute(rest, '[][]', '[\0]', 'g') . ']' + let matched = matchlist(target, '^\V' . join(reverse(l), '\(\.\{-}\)')) + let len = len(matched) ? + \ strlen(matched[0]) - strlen(join(matched[1:], '')) : 0 + if longest[1] < len + let longest = [i, len] + endif + endfor + return longest[0] +endfunction + +function! template#loading() + return s:loading_template +endfunction + + +" Misc functions. {{{1 +" Return the reversed string. +function! s:reverse(str) + return join(reverse(split(a:str, '\zs')), '') +endfunction + +" Unify pass separator to a slash. +function! s:to_slash_path(path) + if has('win16') || has('win32') || has('win64') + return substitute(a:path, '\\', '/', 'g') + endif + return a:path +endfunction + +" Complete function for :TemplateLoad +function! template#complete(lead, cmd, pos) + let lead = escape(matchstr(a:cmd, 'T\%[emplateLoad]!\?\s\+\zs.*$'), '\') + let pat = '[/\\][^/\\]*' . g:template_free_pattern + let list = map(filter(split(globpath(g:template_basedir, g:template_files), + \ "\n"), '!isdirectory(v:val)'), 'v:val[match(v:val, pat):]') + return filter(list, 'v:val =~ "^\\V" . lead') +endfunction + + +let &cpo = s:save_cpo diff --git a/etc/vim/checkscript.sh b/etc/vim/checkscript.sh new file mode 100644 index 00000000..0326b84d --- /dev/null +++ b/etc/vim/checkscript.sh @@ -0,0 +1,55 @@ +#!/bin/bash +f=$1 + +if [ -z "$f" ]; then + echo -e "Usage: $0 FILE\nCheck syntaxe of a document"; + exit -1; +fi + +ext=`echo $f|sed 's/^.*\.\(.*\)$/\1/'` +php="php5 --define error_reporting=22519 --define display_errors=1 --define log_errors=1 --define html_errors=1" # E_ALL & ~E_NOTICE & ~E_DEPRECATED +#php="php5 --define error_reporting=8192 --define display_errors=1" # E_ALL & ~E_NOTICE & E_DEPRECATED +#php="php5 "; +case "$ext" in + pp) exec puppet parser validate $f;; + pm|pl) exec perl -w -c $f;; + htm|html|xhtm) exec xmllint --noout --html $f;; + xml|sgml) exec xmllint --noout $f;; + php|inc) + exec $php -f $f + ;; +esac +case "$f" in + *named.conf) exec /usr/sbin/named-checkconf $f;; + *httpd2*) + httpd=`which httpd2 2>/dev/null`; + [ -z $httpd ] && httpd=`which apache2 2>/dev/null`; + exec $httpd -d `dirname $f` -t -f `basename $f`; + ;; + *httpd[\.-]*) + httpd=`which httpd 2>/dev/null`; + [ -z $httpd ] && httpd=`which apache 2>/dev/null`; + [ -z $httpd ] && httpd=`which httpd2 2>/dev/null`; + exec $httpd -d `dirname $f` -t -f `basename $f`; + ;; +esac + +head=`head -c 100 $f` +case "$head" in + \#!*/perl*)exec perl -w -c $f;; +esac; + +file=`file $f` +case "$file" in + *XML*document*) exec xmllint --noout $f;; + *SGML*document*) exec xmllint --noout $f;; + *HTML*document*) exec xmllint --noout --html $f;; + *perl*executable*)exec perl -w -c $f;; + *perl*modules*) exec perl -w -c $f;; + *[pP][hH][pP]*script*) exec $php -f $f;; + *[Bb]ourne*shell*script*) exec sh -x $f;; + *bash*executable*) exec sh -x $f;; +esac; + +echo "Nothing to do with this file: $file: $ext!" +exit 1 diff --git a/etc/vim/checkspell.sh b/etc/vim/checkspell.sh new file mode 100644 index 00000000..c4c3d2e1 --- /dev/null +++ b/etc/vim/checkspell.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# NB 12.03.04 nicolasboisselier@free.fr + +if [ -z "$@" ]; then + echo -e "Usage: $0 FILES\nVerifie l'orthographe d'un document." + exit -1; +fi + +while [ "$1" ]; do + file=`file $1` + cmd="" + case "$file" in + *XML*document*) cmd="aspell -c --dont-backup --mode=sgml";; + *HTML*document*) cmd="aspell -c --dont-backup --mode=sgml";; + *SGML*document*) cmd="aspell -c --dont-backup --mode=sgml";; + *ASCII*mail*) cmd="aspell -c --dont-backup --mode=email";; + *text*) cmd="aspell -c --dont-backup";; + esac; + + if [ "$cmd" ]; then + $cmd $1 + else + echo "Rien à faire avec ce type de fichier: $file: $ext!" + fi + shift +done + +exit diff --git a/etc/vim/choosesig.pl b/etc/vim/choosesig.pl new file mode 100644 index 00000000..0b23774b --- /dev/null +++ b/etc/vim/choosesig.pl @@ -0,0 +1,134 @@ +#!/usr/bin/perl +############################################################################## +# +# NB 09.10.03 +# +# script pour macro mutt: choisie un template dans ~/.signature pour changer +# l'envoyeur d'un mail +# +############################################################################## +use strict qw (subs vars refs); + +my $file = shift @ARGV; +my $dir = $ENV{HOME} . "/.signature"; + +opendir(D,$dir) || die "$dir: $!"; + +my @sig = sort grep(!/^\./,readdir(D)); +close D; + +my $i = -1; +print "Choissisez une signature:\n",map { $i++; "[$i] $_\n" } @sig; + +$i = "Z"; +$i = <>; +exit if !defined($i) or $i eq "" or $i !~ /^\d+$/ or $i>=scalar(@sig); + +my $f = "$dir/$sig[$i]"; + +# on charge la signature +open(F,$f) || die "$f: $!"; +my $sig = join('',); +close F; + +# on extrait l'email de la signature +$sig =~ s/^From\s*:\s*(.*?)\s*[\r\n]//; +my $me = $1 || ""; +my $from = $me; $from =~ s/^.*<(.*?)>.*$/$1/; +$sig = "-- \n$sig" unless $sig =~ /^--\s*\n/; + +# NB 22.10.06 +#my @allmail; +#for (@sig) { +# $_ = "$dir/$_"; +# open(F,$_) or die "$_: $!"; +# $_ = ; +# s/\s+$//; +# if (/^From\s*:\s*(.*?)\s*$/) { +# $_ = $1 and push(@allmail,$_); +# s/^.*<(.*?)>.*$/$1/ and push(@allmail,$_); +# s/['"]/$1/g and push(@allmail,$_); +# } +# close F; +#} +#die @allmail; + +# lecture du mail +my (@mail,$mail); +#my $lsig = 0; +open(F,$file) || die "$file: $!"; +$i = 0; + +while ($mail = ) { + + unless ($i) { + + # on est dans l'entete + if ($mail =~ /^\s$/) { + # fin de l'entete + $i = 1; + next; + } + + $mail =~ /^Cc\s*:/ and $mail =~ s/[^,:]*$from[^,:]*//g; + if ($mail =~ /^From\s*:/) { $i=2; next; } + + } + + # NB 04.11.03 on supprime toutes les signatures dans l'email + if (1 and $mail =~ /^[> ]*--+\s*$/) { + $mail = while ($mail !~ /^[> ]*\s*$/); + next; + } + + #$lsig = $. if $mail =~ /^--\s*$/; # signature trouve + # NB 14.10.06 destinataire vide ???? + $mail =~ /^(From|Cc|Bcc|To)\s*:/ + and $mail =~ s/"" <>,?//g + and $mail =~ /^\s*$/ and next; + $mail = &sup_me($me,$mail); + + push(@mail,$mail); +} +close F; + +# on supprime la derniere ligne si vide +pop(@mail) if $mail[$#mail||0] =~ /^\s*$/; + +# noise +@mail = grep { !/^(From|To|Cc): (['"]([^'"<>]+)?['"] )<>\s*$/ } @mail; + +open(F,">$file") || die "$file: $!"; +$_ = join('',@mail); + +s/(To: .*?)\nCc: +(contact|admin)\@izideal.com/$1\nCc: izideal/; + +print F "From: $me\n",$_,"\n$sig"; + +close F; + +sub sup_me { +#------------------------------------------------------------------------------ +# NB 16.06.05 +#------------------------------------------------------------------------------ +my ($me,$mail,$simple) = @_; +#warn $me; + #$mail =~ s/[^:,;]*$me\s*[:,;]?//gi; return $mail; + $mail =~ s/, *$me//gi; + $mail =~ s/$me *,//gi; + $mail =~ s/ *$me *//gi; +# $mail =~ s/ *$me//gi; +# $mail =~ s/$me *//gi; +return $mail if $simple; + $me =~ s/"/'/g; + $mail = &sup_me($me,$mail,1); + $me =~ s/["']//g; + $mail = &sup_me($me,$mail,1); +#return $mail; + $me =~ s/^.*<([^>]+)>.*$/$1/g; +# print "$me\n"; + $mail = &sup_me($me,$mail,1); +return $mail +} + +exit; diff --git a/etc/vim/doc/NERD_commenter.txt b/etc/vim/doc/NERD_commenter.txt new file mode 100644 index 00000000..d79d2788 --- /dev/null +++ b/etc/vim/doc/NERD_commenter.txt @@ -0,0 +1,991 @@ +*NERD_commenter.txt* Plugin for commenting code + + + NERD COMMENTER REFERENCE MANUAL~ + + + + + +============================================================================== +CONTENTS *NERDCommenterContents* + + 1.Intro...................................|NERDCommenter| + 2.Functionality provided..................|NERDComFunctionality| + 2.1 Functionality Summary.............|NERDComFunctionalitySummary| + 2.2 Functionality Details.............|NERDComFunctionalityDetails| + 2.2.1 Comment map.................|NERDComComment| + 2.2.2 Nested comment map..........|NERDComNestedComment| + 2.2.3 Toggle comment map..........|NERDComToggleComment| + 2.2.4 Minimal comment map.........|NERDComMinimalComment| + 2.2.5 Invert comment map..........|NERDComInvertComment| + 2.2.6 Sexy comment map............|NERDComSexyComment| + 2.2.7 Yank comment map............|NERDComYankComment| + 2.2.8 Comment to EOL map..........|NERDComEOLComment| + 2.2.9 Append com to line map......|NERDComAppendComment| + 2.2.10 Insert comment map.........|NERDComInsertComment| + 2.2.11 Use alternate delims map...|NERDComAltDelim| + 2.2.12 Comment aligned maps.......|NERDComAlignedComment| + 2.2.13 Uncomment line map.........|NERDComUncommentLine| + 2.3 Supported filetypes...............|NERDComFiletypes| + 2.4 Sexy Comments.....................|NERDComSexyComments| + 2.5 The NERDComment function..........|NERDComNERDComment| + 3.Options.................................|NERDComOptions| + 3.1 Options summary...................|NERDComOptionsSummary| + 3.2 Options details...................|NERDComOptionsDetails| + 3.3 Default delimiter Options.........|NERDComDefaultDelims| + 4. Customising key mappings...............|NERDComMappings| + 5. Issues with the script.................|NERDComIssues| + 5.1 Delimiter detection heuristics....|NERDComHeuristics| + 5.2 Nesting issues....................|NERDComNesting| + 6.About.. ............................|NERDComAbout| + 7.Changelog...............................|NERDComChangelog| + 8.Credits.................................|NERDComCredits| + 9.License.................................|NERDComLicense| + +============================================================================== +1. Intro *NERDCommenter* + +The NERD commenter provides many different commenting operations and styles +which are invoked via key mappings and a menu. These operations are available +for most filetypes. + +There are also options that allow to tweak the commenting engine to your +taste. + +============================================================================== +2. Functionality provided *NERDComFunctionality* + +------------------------------------------------------------------------------ +2.1 Functionality summary *NERDComFunctionalitySummary* + +The following key mappings are provided by default (there is also a menu +with items corresponding to all the mappings below): + +[count],cc |NERDComComment| +Comment out the current line or text selected in visual mode. + + +[count],cn |NERDComNestedComment| +Same as ,cc but forces nesting. + + +[count],c |NERDComToggleComment| +Toggles the comment state of the selected line(s). If the topmost selected +line is commented, all selected lines are uncommented and vice versa. + + +[count],cm |NERDComMinimalComment| +Comments the given lines using only one set of multipart delimiters. + + +[count],ci |NERDComInvertComment| +Toggles the comment state of the selected line(s) individually. + + +[count],cs |NERDComSexyComment| +Comments out the selected lines ``sexily'' + + +[count],cy |NERDComYankComment| +Same as ,cc except that the commented line(s) are yanked first. + + +,c$ |NERDComEOLComment| +Comments the current line from the cursor to the end of line. + + +,cA |NERDComAppendComment| +Adds comment delimiters to the end of line and goes into insert mode between +them. + + +|NERDComInsertComment| +Adds comment delimiters at the current cursor position and inserts between. +Disabled by default. + + +,ca |NERDComAltDelim| +Switches to the alternative set of delimiters. + + +[count],cl +[count],cb |NERDComAlignedComment| +Same as |NERDComComment| except that the delimiters are aligned down the +left side (,cl) or both sides (,cb). + + +[count],cu |NERDComUncommentLine| +Uncomments the selected line(s). + +------------------------------------------------------------------------------ +2.2 Functionality details *NERDComFunctionalityDetails* + +------------------------------------------------------------------------------ +2.2.1 Comment map *NERDComComment* + +Default mapping: [count],cc +Mapped to: NERDCommenterComment +Applicable modes: normal visual visual-line visual-block. + + +Comments out the current line. If multiple lines are selected in visual-line +mode, they are all commented out. If some text is selected in visual or +visual-block mode then the script will try to comment out the exact text that +is selected using multi-part delimiters if they are available. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +------------------------------------------------------------------------------ +2.2.2 Nested comment map *NERDComNestedComment* + +Default mapping: [count],cn +Mapped to: NERDCommenterNest +Applicable modes: normal visual visual-line visual-block. + +Performs nested commenting. Works the same as ,cc except that if a line is +already commented then it will be commented again. + +If |'NERDUsePlaceHolders'| is set then the previous comment delimiters will +be replaced by place-holder delimiters if needed. Otherwise the nested +comment will only be added if the current commenting delimiters have no right +delimiter (to avoid syntax errors) + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +Related options: +|'NERDDefaultNesting'| + +------------------------------------------------------------------------------ +2.2.3 Toggle comment map *NERDComToggleComment* + +Default mapping: [count],c +Mapped to: NERDCommenterToggle +Applicable modes: normal visual-line. + +Toggles commenting of the lines selected. The behaviour of this mapping +depends on whether the first line selected is commented or not. If so, all +selected lines are uncommented and vice versa. + +With this mapping, a line is only considered to be commented if it starts with +a left delimiter. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +------------------------------------------------------------------------------ +2.2.4 Minimal comment map *NERDComMinimalComment* + +Default mapping: [count],cm +Mapped to: NERDCommenterMinimal +Applicable modes: normal visual-line. + +Comments the selected lines using one set of multipart delimiters if possible. + +For example: if you are programming in c and you select 5 lines and press ,cm +then a '/*' will be placed at the start of the top line and a '*/' will be +placed at the end of the last line. + +Sets of multipart comment delimiters that are between the top and bottom +selected lines are replaced with place holders (see |'NERDLPlace'|) if +|'NERDUsePlaceHolders'| is set for the current filetype. If it is not, then +the comment will be aborted if place holders are required to prevent illegal +syntax. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +------------------------------------------------------------------------------ +2.2.5 Invert comment map *NERDComInvertComment* + +Default mapping: ,ci +Mapped to: NERDCommenterInvert +Applicable modes: normal visual-line. + +Inverts the commented state of each selected line. If the a selected line is +commented then it is uncommented and vice versa. Each line is examined and +commented/uncommented individually. + +With this mapping, a line is only considered to be commented if it starts with +a left delimiter. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +------------------------------------------------------------------------------ +2.2.6 Sexy comment map *NERDComSexyComment* + +Default mapping: [count],cs +Mapped to: NERDCommenterSexy +Applicable modes: normal, visual-line. + +Comments the selected line(s) ``sexily''... see |NERDComSexyComments| for +a description of what sexy comments are. Can only be done on filetypes for +which there is at least one set of multipart comment delimiters specified. + +Sexy comments cannot be nested and lines inside a sexy comment cannot be +commented again. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +Related options: +|'NERDCompactSexyComs'| + +------------------------------------------------------------------------------ +2.2.7 Yank comment map *NERDComYankComment* + +Default mapping: [count],cy +Mapped to: NERDCommenterYank +Applicable modes: normal visual visual-line visual-block. + +Same as ,cc except that it yanks the line(s) that are commented first. + +------------------------------------------------------------------------------ +2.2.8 Comment to EOL map *NERDComEOLComment* + +Default mapping: ,c$ +Mapped to: NERDCommenterToEOL +Applicable modes: normal. + +Comments the current line from the current cursor position up to the end of +the line. + +------------------------------------------------------------------------------ +2.2.9 Append com to line map *NERDComAppendComment* + +Default mapping: ,cA +Mapped to: NERDCommenterAppend +Applicable modes: normal. + +Appends comment delimiters to the end of the current line and goes +to insert mode between the new delimiters. + +------------------------------------------------------------------------------ +2.2.10 Insert comment map *NERDComInsertComment* + +Default mapping: disabled by default. +Map it to: NERDCommenterInInsert +Applicable modes: insert. + +Adds comment delimiters at the current cursor position and inserts +between them. + +NOTE: prior to version 2.1.17 this was mapped to ctrl-c. To restore this +mapping add > + let NERDComInsertMap='' +< +to your vimrc. + +------------------------------------------------------------------------------ +2.2.11 Use alternate delims map *NERDComAltDelim* + +Default mapping: ,ca +Mapped to: NERDCommenterAltDelims +Applicable modes: normal. + +Changes to the alternative commenting style if one is available. For example, +if the user is editing a c++ file using // comments and they hit ,ca +then they will be switched over to /**/ comments. + +See also |NERDComDefaultDelims| + +------------------------------------------------------------------------------ +2.2.12 Comment aligned maps *NERDComAlignedComment* + +Default mappings: [count],cl [count],cb +Mapped to: NERDCommenterAlignLeft + NERDCommenterAlignBoth +Applicable modes: normal visual-line. + +Same as ,cc except that the comment delimiters are aligned on the left side or +both sides respectively. These comments are always nested if the line(s) are +already commented. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +------------------------------------------------------------------------------ +2.2.13 Uncomment line map *NERDComUncommentLine* + +Default mapping: [count],cu +Mapped to: NERDCommenterUncomment +Applicable modes: normal visual visual-line visual-block. + +Uncomments the current line. If multiple lines are selected in +visual mode then they are all uncommented. + +When uncommenting, if the line contains multiple sets of delimiters then the +``outtermost'' pair of delimiters will be removed. + +The script uses a set of heurisics to distinguish ``real'' delimiters from +``fake'' ones when uncommenting. See |NERDComIssues| for details. + +If a [count] is given in normal mode, the mapping works as though that many +lines were selected in visual-line mode. + +Related options: +|'NERDRemoveAltComs'| +|'NERDRemoveExtraSpaces'| + +------------------------------------------------------------------------------ +2.3 Supported filetypes *NERDComFiletypes* + +Filetypes that can be commented by this plugin: +abaqus abc acedb ada ahdl amiga aml ampl ant apache apachestyle asm68k asm asn +aspvbs atlas autohotkey autoit automake ave awk basic b bc bdf bib bindzone +bst btm caos catalog c cfg cg ch changelog cl clean clipper cmake conf config +context cpp crontab cs csc csp css cterm cupl csv cvs dcl debchangelog +debcontrol debsources def diff django docbk dns dosbatch dosini dot dracula +dsl dtd dtml dylan ecd eiffel elf elmfilt erlang eruby eterm expect exports +fetchmail fgl focexec form fortran foxpro fstab fvwm fx gdb gdmo geek +gentoo-package-keywords' gentoo-package-mask' gentoo-package-use' gnuplot +gtkrc haskell hb h help hercules hog html htmldjango htmlos ia64 icon idlang +idl indent inform inittab ishd iss ist jam java javascript jess jgraph +jproperties jproperties jsp kconfig kix kscript lace lex lftp lifelines lilo +lisp lite lotos lout lprolog lscript lss lua lynx m4 mail make maple masm +master matlab mel mf mib mma model moduala. modula2 modula3 monk mush muttrc +named nasm nastran natural ncf netdict netrw nqc nroff nsis objc ocaml occam +omlet omnimark openroad opl ora otl ox pascal passwd pcap pccts perl pfmain +php phtml pic pike pilrc pine plaintex plm plsql po postscr pov povini ppd +ppwiz procmail progress prolog psf ptcap python python qf radiance ratpoison r +rc readline rebol registry remind rexx robots rpl rtf ruby sa samba sas sass +sather scheme scilab screen scsh sdl sed selectbuf sgml sgmldecl sgmllnx sh +sicad simula sinda skill slang sl slrnrc sm smarty smil smith sml snnsnet +snnspat snnsres snobol4 spec specman spice sql sqlforms sqlj sqr squid st stp +strace svn systemverilog tads taglist tags tak tasm tcl terminfo tex text +plaintex texinfo texmf tf tidy tli trasys tsalt tsscl tssgm uc uil vb verilog +verilog_systemverilog vgrindefs vhdl vim viminfo virata vo_base vrml vsejcl +webmacro wget winbatch wml wvdial xdefaults xf86conf xhtml xkb xmath xml +xmodmap xpm2 xpm xslt yacc yaml z8a + +If a language is not in the list of hardcoded supported filetypes then the +&commentstring vim option is used. + +------------------------------------------------------------------------------ +2.4 Sexy Comments *NERDComSexyComments* +These are comments that use one set of multipart comment delimiters as well as +one other marker symbol. For example: > + /* + * This is a c style sexy comment + * So there! + */ + + /* This is a c style sexy comment + * So there! + * But this one is ``compact'' style */ +< +Here the multipart delimiters are /* and */ and the marker is *. + +------------------------------------------------------------------------------ +2.5 The NERDComment function *NERDComNERDComment* + +All of the NERD commenter mappings and menu items invoke a single function +which delegates the commenting work to other functions. This function is +public and has the prototype: > + function! NERDComment(isVisual, type) +< +The arguments to this function are simple: + - isVisual: if you wish to do any kind of visual comment then set this to + 1 and the function will use the '< and '> marks to find the comment + boundries. If set to 0 then the function will operate on the current + line. + - type: is used to specify what type of commenting operation is to be + performed, and it can be one of the following: "sexy", "invert", + "minimal", "toggle", "alignLeft", "alignBoth", "norm", "nested", + "toEOL", "append", "insert", "uncomment", "yank" + +For example, if you typed > + :call NERDComment(1, 'sexy') +< +then the script would do a sexy comment on the last visual selection. + + +============================================================================== +3. Options *NERDComOptions* + +------------------------------------------------------------------------------ +3.1 Options summary *NERDComOptionsSummary* + +|'loaded_nerd_comments'| Turns off the script. +|'NERDAllowAnyVisualDelims'| Allows multipart alternative delims to + be used when commenting in + visual/visual-block mode. +|'NERDBlockComIgnoreEmpty'| Forces right delims to be placed when + doing visual-block comments. +|'NERDCommentWholeLinesInVMode'| Changes behaviour of visual comments. +|'NERDCreateDefaultMappings'| Turn the default mappings on/off. +|'NERDDefaultNesting'| Tells the script to use nested comments + by default. +|'NERDMenuMode'| Specifies how the NERD commenter menu + will appear (if at all). +|'NERDLPlace'| Specifies what to use as the left + delimiter placeholder when nesting + comments. +|'NERDUsePlaceHolders'| Specifies which filetypes may use + placeholders when nesting comments. +|'NERDRemoveAltComs'| Tells the script whether to remove + alternative comment delimiters when + uncommenting. +|'NERDRemoveExtraSpaces'| Tells the script to always remove the + extra spaces when uncommenting + (regardless of whether NERDSpaceDelims + is set) +|'NERDRPlace'| Specifies what to use as the right + delimiter placeholder when nesting + comments. +|'NERDSpaceDelims'| Specifies whether to add extra spaces + around delimiters when commenting, and + whether to remove them when + uncommenting. +|'NERDCompactSexyComs'| Specifies whether to use the compact + style sexy comments. + +------------------------------------------------------------------------------ +3.3 Options details *NERDComOptionsDetails* + +To enable any of the below options you should put the given line in your +~/.vimrc + + *'loaded_nerd_comments'* +If this script is driving you insane you can turn it off by setting this +option > + let loaded_nerd_comments=1 +< +------------------------------------------------------------------------------ + *'NERDAllowAnyVisualDelims'* +Values: 0 or 1. +Default: 1. + +If set to 1 then, when doing a visual or visual-block comment (but not a +visual-line comment), the script will choose the right delimiters to use for +the comment. This means either using the current delimiters if they are +multipart or using the alternative delimiters if THEY are multipart. For +example if we are editing the following java code: > + float foo = 1221; + float bar = 324; + System.out.println(foo * bar); +< +If we are using // comments and select the "foo" and "bar" in visual-block +mode, as shown left below (where '|'s are used to represent the visual-block +boundary), and comment it then the script will use the alternative delims as +shown on the right: > + + float |foo| = 1221; float /*foo*/ = 1221; + float |bar| = 324; float /*bar*/ = 324; + System.out.println(foo * bar); System.out.println(foo * bar); +< +------------------------------------------------------------------------------ + *'NERDBlockComIgnoreEmpty'* +Values: 0 or 1. +Default: 1. + +This option affects visual-block mode commenting. If this option is turned +on, lines that begin outside the right boundary of the selection block will be +ignored. + +For example, if you are commenting this chunk of c code in visual-block mode +(where the '|'s are used to represent the visual-block boundary) > + #include + #include + #include + |int| main(){ + | | printf("SUCK THIS\n"); + | | while(1){ + | | fork(); + | | } + |} | +< +If NERDBlockComIgnoreEmpty=0 then this code will become: > + #include + #include + #include + /*int*/ main(){ + /* */ printf("SUCK THIS\n"); + /* */ while(1){ + /* */ fork(); + /* */ } + /*} */ +< +Otherwise, the code block would become: > + #include + #include + #include + /*int*/ main(){ + printf("SUCK THIS\n"); + while(1){ + fork(); + } + /*} */ +< +------------------------------------------------------------------------------ + *'NERDCommentWholeLinesInVMode'* +Values: 0, 1 or 2. +Default: 0. + +By default the script tries to comment out exactly what is selected in visual +mode (v). For example if you select and comment the following c code (using | +to represent the visual boundary): > + in|t foo = 3; + int bar =| 9; + int baz = foo + bar; +< +This will result in: > + in/*t foo = 3;*/ + /*int bar =*/ 9; + int baz = foo + bar; +< +But some people prefer it if the whole lines are commented like: > + /*int foo = 3;*/ + /*int bar = 9;*/ + int baz = foo + bar; +< +If you prefer the second option then stick this line in your vimrc: > + let NERDCommentWholeLinesInVMode=1 +< + +If the filetype you are editing only has no multipart delimiters (for example +a shell script) and you hadnt set this option then the above would become > + in#t foo = 3; + #int bar = 9; +< +(where # is the comment delimiter) as this is the closest the script can +come to commenting out exactly what was selected. If you prefer for whole +lines to be commented out when there is no multipart delimiters but the EXACT +text that was selected to be commented out if there IS multipart delimiters +then stick the following line in your vimrc: > + let NERDCommentWholeLinesInVMode=2 +< + +Note that this option does not affect the behaviour of commenting in +|visual-block| mode. + +------------------------------------------------------------------------------ + *'NERDCreateDefaultMappings'* +Values: 0 or 1. +Default: 1. + +If set to 0, none of the default mappings will be created. + +See also |NERDComMappings|. + +------------------------------------------------------------------------------ + *'NERDRemoveAltComs'* +Values: 0 or 1. +Default: 1. + +When uncommenting a line (for a filetype with an alternative commenting style) +this option tells the script whether to look for, and remove, comment +delimiters of the alternative style. + +For example, if you are editing a c++ file using // style comments and you go +,cu on this line: > + /* This is a c++ comment baby! */ +< +It will not be uncommented if the NERDRemoveAltComs is set to 0. + +------------------------------------------------------------------------------ + *'NERDRemoveExtraSpaces'* +Values: 0 or 1. +Default: 1. + +By default, the NERD commenter will remove spaces around comment delimiters if +either: +1. |'NERDSpaceDelims'| is set to 1. +2. NERDRemoveExtraSpaces is set to 1. + +This means that if we have the following lines in a c code file: > + /* int foo = 5; */ + /* int bar = 10; */ + int baz = foo + bar +< +If either of the above conditions hold then if these lines are uncommented +they will become: > + int foo = 5; + int bar = 10; + int baz = foo + bar +< +Otherwise they would become: > + int foo = 5; + int bar = 10; + int baz = foo + bar +< +If you want the spaces to be removed only if |'NERDSpaceDelims'| is set then +set NERDRemoveExtraSpaces to 0. + +------------------------------------------------------------------------------ + *'NERDLPlace'* + *'NERDRPlace'* +Values: arbitrary string. +Default: + NERDLPlace: "[>" + NERDRPlace: "<]" + +These options are used to control the strings used as place-holder delimiters. +Place holder delimiters are used when performing nested commenting when the +filetype supports commenting styles with both left and right delimiters. +To set these options use lines like: > + let NERDLPlace="FOO" + let NERDRPlace="BAR" +< +Following the above example, if we have line of c code: > + /* int horse */ +< +and we comment it with ,cn it will be changed to: > + /*FOO int horse BAR*/ +< +When we uncomment this line it will go back to what it was. + +------------------------------------------------------------------------------ + *'NERDMenuMode'* +Values: 0, 1, 2, 3. +Default: 3 + +This option can take 4 values: + "0": Turns the menu off. + "1": Turns the 'comment' menu on with no menu shortcut. + "2": Turns the 'comment 'menu on with -c as the shortcut. + "3": Turns the 'Plugin -> comment' menu on with -c as the shortcut. + +------------------------------------------------------------------------------ + *'NERDUsePlaceHolders'* +Values: 0 or 1. +Default 1. + +This option is used to specify whether place-holder delimiters should be used +when creating a nested comment. + +------------------------------------------------------------------------------ + *'NERDSpaceDelims'* +Values: 0 or 1. +Default 0. + +Some people prefer a space after the left delimiter and before the right +delimiter like this: > + /* int foo=2; */ +< +as opposed to this: > + /*int foo=2;*/ +< +If you want spaces to be added then set NERDSpaceDelims to 1 in your vimrc. + +See also |'NERDRemoveExtraSpaces'|. + +------------------------------------------------------------------------------ + *'NERDCompactSexyComs'* +Values: 0 or 1. +Default 0. + +Some people may want their sexy comments to be like this: > + /* Hi There! + * This is a sexy comment + * in c */ +< +As opposed to like this: > + /* + * Hi There! + * This is a sexy comment + * in c + */ +< +If this option is set to 1 then the top style will be used. + +------------------------------------------------------------------------------ + *'NERDDefaultNesting'* +Values: 0 or 1. +Default 1. + +When this option is set to 1, comments are nested automatically. That is, if +you hit ,cc on a line that is already commented it will be commented again + +------------------------------------------------------------------------------ +3.3 Default delimiter customisation *NERDComDefaultDelims* + +If you want the NERD commenter to use the alternative delimiters for a +specific filetype by default then put a line of this form into your vimrc: > + let NERD__alt_style=1 +< +Example: java uses // style comments by default, but you want it to default to +/* */ style comments instead. You would put this line in your vimrc: > + let NERD_java_alt_style=1 +< + +See |NERDComAltDelim| for switching commenting styles at runtime. + +============================================================================== +4. Key mapping customisation *NERDComMappings* + +To change a mapping just map another key combo to the internal mapping. +For example, to remap the |NERDComComment| mapping to ",omg" you would put +this line in your vimrc: > + map ,omg NERDCommenterComment +< +This will stop the corresponding default mappings from being created. + +See the help for the mapping in question to see which mapping to +map to. + +See also |'NERDCreateDefaultMappings'|. + +============================================================================== +5. Issues with the script *NERDComIssues* + + +------------------------------------------------------------------------------ +5.1 Delimiter detection heuristics *NERDComHeuristics* + +Heuristics are used to distinguish the real comment delimiters + +Because we have comment mappings that place delimiters in the middle of lines, +removing comment delimiters is a bit tricky. This is because if comment +delimiters appear in a line doesnt mean they really ARE delimiters. For +example, Java uses // comments but the line > + System.out.println("//"); +< +clearly contains no real comment delimiters. + +To distinguish between ``real'' comment delimiters and ``fake'' ones we use a +set of heuristics. For example, one such heuristic states that any comment +delimiter that has an odd number of non-escaped " characters both preceding +and following it on the line is not a comment because it is probably part of a +string. These heuristics, while usually pretty accurate, will not work for all +cases. + +------------------------------------------------------------------------------ +5.2 Nesting issues *NERDComNesting* + +If we have some line of code like this: > + /*int foo */ = /*5 + 9;*/ +< +This will not be uncommented legally. The NERD commenter will remove the +"outter most" delimiters so the line will become: > + int foo */ = /*5 + 9; +< +which almost certainly will not be what you want. Nested sets of comments will +uncomment fine though. Eg: > + /*int/* foo =*/ 5 + 9;*/ +< +will become: > + int/* foo =*/ 5 + 9; +< +(Note that in the above examples I have deliberately not used place holders +for simplicity) + +============================================================================== +6. About *NERDComAbout* + +The author of the NERD commenter is Martyzillatron --- the half robot, half +dinosaur bastard son of Megatron and Godzilla. He enjoys destroying +metropolises and eating tourist busses. + +Drop him a line at martin_grenfell at msn.com. He would love to hear from you. +its a lonely life being the worlds premier terror machine. How would you feel +if your face looked like a toaster and a t-rex put together? :( + +The latest stable versions can be found at + http://www.vim.org/scripts/script.php?script_id=1218 + +The latest dev versions are on github + http://github.com/scrooloose/nerdcommenter + +============================================================================== +8. Changelog *NERDComChangelog* + +2.2.2 + - remove the NERDShutup option and the message is suppresses, this makes + the plugin silently rely on &commentstring for unknown filetypes. + - add support for dhcpd, limits, ntp, resolv, rgb, sysctl, udevconf and + udevrules. Thanks to Thilo Six. + - match filetypes case insensitively + - add support for mp (metapost), thanks to Andrey Skvortsov. + - add support for htmlcheetah, thanks to Simon Hengel. + - add support for javacc, thanks to Matt Tolton. + - make <%# %> the default delims for eruby, thanks to tpope. + - add support for javascript.jquery, thanks to Ivan Devat. + - add support for cucumber and pdf. Fix sass and railslog delims, + thanks to tpope + +2.2.1 + - add support for newlisp and clojure, thanks to Matthew Lee Hinman. + - fix automake comments, thanks to Elias Pipping + - make haml comments default to -# with / as the alternative delimiter, + thanks to tpope + - add support for actionscript and processing thanks to Edwin Benavides + - add support for ps1 (powershell), thanks to Jason Mills + - add support for hostsaccess, thanks to Thomas Rowe + - add support for CVScommit + - add support for asciidoc, git and gitrebase. Thanks to Simon Ruderich. + - use # for gitcommit comments, thanks to Simon Ruderich. + - add support for mako and genshi, thanks to Keitheis. + - add support for conkyrc, thanks to David + - add support for SVNannotate, thanks to Miguel Jaque Barbero. + - add support for sieve, thanks to Stefan Walk + - add support for objj, thanks to Adam Thorsen. + +2.2.0 + - rewrote the mappings system to be more "standard". + - removed all the mapping options. Now, mappings to mappings are + used + - see :help NERDComMappings, and :help NERDCreateDefaultMappings for + more info + - remove "prepend comments" and "right aligned comments". + - add support for applescript, calbire, man, SVNcommit, potwiki, txt2tags and SVNinfo. + Thanks to nicothakis, timberke, sgronblo, mntnoe, Bernhard Grotz, John + O'Shea, François and Giacomo Mariani respectively. + - bugfix for haskell delimiters. Thanks to mntnoe. +2.1.18 + - add support for llvm. Thanks to nicothakis. + - add support for xquery. Thanks to Phillip Kovalev. +2.1.17 + - fixed haskell delimiters (hackily). Thanks to Elias Pipping. + - add support for mailcap. Thanks to Pascal Brueckner. + - add support for stata. Thanks to Jerónimo Carballo. + - applied a patch from ewfalor to fix an error in the help file with the + NERDMapleader doc + - disable the insert mode ctrl-c mapping by default, see :help + NERDComInsertComment if you wish to restore it + +============================================================================== +8. Credits *NERDComCredits* + +Thanks to the follow people for suggestions and patches: + +Nick Brettell +Matthew Hawkins +Mathieu Clabaut +Greg Searle +Nguyen +Litchi +Jorge Scandaliaris +Shufeng Zheng +Martin Stubenschrott +Markus Erlmann +Brent Rice +Richard Willis +Igor Prischepoff +Harry +David Bourgeois +Eike Von Seggern +Torsten Blix +Alexander Bosecke +Stefano Zacchiroli +Norick Chen +Joseph Barker +Gary Church +Tim Carey-Smith +Markus Klinik +Anders +Seth Mason +James Hales +Heptite +Cheng Fang +Yongwei Wu +David Miani +Jeremy Hinegardner +Marco +Ingo Karkat +Zhang Shuhan +tpope +Ben Schmidt +David Fishburn +Erik Falor +JaGoTerr +Elias Pipping +mntnoe +Mark S. + + +Thanks to the following people for sending me new filetypes to support: + +The hackers The filetypes~ +Sam R verilog +Jonathan Derque context, plaintext and mail +Vigil fetchmail +Michael Brunner kconfig +Antono Vasiljev netdict +Melissa Reid omlet +Ilia N Ternovich quickfix +John O'Shea RTF, SVNcommitlog and vcscommit, SVNCommit +Anders occam +Mark Woodward csv +fREW gentoo-package-mask, + gentoo-package-keywords, + gentoo-package-use, and vo_base +Alexey verilog_systemverilog, systemverilog +Lizendir fstab +Michael Böhler autoit, autohotkey and docbk +Aaron Small cmake +Ramiro htmldjango and django +Stefano Zacchiroli debcontrol, debchangelog, mkd +Alex Tarkovsky ebuild and eclass +Jorge Rodrigues gams +Rainer Müller Objective C +Jason Mills Groovy, ps1 +Normandie Azucena vera +Florian Apolloner ldif +David Fishburn lookupfile +Niels Aan de Brugh rst +Don Hatlestad ahk +Christophe Benz Desktop and xsd +Eyolf Østrem lilypond, bbx and lytex +Ingo Karkat dosbatch +Nicolas Weber markdown, objcpp +tinoucas gentoo-conf-d +Greg Weber D, haml +Bruce Sherrod velocity +timberke cobol, calibre +Aaron Schaefer factor +Mr X asterisk, mplayerconf +Kuchma Michael plsql +Brett Warneke spectre +Pipp lhaskell +Renald Buter scala +Vladimir Lomov asymptote +Marco mrxvtrc, aap +nicothakis SVNAnnotate, CVSAnnotate, SVKAnnotate, + SVNdiff, gitAnnotate, gitdiff, dtrace + llvm, applescript +Chen Xing Wikipedia +Jacobo Diaz dakota, patran +Li Jin gentoo-env-d, gentoo-init-d, + gentoo-make-conf, grub, modconf, sudoers +SpookeyPeanut rib +Greg Jandl pyrex/cython +Christophe Benz services, gitcommit +A Pontus vimperator +Stromnov slice, bzr +Martin Kustermann pamconf +Indriði Einarsson mason +Chris map +Krzysztof A. Adamski group +Pascal Brueckner mailcap +Jerónimo Carballo stata +Phillip Kovalev xquery +Bernhard Grotz potwiki +sgronblo man +François txt2tags +Giacomo Mariani SVNinfo +Matthew Lee Hinman newlisp, clojure +Elias Pipping automake +Edwin Benavides actionscript, processing +Thomas Rowe hostsaccess +Simon Ruderich asciidoc, git, gitcommit, gitrebase +Keitheis mako, genshi +David conkyrc +Miguel Jaque Barbero SVNannotate +Stefan Walk sieve +Adam Thorsen objj +Thilo Six dhcpd, limits, ntp, resolv, rgb, sysctl, + udevconf, udevrules +Andrey Skvortsov mp +Simon Hengel htmlcheetah +Matt Tolton javacc +Ivan Devat javascript.jquery +tpope cucumber,pdf +============================================================================== +9. License *NERDComLicense* + +The NERD commenter is released under the wtfpl. +See http://sam.zoy.org/wtfpl/COPYING. diff --git a/etc/vim/doc/tags b/etc/vim/doc/tags new file mode 100644 index 00000000..0c92c9c4 --- /dev/null +++ b/etc/vim/doc/tags @@ -0,0 +1,63 @@ +'NERDAllowAnyVisualDelims' NERD_commenter.txt /*'NERDAllowAnyVisualDelims'* +'NERDBlockComIgnoreEmpty' NERD_commenter.txt /*'NERDBlockComIgnoreEmpty'* +'NERDCommentWholeLinesInVMode' NERD_commenter.txt /*'NERDCommentWholeLinesInVMode'* +'NERDCompactSexyComs' NERD_commenter.txt /*'NERDCompactSexyComs'* +'NERDCreateDefaultMappings' NERD_commenter.txt /*'NERDCreateDefaultMappings'* +'NERDDefaultNesting' NERD_commenter.txt /*'NERDDefaultNesting'* +'NERDLPlace' NERD_commenter.txt /*'NERDLPlace'* +'NERDMenuMode' NERD_commenter.txt /*'NERDMenuMode'* +'NERDRPlace' NERD_commenter.txt /*'NERDRPlace'* +'NERDRemoveAltComs' NERD_commenter.txt /*'NERDRemoveAltComs'* +'NERDRemoveExtraSpaces' NERD_commenter.txt /*'NERDRemoveExtraSpaces'* +'NERDSpaceDelims' NERD_commenter.txt /*'NERDSpaceDelims'* +'NERDUsePlaceHolders' NERD_commenter.txt /*'NERDUsePlaceHolders'* +'loaded_nerd_comments' NERD_commenter.txt /*'loaded_nerd_comments'* +NERDComAbout NERD_commenter.txt /*NERDComAbout* +NERDComAlignedComment NERD_commenter.txt /*NERDComAlignedComment* +NERDComAltDelim NERD_commenter.txt /*NERDComAltDelim* +NERDComAppendComment NERD_commenter.txt /*NERDComAppendComment* +NERDComChangelog NERD_commenter.txt /*NERDComChangelog* +NERDComComment NERD_commenter.txt /*NERDComComment* +NERDComCredits NERD_commenter.txt /*NERDComCredits* +NERDComDefaultDelims NERD_commenter.txt /*NERDComDefaultDelims* +NERDComEOLComment NERD_commenter.txt /*NERDComEOLComment* +NERDComFiletypes NERD_commenter.txt /*NERDComFiletypes* +NERDComFunctionality NERD_commenter.txt /*NERDComFunctionality* +NERDComFunctionalityDetails NERD_commenter.txt /*NERDComFunctionalityDetails* +NERDComFunctionalitySummary NERD_commenter.txt /*NERDComFunctionalitySummary* +NERDComHeuristics NERD_commenter.txt /*NERDComHeuristics* +NERDComInsertComment NERD_commenter.txt /*NERDComInsertComment* +NERDComInvertComment NERD_commenter.txt /*NERDComInvertComment* +NERDComIssues NERD_commenter.txt /*NERDComIssues* +NERDComLicense NERD_commenter.txt /*NERDComLicense* +NERDComMappings NERD_commenter.txt /*NERDComMappings* +NERDComMinimalComment NERD_commenter.txt /*NERDComMinimalComment* +NERDComNERDComment NERD_commenter.txt /*NERDComNERDComment* +NERDComNestedComment NERD_commenter.txt /*NERDComNestedComment* +NERDComNesting NERD_commenter.txt /*NERDComNesting* +NERDComOptions NERD_commenter.txt /*NERDComOptions* +NERDComOptionsDetails NERD_commenter.txt /*NERDComOptionsDetails* +NERDComOptionsSummary NERD_commenter.txt /*NERDComOptionsSummary* +NERDComSexyComment NERD_commenter.txt /*NERDComSexyComment* +NERDComSexyComments NERD_commenter.txt /*NERDComSexyComments* +NERDComToggleComment NERD_commenter.txt /*NERDComToggleComment* +NERDComUncommentLine NERD_commenter.txt /*NERDComUncommentLine* +NERDComYankComment NERD_commenter.txt /*NERDComYankComment* +NERDCommenter NERD_commenter.txt /*NERDCommenter* +NERDCommenterContents NERD_commenter.txt /*NERDCommenterContents* +NERD_commenter.txt NERD_commenter.txt /*NERD_commenter.txt* +int/ NERD_commenter.txt /*int\/* +vimplate vimplate.txt /*vimplate* +vimplate-contents vimplate.txt /*vimplate-contents* +vimplate-description vimplate.txt /*vimplate-description* +vimplate-documentation vimplate.txt /*vimplate-documentation* +vimplate-example vimplate.txt /*vimplate-example* +vimplate-installation vimplate.txt /*vimplate-installation* +vimplate-requirements vimplate.txt /*vimplate-requirements* +vimplate-subroutines vimplate.txt /*vimplate-subroutines* +vimplate-usage vimplate.txt /*vimplate-usage* +xml-plugin-callbacks xml-plugin.txt /*xml-plugin-callbacks* +xml-plugin-html xml-plugin.txt /*xml-plugin-html* +xml-plugin-mappings xml-plugin.txt /*xml-plugin-mappings* +xml-plugin-settings xml-plugin.txt /*xml-plugin-settings* +xml-plugin.txt xml-plugin.txt /*xml-plugin.txt* diff --git a/etc/vim/doc/vimplate.txt b/etc/vim/doc/vimplate.txt new file mode 100644 index 00000000..4fcd7216 --- /dev/null +++ b/etc/vim/doc/vimplate.txt @@ -0,0 +1,350 @@ +*vimplate* vimplate - vim template (example for C++, Perl, LaTeX and make) + +Author: Urs Stotz +Last change: 2005 August 20 + +============================================================================== +1. Contents *vimplate-contents* +=========== + 1. Contents.................: |vimplate-contents| + 2. Description..............: |vimplate-description| + 3. Usage....................: |vimplate-usage| + 4. Subroutines..............: |vimplate-subroutines| + 5. Example..................: |vimplate-example| + 6. Requirements.............: |vimplate-requirements| + 7. Documentation............: |vimplate-documentation| + +============================================================================== +2. Description *vimplate-description* +============== +Vimplate provides an extensible and powerful template processing system. +It is based on Perl and Template-Toolkit. +You can create templates for program code, makefiles, letters, html pages, +latex etc. As example vimplate contains templates for C++, LaTeX, Perl +and Makefile. +With vimplate you can write templates which interact with the user. +For themes are the functions choice() and input(). +You can choose different locale for the function date() and locale(). +You can write your own perl code directly in the templates. + +In case you find my template useful, +or have suggestions for improvements, please let me know. + +If you write a new template, +and would like me to add it to the vimplate package +please send it to: stotz@gmx.ch + +============================================================================== +3. Usage *vimplate-usage* +======== +Usage: + :Vimplate