Commits

Chris Wesseling  committed fcb6adc

Add vim

  • Participants

Comments (0)

Files changed (29)

File vim/.netrwhist

+let g:netrw_dirhistmax  =10
+let g:netrw_dirhist_cnt =0

File vim/README.rst

+pyflakes-vim
+============
+
+A Vim plugin for checking Python code on the fly.
+
+PyFlakes catches common Python errors like mistyping a variable name or
+accessing a local before it is bound, and also gives warnings for things like
+unused imports.
+
+pyflakes-vim uses the output from PyFlakes to highlight errors in your code.
+To locate errors quickly, use quickfix_ commands like :cc.
+
+Make sure to check vim.org_ for the latest updates.
+
+.. _pyflakes.vim: http://www.vim.org/scripts/script.php?script_id=2441
+.. _vim.org: http://www.vim.org/scripts/script.php?script_id=2441
+.. _quickfix: http://vimdoc.sourceforge.net/htmldoc/quickfix.html#quickfix
+
+Quick Installation
+------------------
+
+1. Make sure your ``.vimrc`` has::
+ 
+    filetype on            " enables filetype detection
+    filetype plugin on     " enables filetype specific plugins
+
+2. Download the latest release_.
+
+3. If you're using pathogen_, unzip the contents of ``pyflakes-vim.zip`` into
+   its own bundle directory, i.e. into ``~/.vim/bundle/pyflakes-vim/``.
+
+   Otherwise unzip ``pyflakes.vim`` and the ``pyflakes`` directory into
+   ``~/.vim/ftplugin/python`` (or somewhere similar on your
+   `runtime path`_ that will be sourced for Python files).
+
+.. _release: http://www.vim.org/scripts/script.php?script_id=2441
+.. _pathogen: http://www.vim.org/scripts/script.php?script_id=2332
+.. _runtime path: http://vimdoc.sourceforge.net/htmldoc/options.html#'runtimepath' 
+
+Running from source
+-------------------
+
+If you're running pyflakes-vim "from source," you'll need the PyFlakes library
+on your PYTHONPATH somewhere.  (It is included in the vim.org zipfile.) I recommend
+getting my PyFlakes_ fork, which retains column number information, giving more
+specific error locations.
+
+.. _vim.org: http://www.vim.org/scripts/script.php?script_id=2441
+.. _PyFlakes: http://github.com/kevinw/pyflakes
+
+Hacking
+-------
+
+::
+
+  git clone git://github.com/kevinw/pyflakes-vim.git
+  cd pyflakes-vim
+  git clone git://github.com/kevinw/pyflakes.git
+
+Options
+-------
+
+Set this option to you vimrc file to disable quickfix support::
+    
+    let g:pyflakes_use_quickfix = 0
+
+The value is set to 1 by default.
+
+TODO
+----
+ * signs_ support (show warning and error icons to left of the buffer area)
+ * configuration variables
+ * parse or intercept useful output from the warnings module
+
+.. _signs: http://www.vim.org/htmldoc/sign.html
+
+Changelog
+---------
+
+Please see http://www.vim.org/scripts/script.php?script_id=2441 for a history of
+all changes.
+

File vim/autoload/pathogen.vim

+" pathogen.vim - path option manipulation
+" Maintainer:   Tim Pope <vimNOSPAM@tpope.org>
+" Version:      1.3
+
+" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
+"
+" For management of individually installed plugins in ~/.vim/bundle
+" (or $HOME/vimfiles/bundle), adding 'call pathogen#infect()' to your
+" .vimrc prior to 'fileype plugin indent on' is the only other setup necessary.
+"
+" API is documented below.
+
+if exists("g:loaded_pathogen") || &cp
+  finish
+endif
+let g:loaded_pathogen = 1
+
+" Point of entry for basic default usage.
+function! pathogen#infect(...) abort " {{{1
+  let source_path = a:0 ? a:1 : 'bundle'
+  call pathogen#runtime_append_all_bundles(source_path)
+  call pathogen#cycle_filetype()
+endfunction " }}}1
+
+" Split a path into a list.
+function! pathogen#split(path) abort " {{{1
+  if type(a:path) == type([]) | return a:path | endif
+  let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
+  return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
+endfunction " }}}1
+
+" Convert a list to a path.
+function! pathogen#join(...) abort " {{{1
+  if type(a:1) == type(1) && a:1
+    let i = 1
+    let space = ' '
+  else
+    let i = 0
+    let space = ''
+  endif
+  let path = ""
+  while i < a:0
+    if type(a:000[i]) == type([])
+      let list = a:000[i]
+      let j = 0
+      while j < len(list)
+        let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
+        let path .= ',' . escaped
+        let j += 1
+      endwhile
+    else
+      let path .= "," . a:000[i]
+    endif
+    let i += 1
+  endwhile
+  return substitute(path,'^,','','')
+endfunction " }}}1
+
+" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
+function! pathogen#legacyjoin(...) abort " {{{1
+  return call('pathogen#join',[1] + a:000)
+endfunction " }}}1
+
+" Remove duplicates from a list.
+function! pathogen#uniq(list) abort " {{{1
+  let i = 0
+  let seen = {}
+  while i < len(a:list)
+    if has_key(seen,a:list[i])
+      call remove(a:list,i)
+    else
+      let seen[a:list[i]] = 1
+      let i += 1
+    endif
+  endwhile
+  return a:list
+endfunction " }}}1
+
+" \ on Windows unless shellslash is set, / everywhere else.
+function! pathogen#separator() abort " {{{1
+  return !exists("+shellslash") || &shellslash ? '/' : '\'
+endfunction " }}}1
+
+" Convenience wrapper around glob() which returns a list.
+function! pathogen#glob(pattern) abort " {{{1
+  let files = split(glob(a:pattern),"\n")
+  return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
+endfunction "}}}1
+
+" Like pathogen#glob(), only limit the results to directories.
+function! pathogen#glob_directories(pattern) abort " {{{1
+  return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
+endfunction "}}}1
+
+" Turn filetype detection off and back on again if it was already enabled.
+function! pathogen#cycle_filetype() " {{{1
+  if exists('g:did_load_filetypes')
+    filetype off
+    filetype on
+  endif
+endfunction " }}}1
+
+" Checks if a bundle is 'disabled'. A bundle is considered 'disabled' if
+" its 'basename()' is included in g:pathogen_disabled[]'.
+function! pathogen#is_disabled(path) " {{{1
+  if !exists("g:pathogen_disabled")
+    return 0
+  endif
+  let sep = pathogen#separator()
+  return index(g:pathogen_disabled, strpart(a:path, strridx(a:path, sep)+1)) != -1
+endfunction "}}}1
+
+" Prepend all subdirectories of path to the rtp, and append all 'after'
+" directories in those subdirectories.
+function! pathogen#runtime_prepend_subdirectories(path) " {{{1
+  let sep    = pathogen#separator()
+  let before = filter(pathogen#glob_directories(a:path.sep."*[^~]"), '!pathogen#is_disabled(v:val)')
+  let after  = filter(pathogen#glob_directories(a:path.sep."*[^~]".sep."after"), '!pathogen#is_disabled(v:val[0:-7])')
+  let rtp = pathogen#split(&rtp)
+  let path = expand(a:path)
+  call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
+  let &rtp = pathogen#join(pathogen#uniq(before + rtp + after))
+  return &rtp
+endfunction " }}}1
+
+" For each directory in rtp, check for a subdirectory named dir.  If it
+" exists, add all subdirectories of that subdirectory to the rtp, immediately
+" after the original directory.  If no argument is given, 'bundle' is used.
+" Repeated calls with the same arguments are ignored.
+function! pathogen#runtime_append_all_bundles(...) " {{{1
+  let sep = pathogen#separator()
+  let name = a:0 ? a:1 : 'bundle'
+  if "\n".s:done_bundles =~# "\\M\n".name."\n"
+    return ""
+  endif
+  let s:done_bundles .= name . "\n"
+  let list = []
+  for dir in pathogen#split(&rtp)
+    if dir =~# '\<after$'
+      let list +=  filter(pathogen#glob_directories(substitute(dir,'after$',name,'').sep.'*[^~]'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir]
+    else
+      let list +=  [dir] + filter(pathogen#glob_directories(dir.sep.name.sep.'*[^~]'), '!pathogen#is_disabled(v:val)')
+    endif
+  endfor
+  let &rtp = pathogen#join(pathogen#uniq(list))
+  return 1
+endfunction
+
+let s:done_bundles = ''
+" }}}1
+
+" Invoke :helptags on all non-$VIM doc directories in runtimepath.
+function! pathogen#helptags() " {{{1
+  for dir in pathogen#split(&rtp)
+    if dir[0 : strlen($VIMRUNTIME)-1] !=# $VIMRUNTIME && filewritable(dir.'/doc') == 2 && !empty(glob(dir.'/doc/*')) && (!filereadable(dir.'/doc/tags') || filewritable(dir.'/doc/tags'))
+      helptags `=dir.'/doc'`
+    endif
+  endfor
+endfunction " }}}1
+
+command! -bar Helptags :call pathogen#helptags()
+
+" vim:set ft=vim ts=8 sw=2 sts=2:

File vim/colors/peaksea.vim

+" Vim color file --- psc (peak sea color) "Lite version"
+" Maintainer:	Pan, Shi Zhu <Go to the following URL for my email>
+" URL:		http://vim.sourceforge.net/scripts/script.php?script_id=760
+" Last Change:	5 Feb 2010
+" Version:	3.4
+"
+"	Comments and e-mails are welcomed, thanks.
+"
+"	The peaksea color is simply a colorscheme with the default settings of
+"	the original ps_color. Lite version means there's no custom settings
+"	and fancy features such as integration with reloaded.vim 
+"
+"	The full version of ps_color.vim will be maintained until Vim 8.
+"	By then there will be only the lite version: peaksea.vim
+"
+" Note: Please set the background option in your .vimrc and/or .gvimrc
+"
+"	It is much better *not* to set 'background' option inside
+"	a colorscheme file.  because ":set background" improperly
+"	may cause colorscheme be sourced twice
+"
+" Color Scheme Overview: 
+"	:ru syntax/hitest.vim
+"
+" Relevant Help: 
+"	:h highlight-groups
+"	:h psc-cterm-color-table
+"
+" Colors Order:
+"	#rrggbb
+"
+
+hi clear
+
+if exists("syntax_on")
+  syntax reset
+endif
+
+let g:colors_name = expand("<sfile>:t:r")
+
+" I don't want to abuse folding, but here folding is used to avoid confusion. 
+if &background=='light' 
+  " for background=light {{{2
+  " LIGHT COLOR DEFINE START
+
+  hi Normal		guifg=#000000	guibg=#e0e0e0	gui=NONE
+  hi Search		guifg=NONE	guibg=#f8f8f8	gui=NONE
+  hi Visual		guifg=NONE	guibg=#a6caf0	gui=NONE
+  hi Cursor		guifg=#f0f0f0	guibg=#008000	gui=NONE
+  " The idea of CursorIM is pretty good, however, the feature is still buggy
+  " in the current version (Vim 7.0).
+  " The following line will be kept commented until the bug fixed.
+  "
+  " hi CursorIM		guifg=#f0f0f0	guibg=#800080
+  hi Special		guifg=#907000	guibg=NONE	gui=NONE
+  hi Comment		guifg=#606000	guibg=NONE	gui=NONE
+  hi Number		guifg=#907000	guibg=NONE	gui=NONE
+  hi Constant		guifg=#007068	guibg=NONE	gui=NONE
+  hi StatusLine		guifg=fg	guibg=#a6caf0	gui=NONE
+  hi LineNr		guifg=#686868	guibg=NONE	gui=NONE
+  hi Question		guifg=fg	guibg=#d0d090	gui=NONE
+  hi PreProc		guifg=#009030	guibg=NONE	gui=NONE
+  hi Statement		guifg=#2060a8	guibg=NONE	gui=NONE
+  hi Type		guifg=#0850a0	guibg=NONE	gui=NONE
+  hi Todo		guifg=#800000	guibg=#e0e090	gui=NONE
+  " NOTE THIS IS IN THE WARM SECTION
+  hi Error		guifg=#c03000	guibg=NONE	gui=NONE
+  hi Identifier		guifg=#a030a0	guibg=NONE	gui=NONE
+  hi ModeMsg		guifg=fg	guibg=#b0b0e0	gui=NONE
+  hi VisualNOS		guifg=fg	guibg=#b0b0e0	gui=NONE
+  hi SpecialKey		guifg=#1050a0	guibg=NONE	gui=NONE
+  hi NonText		guifg=#002090	guibg=#d0d0d0	gui=NONE
+  hi Directory		guifg=#a030a0	guibg=NONE	gui=NONE
+  hi ErrorMsg		guifg=fg	guibg=#f0b090	gui=NONE
+  hi MoreMsg		guifg=#489000	guibg=NONE	gui=NONE
+  hi Title		guifg=#a030a0	guibg=NONE	gui=NONE
+  hi WarningMsg		guifg=#b02000	guibg=NONE	gui=NONE
+  hi WildMenu		guifg=fg	guibg=#d0d090	gui=NONE
+  hi Folded		guifg=NONE	guibg=#b0e0b0	gui=NONE
+  hi FoldColumn		guifg=fg	guibg=#90e090	gui=NONE
+  hi DiffAdd		guifg=NONE	guibg=#b0b0e0	gui=NONE
+  hi DiffChange		guifg=NONE	guibg=#e0b0e0	gui=NONE
+  hi DiffDelete		guifg=#002090	guibg=#d0d0d0	gui=NONE
+  hi DiffText		guifg=NONE	guibg=#c0e080	gui=NONE
+  hi SignColumn		guifg=fg	guibg=#90e090	gui=NONE
+
+  hi IncSearch		guifg=#f0f0f0	guibg=#806060	gui=NONE
+  hi StatusLineNC	guifg=fg	guibg=#c0c0c0	gui=NONE
+  hi VertSplit		guifg=fg	guibg=#c0c0c0	gui=NONE
+  hi Underlined		guifg=#6a5acd	guibg=NONE	gui=underline
+  hi Ignore		guifg=bg	guibg=NONE
+  " NOTE THIS IS IN THE WARM SECTION
+  if v:version >= 700
+    if has('spell')
+      hi SpellBad	guifg=NONE	guibg=NONE	guisp=#c03000
+      hi SpellCap	guifg=NONE	guibg=NONE	guisp=#2060a8
+      hi SpellRare	guifg=NONE	guibg=NONE	guisp=#a030a0
+      hi SpellLocal	guifg=NONE	guibg=NONE	guisp=#007068
+    endif
+    hi Pmenu		guifg=fg	guibg=#e0b0e0
+    hi PmenuSel		guifg=#f0f0f0	guibg=#806060	gui=NONE
+    hi PmenuSbar	guifg=fg	guibg=#c0c0c0	gui=NONE
+    hi PmenuThumb	guifg=fg	guibg=#c0e080	gui=NONE
+    hi TabLine		guifg=fg	guibg=#c0c0c0	gui=NONE
+    hi TabLineFill	guifg=fg	guibg=#c0c0c0	gui=NONE
+    hi TabLineSel	guifg=fg	guibg=NONE	gui=NONE
+    hi CursorColumn	guifg=NONE	guibg=#f0b090
+    hi CursorLine	guifg=NONE	guibg=NONE	gui=underline
+    hi MatchParen	guifg=NONE	guibg=#c0e080
+  endif
+
+  " LIGHT COLOR DEFINE END
+
+  " Vim 7 added stuffs
+  if v:version >= 700
+    hi Ignore		gui=NONE
+
+    " the gui=undercurl guisp could only support in Vim 7
+    if has('spell')
+      hi SpellBad	gui=undercurl
+      hi SpellCap	gui=undercurl
+      hi SpellRare	gui=undercurl
+      hi SpellLocal	gui=undercurl
+    endif
+    hi TabLine		gui=underline
+    hi TabLineFill	gui=underline
+    hi CursorLine	gui=underline
+  endif
+
+  " For reversed stuffs, clear the reversed prop and set the bold prop again
+  hi IncSearch		gui=bold
+  hi StatusLine		gui=bold
+  hi StatusLineNC	gui=bold
+  hi VertSplit		gui=bold
+  hi Visual		gui=bold
+
+  " Enable the bold property
+  hi Question		gui=bold
+  hi DiffText		gui=bold
+  hi Statement		gui=bold
+  hi Type		gui=bold
+  hi MoreMsg		gui=bold
+  hi ModeMsg		gui=bold
+  hi NonText		gui=bold
+  hi Title		gui=bold
+  hi DiffDelete		gui=bold
+  hi TabLineSel		gui=bold
+
+  " gui define for background=light end here
+
+  " generally, a dumb terminal is dark, we assume the light terminal has 256
+  " color support.
+  if &t_Co==8 || &t_Co==16
+    set t_Co=256
+  endif
+  if &t_Co==256
+    " 256color light terminal support here
+
+    hi Normal		ctermfg=16	ctermbg=254	cterm=NONE
+    " Comment/Uncomment the following line to disable/enable transparency
+    "hi Normal		ctermfg=16	ctermbg=NONE	cterm=NONE
+    hi Search		ctermfg=NONE	ctermbg=231	cterm=NONE
+    hi Visual		ctermfg=NONE	ctermbg=153	cterm=NONE
+    hi Cursor		ctermfg=255	ctermbg=28	cterm=NONE
+    " hi CursorIM	ctermfg=255	ctermbg=90
+    hi Special		ctermfg=94	ctermbg=NONE	cterm=NONE
+    hi Comment		ctermfg=58	ctermbg=NONE	cterm=NONE
+    hi Number		ctermfg=94	ctermbg=NONE	cterm=NONE
+    hi Constant		ctermfg=23	ctermbg=NONE	cterm=NONE
+    hi StatusLine	ctermfg=fg	ctermbg=153	cterm=NONE
+    hi LineNr		ctermfg=242	ctermbg=NONE	cterm=NONE
+    hi Question		ctermfg=fg	ctermbg=186	cterm=NONE
+    hi PreProc		ctermfg=29	ctermbg=NONE	cterm=NONE
+    hi Statement	ctermfg=25	ctermbg=NONE	cterm=NONE
+    hi Type		ctermfg=25	ctermbg=NONE	cterm=NONE
+    hi Todo		ctermfg=88	ctermbg=186	cterm=NONE
+    " NOTE THIS IS IN THE WARM SECTION
+    hi Error		ctermfg=130	ctermbg=NONE	cterm=NONE
+    hi Identifier	ctermfg=133	ctermbg=NONE	cterm=NONE
+    hi ModeMsg		ctermfg=fg	ctermbg=146	cterm=NONE
+    hi VisualNOS	ctermfg=fg	ctermbg=146	cterm=NONE
+    hi SpecialKey	ctermfg=25	ctermbg=NONE	cterm=NONE
+    hi NonText		ctermfg=18	ctermbg=252	cterm=NONE
+    " Comment/Uncomment the following line to disable/enable transparency
+    "hi NonText		ctermfg=18	ctermbg=NONE	cterm=NONE
+    hi Directory	ctermfg=133	ctermbg=NONE	cterm=NONE
+    hi ErrorMsg		ctermfg=fg	ctermbg=216	cterm=NONE
+    hi MoreMsg		ctermfg=64	ctermbg=NONE	cterm=NONE
+    hi Title		ctermfg=133	ctermbg=NONE	cterm=NONE
+    hi WarningMsg	ctermfg=124	ctermbg=NONE	cterm=NONE
+    hi WildMenu		ctermfg=fg	ctermbg=186	cterm=NONE
+    hi Folded		ctermfg=NONE	ctermbg=151	cterm=NONE
+    hi FoldColumn	ctermfg=fg	ctermbg=114	cterm=NONE
+    hi DiffAdd		ctermfg=NONE	ctermbg=146	cterm=NONE
+    hi DiffChange	ctermfg=NONE	ctermbg=182	cterm=NONE
+    hi DiffDelete	ctermfg=18	ctermbg=252	cterm=NONE
+    hi DiffText		ctermfg=NONE	ctermbg=150	cterm=NONE
+    hi SignColumn	ctermfg=fg	ctermbg=114	cterm=NONE
+
+    hi IncSearch	ctermfg=255	ctermbg=95	cterm=NONE
+    hi StatusLineNC	ctermfg=fg	ctermbg=250	cterm=NONE
+    hi VertSplit	ctermfg=fg	ctermbg=250	cterm=NONE
+    hi Underlined	ctermfg=62	ctermbg=NONE	cterm=underline
+    hi Ignore		ctermfg=bg	ctermbg=NONE
+    " NOTE THIS IS IN THE WARM SECTION
+    if v:version >= 700
+      if has('spell')
+        if 0
+          " ctermsp is not supported in Vim7, we ignore it.
+          hi SpellBad	cterm=undercurl	ctermbg=NONE	ctermfg=130
+          hi SpellCap	cterm=undercurl	ctermbg=NONE	ctermfg=25
+          hi SpellRare	cterm=undercurl	ctermbg=NONE	ctermfg=133
+          hi SpellLocal	cterm=undercurl	ctermbg=NONE	ctermfg=23
+        else
+          hi SpellBad	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+          hi SpellCap	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+          hi SpellRare	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+          hi SpellLocal	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+        endif
+      endif
+      hi Pmenu		ctermfg=fg	ctermbg=182
+      hi PmenuSel	ctermfg=255	ctermbg=95	cterm=NONE
+      hi PmenuSbar	ctermfg=fg	ctermbg=250	cterm=NONE
+      hi PmenuThumb	ctermfg=fg	ctermbg=150	cterm=NONE
+      hi TabLine	ctermfg=fg	ctermbg=250	cterm=NONE
+      hi TabLineFill	ctermfg=fg	ctermbg=250	cterm=NONE
+      hi TabLineSel	ctermfg=fg	ctermbg=NONE	cterm=NONE
+      hi CursorColumn	ctermfg=NONE	ctermbg=216
+      hi CursorLine	ctermfg=NONE	ctermbg=NONE	cterm=underline
+      hi MatchParen	ctermfg=NONE	ctermbg=150
+    endif
+
+    hi TabLine		cterm=underline
+    hi TabLineFill	cterm=underline
+    hi CursorLine	cterm=underline
+
+    " For reversed stuffs, clear the reversed prop and set the bold prop again
+    hi IncSearch	cterm=bold
+    hi StatusLine	cterm=bold
+    hi StatusLineNC	cterm=bold
+    hi VertSplit	cterm=bold
+    hi Visual		cterm=bold
+
+    hi NonText		cterm=bold
+    hi Question		cterm=bold
+    hi Title		cterm=bold
+    hi DiffDelete	cterm=bold
+    hi DiffText		cterm=bold
+    hi Statement	cterm=bold
+    hi Type		cterm=bold
+    hi MoreMsg		cterm=bold
+    hi ModeMsg		cterm=bold
+    hi TabLineSel	cterm=bold
+
+    "hi lCursor		ctermfg=bg	ctermbg=fg	cterm=NONE
+  endif " t_Co==256
+  " }}}2
+elseif &background=='dark' 
+  " for background=dark {{{2
+  " DARK COLOR DEFINE START
+
+  hi Normal		guifg=#d0d0d0	guibg=#202020	gui=NONE
+  hi Comment		guifg=#d0d090	guibg=NONE	gui=NONE
+  hi Constant		guifg=#80c0e0	guibg=NONE	gui=NONE
+  hi Number		guifg=#e0c060	guibg=NONE	gui=NONE
+  hi Identifier		guifg=#f0c0f0	guibg=NONE	gui=NONE
+  hi Statement		guifg=#c0d8f8	guibg=NONE	gui=NONE
+  hi PreProc		guifg=#60f080	guibg=NONE	gui=NONE
+  hi Type		guifg=#b0d0f0	guibg=NONE	gui=NONE
+  hi Special		guifg=#e0c060	guibg=NONE	gui=NONE
+  hi Error		guifg=#f08060	guibg=NONE	gui=NONE
+  hi Todo		guifg=#800000	guibg=#d0d090	gui=NONE
+  hi Search		guifg=NONE	guibg=#800000	gui=NONE
+  hi Visual		guifg=#000000	guibg=#a6caf0	gui=NONE
+  hi Cursor		guifg=#000000	guibg=#00f000	gui=NONE
+  " NOTE THIS IS IN THE COOL SECTION
+  " hi CursorIM		guifg=#000000	guibg=#f000f0	gui=NONE
+  hi StatusLine		guifg=#000000	guibg=#a6caf0	gui=NONE
+  hi LineNr		guifg=#b0b0b0	guibg=NONE	gui=NONE
+  hi Question		guifg=#000000	guibg=#d0d090	gui=NONE
+  hi ModeMsg		guifg=fg	guibg=#000080	gui=NONE
+  hi VisualNOS		guifg=fg	guibg=#000080	gui=NONE
+  hi SpecialKey		guifg=#b0d0f0	guibg=NONE	gui=NONE
+  hi NonText		guifg=#6080f0	guibg=#101010	gui=NONE
+  hi Directory		guifg=#80c0e0	guibg=NONE	gui=NONE
+  hi ErrorMsg		guifg=#d0d090	guibg=#800000	gui=NONE
+  hi MoreMsg		guifg=#c0e080	guibg=NONE	gui=NONE
+  hi Title		guifg=#f0c0f0	guibg=NONE	gui=NONE
+  hi WarningMsg		guifg=#f08060	guibg=NONE	gui=NONE
+  hi WildMenu		guifg=#000000	guibg=#d0d090	gui=NONE
+  hi Folded		guifg=NONE	guibg=#004000	gui=NONE
+  hi FoldColumn		guifg=#e0e0e0	guibg=#008000	gui=NONE
+  hi DiffAdd		guifg=NONE	guibg=#000080	gui=NONE
+  hi DiffChange		guifg=NONE	guibg=#800080	gui=NONE
+  hi DiffDelete		guifg=#6080f0	guibg=#202020	gui=NONE
+  hi DiffText		guifg=#000000	guibg=#c0e080	gui=NONE
+  hi SignColumn		guifg=#e0e0e0	guibg=#008000	gui=NONE
+  hi IncSearch		guifg=#000000	guibg=#d0d0d0	gui=NONE
+  hi StatusLineNC	guifg=#000000	guibg=#c0c0c0	gui=NONE
+  hi VertSplit		guifg=#000000	guibg=#c0c0c0	gui=NONE
+  hi Underlined		guifg=#80a0ff	guibg=NONE	gui=underline 
+  hi Ignore		guifg=#000000	guibg=NONE
+  " NOTE THIS IS IN THE COOL SECTION
+  if v:version >= 700
+    if has('spell')
+    " the guisp= could only support in Vim 7
+      hi SpellBad	guifg=NONE	guibg=NONE	guisp=#f08060
+      hi SpellCap	guifg=NONE	guibg=NONE	guisp=#6080f0
+      hi SpellRare	guifg=NONE	guibg=NONE	guisp=#f0c0f0
+      hi SpellLocal	guifg=NONE	guibg=NONE	guisp=#c0d8f8
+    endif
+    hi Pmenu		guifg=fg	guibg=#800080
+    hi PmenuSel		guifg=#000000	guibg=#d0d0d0	gui=NONE
+    hi PmenuSbar	guifg=fg	guibg=#000080	gui=NONE
+    hi PmenuThumb	guifg=fg	guibg=#008000	gui=NONE
+    hi TabLine		guifg=fg	guibg=#008000	gui=NONE
+    hi TabLineFill	guifg=fg	guibg=#008000	gui=NONE
+    hi TabLineSel	guifg=fg	guibg=NONE	gui=NONE
+    hi CursorColumn	guifg=NONE	guibg=#800000	gui=NONE
+    hi CursorLine	guifg=NONE	guibg=NONE	gui=underline
+    hi MatchParen	guifg=NONE	guibg=#800080
+  endif
+
+  " DARK COLOR DEFINE END
+
+  " Vim 7 added stuffs
+  if v:version >= 700
+    hi Ignore	gui=NONE  
+
+    " the gui=undercurl could only support in Vim 7
+    if has('spell')
+      hi SpellBad	gui=undercurl  
+      hi SpellCap	gui=undercurl  
+      hi SpellRare	gui=undercurl  
+      hi SpellLocal	gui=undercurl 
+    endif
+    hi TabLine		gui=underline  
+    hi TabLineFill	gui=underline  
+    hi Underlined	gui=underline  
+    hi CursorLine	gui=underline 
+  endif
+
+  " gui define for background=dark end here
+
+  if &t_Co==8 || &t_Co==16
+    " for 8-color and 16-color term
+    hi Normal		ctermfg=LightGrey   ctermbg=Black
+    hi Special		ctermfg=Yellow	    ctermbg=bg
+    hi Comment		ctermfg=DarkYellow  ctermbg=bg
+    hi Constant		ctermfg=Blue	    ctermbg=bg
+    hi Number		ctermfg=Yellow	    ctermbg=bg
+    hi LineNr		ctermfg=DarkGrey    ctermbg=bg
+    hi PreProc		ctermfg=Green	    ctermbg=bg
+    hi Statement	ctermfg=Cyan	    ctermbg=bg
+    hi Type		ctermfg=Cyan	    ctermbg=bg
+    hi Error		ctermfg=Red	    ctermbg=bg
+    hi Identifier	ctermfg=Magenta     ctermbg=bg
+    hi SpecialKey	ctermfg=Cyan	    ctermbg=bg
+    hi NonText		ctermfg=Blue	    ctermbg=bg
+    hi Directory	ctermfg=Blue	    ctermbg=bg
+    hi MoreMsg		ctermfg=Green	    ctermbg=bg
+    hi Title		ctermfg=Magenta     ctermbg=bg
+    hi WarningMsg	ctermfg=Red	    ctermbg=bg
+    hi DiffDelete	ctermfg=Blue	    ctermbg=bg
+
+    hi Search		ctermfg=NONE	    ctermbg=DarkRed
+    hi Visual		ctermfg=Black	    ctermbg=DarkCyan
+    hi Cursor		ctermfg=Black	    ctermbg=Green
+    hi StatusLine	ctermfg=Black	    ctermbg=DarkCyan
+    hi Question		ctermfg=Black	    ctermbg=DarkYellow
+    hi Todo		ctermfg=DarkRed     ctermbg=DarkYellow
+    hi Folded		ctermfg=White	    ctermbg=DarkGreen
+    hi ModeMsg		ctermfg=Grey	    ctermbg=DarkBlue
+    hi VisualNOS	ctermfg=Grey	    ctermbg=DarkBlue
+    hi ErrorMsg		ctermfg=DarkYellow  ctermbg=DarkRed
+    hi WildMenu		ctermfg=Black	    ctermbg=DarkYellow
+    hi FoldColumn	ctermfg=White	    ctermbg=DarkGreen
+    hi SignColumn	ctermfg=White	    ctermbg=DarkGreen
+    hi DiffText		ctermfg=Black	    ctermbg=DarkYellow
+
+    if v:version >= 700
+      if has('spell')
+        hi SpellBad	ctermfg=NONE	ctermbg=DarkRed
+        hi SpellCap	ctermfg=NONE	ctermbg=DarkBlue
+        hi SpellRare	ctermfg=NONE	ctermbg=DarkMagenta
+        hi SpellLocal	ctermfg=NONE	ctermbg=DarkGreen
+      endif
+      hi Pmenu		ctermfg=fg	ctermbg=DarkMagenta
+      hi PmenuSel	ctermfg=Black	ctermbg=fg
+      hi PmenuSbar	ctermfg=fg	ctermbg=DarkBlue
+      hi PmenuThumb	ctermfg=fg	ctermbg=DarkGreen
+      hi TabLine	ctermfg=fg	ctermbg=DarkGreen	cterm=underline
+      hi TabLineFill	ctermfg=fg	ctermbg=DarkGreen	cterm=underline
+      hi CursorColumn	ctermfg=NONE	ctermbg=DarkRed
+
+      hi TabLineSel	ctermfg=fg	ctermbg=bg
+      hi CursorLine	ctermfg=NONE	ctermbg=bg		cterm=underline
+
+      hi MatchParen	ctermfg=NONE	ctermbg=DarkMagenta
+    endif
+    if &t_Co==8
+      " 8 colour terminal support, this assumes 16 colour is available through
+      " setting the 'bold' attribute, will get bright foreground colour.
+      " However, the bright background color is not available for 8-color terms.
+      "
+      " You can manually set t_Co=16 in your .vimrc to see if your terminal
+      " supports 16 colours, 
+      hi DiffText	cterm=none  
+      hi Visual		cterm=none  
+      hi Cursor		cterm=none  
+      hi Comment	cterm=none  
+      hi Todo		cterm=none  
+      hi StatusLine	cterm=none  
+      hi Question	cterm=none  
+      hi DiffChange	cterm=none  
+      hi ModeMsg	cterm=none  
+      hi VisualNOS	cterm=none  
+      hi ErrorMsg	cterm=none  
+      hi WildMenu	cterm=none  
+      hi DiffAdd	cterm=none  
+      hi Folded		cterm=none  
+      hi DiffDelete	cterm=none  
+      hi Normal		cterm=none  
+      hi PmenuThumb	cterm=none 
+      hi Search		cterm=bold  
+      hi Special	cterm=bold  
+      hi Constant	cterm=bold  
+      hi Number		cterm=bold  
+      hi LineNr		cterm=bold  
+      hi PreProc	cterm=bold  
+      hi Statement	cterm=bold  
+      hi Type		cterm=bold  
+      hi Error		cterm=bold  
+      hi Identifier	cterm=bold  
+      hi SpecialKey	cterm=bold  
+      hi NonText	cterm=bold  
+      hi MoreMsg	cterm=bold  
+      hi Title		cterm=bold  
+      hi WarningMsg	cterm=bold  
+      hi FoldColumn	cterm=bold  
+      hi SignColumn	cterm=bold  
+      hi Directory	cterm=bold  
+      hi DiffDelete	cterm=bold 
+    else
+      " Background > 7 is only available with 16 or more colors
+
+      hi WarningMsg	cterm=none  
+      hi Search		cterm=none  
+      hi Visual		cterm=none  
+      hi Cursor		cterm=none  
+      hi Special	cterm=none  
+      hi Comment	cterm=none  
+      hi Constant	cterm=none  
+      hi Number		cterm=none  
+      hi LineNr		cterm=none  
+      hi PreProc	cterm=none  
+      hi Todo		cterm=none  
+      hi Error		cterm=none  
+      hi Identifier	cterm=none  
+      hi Folded		cterm=none  
+      hi SpecialKey	cterm=none  
+      hi Directory	cterm=none  
+      hi ErrorMsg	cterm=none  
+      hi Normal		cterm=none  
+      hi PmenuThumb	cterm=none 
+      hi WildMenu	cterm=none  
+      hi FoldColumn	cterm=none  
+      hi SignColumn	cterm=none  
+      hi DiffAdd	cterm=none  
+      hi DiffChange	cterm=none  
+      hi Question	cterm=none  
+      hi StatusLine	cterm=none  
+      hi DiffText	cterm=none 
+      hi IncSearch	cterm=reverse  
+      hi StatusLineNC	cterm=reverse  
+      hi VertSplit	cterm=reverse 
+
+      " Well, well, bold font with color 0-7 is not possible.
+      " So, the Question, StatusLine, DiffText cannot act as expected.
+
+      hi Statement	cterm=none  
+      hi Type		cterm=none  
+      hi MoreMsg	cterm=none  
+      hi ModeMsg	cterm=none  
+      hi NonText	cterm=none  
+      hi Title		cterm=none  
+      hi VisualNOS	cterm=none  
+      hi DiffDelete	cterm=none  
+      hi TabLineSel	cterm=none 
+
+    endif
+  elseif &t_Co==256
+    " 256color dark terminal support here
+    hi Normal		ctermfg=252	ctermbg=234	cterm=NONE
+    " Comment/Uncomment the following line to disable/enable transparency
+    "hi Normal		ctermfg=252	ctermbg=NONE	cterm=NONE
+    hi Comment		ctermfg=186	ctermbg=NONE	cterm=NONE
+    hi Constant		ctermfg=110	ctermbg=NONE	cterm=NONE
+    hi Number		ctermfg=179	ctermbg=NONE	cterm=NONE
+    hi Identifier	ctermfg=219	ctermbg=NONE	cterm=NONE
+    hi Statement	ctermfg=153	ctermbg=NONE	cterm=NONE
+    hi PreProc		ctermfg=84	ctermbg=NONE	cterm=NONE
+    hi Type		ctermfg=153	ctermbg=NONE	cterm=NONE
+    hi Special		ctermfg=179	ctermbg=NONE	cterm=NONE
+    hi Error		ctermfg=209	ctermbg=NONE	cterm=NONE
+    hi Todo		ctermfg=88	ctermbg=186	cterm=NONE
+    hi Search		ctermfg=NONE	ctermbg=88	cterm=NONE
+    hi Visual		ctermfg=16	ctermbg=153	cterm=NONE
+    hi Cursor		ctermfg=16	ctermbg=46	cterm=NONE
+    " NOTE THIS IS IN THE COOL SECTION
+    " hi CursorIM	ctermfg=16	ctermbg=201	cterm=NONE
+    hi StatusLine	ctermfg=16	ctermbg=153	cterm=NONE
+    hi LineNr		ctermfg=249	ctermbg=NONE	cterm=NONE
+    hi Question		ctermfg=16	ctermbg=186	cterm=NONE
+    hi ModeMsg		ctermfg=fg	ctermbg=18	cterm=NONE
+    hi VisualNOS	ctermfg=fg	ctermbg=18	cterm=NONE
+    hi SpecialKey	ctermfg=153	ctermbg=NONE	cterm=NONE
+    hi NonText		ctermfg=69	ctermbg=233	cterm=NONE
+    " Comment/Uncomment the following line to disable/enable transparency
+    "hi NonText		ctermfg=69	ctermbg=NONE	cterm=NONE
+    hi Directory	ctermfg=110	ctermbg=NONE	cterm=NONE
+    hi ErrorMsg		ctermfg=186	ctermbg=88	cterm=NONE
+    hi MoreMsg		ctermfg=150	ctermbg=NONE	cterm=NONE
+    hi Title		ctermfg=219	ctermbg=NONE	cterm=NONE
+    hi WarningMsg	ctermfg=209	ctermbg=NONE	cterm=NONE
+    hi WildMenu		ctermfg=16	ctermbg=186	cterm=NONE
+    hi Folded		ctermfg=NONE	ctermbg=22	cterm=NONE
+    hi FoldColumn	ctermfg=254	ctermbg=28	cterm=NONE
+    hi DiffAdd		ctermfg=NONE	ctermbg=18	cterm=NONE
+    hi DiffChange	ctermfg=NONE	ctermbg=90	cterm=NONE
+    hi DiffDelete	ctermfg=69	ctermbg=234	cterm=NONE
+    hi DiffText		ctermfg=16	ctermbg=150	cterm=NONE
+    hi SignColumn	ctermfg=254	ctermbg=28	cterm=NONE
+    hi IncSearch	ctermfg=16	ctermbg=252	cterm=NONE
+    hi StatusLineNC	ctermfg=16	ctermbg=250	cterm=NONE
+    hi VertSplit	ctermfg=16	ctermbg=250	cterm=NONE
+    hi Underlined	ctermfg=111	ctermbg=NONE	cterm=underline 
+    hi Ignore		ctermfg=16	ctermbg=NONE
+    " NOTE THIS IS IN THE COOL SECTION
+    if v:version >= 700
+      if has('spell')
+        " the ctermsp= is not supported in Vim 7 we simply ignored
+        if 0
+          hi SpellBad	cterm=undercurl	ctermbg=NONE	ctermfg=209
+          hi SpellCap	cterm=undercurl	ctermbg=NONE	ctermfg=69
+          hi SpellRare	cterm=undercurl	ctermbg=NONE	ctermfg=219
+          hi SpellLocal	cterm=undercurl	ctermbg=NONE	ctermfg=153
+        else
+          hi SpellBad	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+          hi SpellCap	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+          hi SpellRare	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+          hi SpellLocal	cterm=undercurl	ctermbg=NONE	ctermfg=NONE
+        endif
+      endif
+      hi Pmenu		ctermfg=fg	ctermbg=90
+      hi PmenuSel	ctermfg=16	ctermbg=252	cterm=NONE
+      hi PmenuSbar	ctermfg=fg	ctermbg=18	cterm=NONE
+      hi PmenuThumb	ctermfg=fg	ctermbg=28	cterm=NONE
+      hi TabLine	ctermfg=fg	ctermbg=28	cterm=NONE
+      hi TabLineFill	ctermfg=fg	ctermbg=28	cterm=NONE
+      hi TabLineSel	ctermfg=fg	ctermbg=NONE	cterm=NONE
+      hi CursorColumn	ctermfg=NONE	ctermbg=88	cterm=NONE
+      hi CursorLine	ctermfg=NONE	ctermbg=NONE	cterm=underline
+      hi MatchParen	ctermfg=NONE	ctermbg=90
+      hi TabLine	cterm=underline  
+      hi TabLineFill	cterm=underline  
+      hi Underlined	cterm=underline  
+      hi CursorLine	cterm=underline 
+    endif
+
+  endif " t_Co
+
+  " }}}2
+endif
+
+" Links:
+"
+" COLOR LINKS DEFINE START
+
+hi link		String		Constant
+" Character must be different from strings because in many languages
+" (especially C, C++) a 'char' variable is scalar while 'string' is pointer,
+" mistaken a 'char' for a 'string' will cause disaster!
+hi link		Character	Number
+hi link		SpecialChar	LineNr
+hi link		Tag		Identifier
+hi link		cCppOut		LineNr
+" The following are not standard hi links, 
+" these are used by DrChip
+hi link		Warning		MoreMsg
+hi link		Notice		Constant
+" these are used by Calendar
+hi link		CalToday	PreProc
+" these are used by TagList
+hi link		MyTagListTagName	IncSearch
+hi link		MyTagListTagScope	Constant
+
+" COLOR LINKS DEFINE END
+
+" vim:et:nosta:sw=2:ts=8:
+" vim600:fdm=marker:fdl=1:

File vim/colors/ps_color.vim

+" Vim colour file --- PSC
+" Maintainer:	Pan Shizhu <dicpan@hotmail.com>
+" Last Change:	25 June 2004
+" Version:	2.8
+" URL:		http://vim.sourceforge.net/scripts/script.php?script_id=760
+"
+"	Please append [VIM] in the title when writing e-mail to me, or it will
+"	be automatically treated as spam and removed. 
+"
+"	See the separated help document for configurable options.
+"
+" V28 Release Note:
+"
+"	Bugfix : when psc_style=='mixed', the visual got reversed wrong.
+"
+"	'mixed' is now the default for 'warm style.
+"
+"	changed the function name to lower case.
+"
+"	removed pre-2.0 compatibility, (the non-psc version of s-d-f-t).
+"
+"	Added variable psc_cterm_style, see :h psc_cterm_style
+"
+"	Added group Underline
+"
+"	Tuned the function call.
+"
+" Previous Release Notes {{{2
+" V27 Release Note:
+"
+"	Now it is possible to change the Background, 
+"		see :h psc-change-background for details.
+"
+"	Linked the Tag group to Identifier.
+"
+"	NonText as Notice is not good for 'warm', changed to Constant.
+"
+"	Added links for the most popular plugins: taglist, calendar
+"
+"	Tuned the 'Statement' color when different from Type (gui only).
+"
+"	Re-adjusted cterm scheme according to syntax/hitest.vim
+"
+"	The 'defdark' style for cterm is not functioning, fixed.
+"
+"	Many 'cosmetic' changes, makes no difference for functionality.
+"
+"	Use of DrChip's help extractor to auto-install help document.
+"
+"	Added command define, :Colo
+"
+" V26 Release Note:
+"
+"	As stated in the v2.3, the only 'todo' thing seems to be the 'warm'
+"	style, now in this version I had been working on it. 
+"
+"	There also are some minor fixes for the document, to be more friendly
+"	for new readers.
+"
+"	The 'StatusLine' of 'cold' style is modified by mistake in the v2.3,
+"	this time the bug is fixed.
+"
+"	The 'Directory' in GUI 'cold' style is different from 'cterm' one,
+"	now fixed.
+"
+" V23 Release Note:
+"
+"	This is an incompatible update, main changes are in 'cterm'.
+"	A new group 'SignColumn' had been added, new links added for engspchk
+"	v52, hundreds of typos fixed in the document, thanks to the engspchk.
+"
+"	The support for 8-color cterm is slightly better now, but the mappings
+"	of the DarkYellow and Yellow are exchanged, you need to update the
+"	.Xdefaults or your terminal configuration before apply this update if
+"	you are using v2.0.  Guide for redefinition the color value is
+"	available in the document, make sure you had updated the ps_color.txt,
+"	then see 
+"
+"		:help psc-cterm-color-table
+"
+" V20 Release Note:
+"
+"	There've been great enhancement since this version, so I'd choose to
+"	bump the version number to 2. This version comes with Vim online help,
+"	if you had installed ps_color.txt, you can see for details in 
+"
+"		:help pscolor
+"
+" Vna Release Note:
+"
+"	The initial release note had been moved into the help document. 
+"	}}}2
+"
+
+" Initializations: {{{1
+"
+function! s:init_option(var, value)
+  if !exists("g:psc_".a:var)
+    execute "let s:".a:var." = ".a:value
+  else
+    execute "let s:".a:var." = g:psc_".a:var
+  endif
+endfunction
+command! -nargs=+ InitOpt call s:init_option(<f-args>)
+
+function! s:multi_hi(setting, ...)
+  let l:idx = a:0
+  while l:idx > 0
+    execute "let l:hlgroup = a:".l:idx
+    execute "highlight ".l:hlgroup." ".a:setting
+    let l:idx = l:idx - 1
+  endwhile
+endfunction
+command! -nargs=+ MultiHi call s:multi_hi(<f-args>)
+
+InitOpt style 'cool'
+InitOpt inversed_todo 0
+InitOpt use_default_for_cterm 0
+InitOpt statement_different_from_type 0
+if s:style == 'warm'
+  InitOpt fontface 'mixed'
+else
+  InitOpt fontface 'plain'
+endif
+
+if !has("gui_running")
+  call s:init_option("cterm_style", "'".s:style."'")
+
+  if s:cterm_style=='warm'
+    " Forces 'cool' style when gui is not present Since the 'warm' style for
+    " terminal isn't available now, and probably never will be.
+    let s:cterm_style = 'cool'	
+  endif
+  if s:use_default_for_cterm==1
+    let s:cterm_style = 'default'
+  elseif s:use_default_for_cterm==2
+    let s:cterm_style = 'defdark'
+  endif
+endif
+
+
+let s:other_style = 0
+
+if has("gui_running")
+  if s:style=='warm' || s:style=='default'
+    set background=light
+  elseif s:style=='cool' || s:style=='defdark'
+    set background=dark
+  else
+    let s:other_style = 1
+  endif
+else
+  if s:cterm_style=='cool' || s:cterm_style=='defdark'
+    set background=dark
+  elseif s:cterm_style=='default'
+    set background=light
+  else
+    let s:other_style = 1
+  endif
+endif
+
+
+highlight clear
+
+if exists("syntax_on")
+  syntax reset
+endif
+
+let s:color_name = expand("<sfile>:t:r")
+
+if s:other_style==0
+  let g:colors_name = s:color_name
+  " Go from console version to gui, the color scheme should be sourced again
+  execute "autocmd TermChanged *	if g:colors_name == '".s:color_name."' | "
+	\."colo ".s:color_name." | endif"
+else
+  execute "runtime colors/".s:style.".vim"
+endif
+
+" Command to go different schemes easier.
+execute "command! -nargs=1 Colo if '".s:color_name."'!=\"<args>\" | "
+	\"let g:psc_style = \"<args>\"| endif | colo ".s:color_name
+
+" Give control to 'reloaded' scheme if possible
+if s:style == 'reloaded'
+  finish
+endif
+
+" }}}1
+
+" Relevant Help: 
+" :h highlight-groups
+" :h psc-cterm-color-table
+" :ru syntax/hitest.vim
+"
+" Hardcoded Colors Comment:
+" #aabbcc = Red aa, Green bb, Blue cc
+" we must use hard-coded colours to get more 'tender' colours
+"
+" Grey Scales :
+" #b0b0b0 = Grey 11/16	#d0d0d0 = Grey 13/16	#e0e0e0 = Grey 7/8 (=14/16)
+" #404040 = Grey 1/4	#808080 = Grey 1/2	Black	= Grey 0
+"
+" Red & Magenta Scales:
+" #800000 = Blood Red	#e0c060 = Tender Orange	#f08060 = Bright Red
+" #f0c0f0 = Tender Pink	#800080 = Purple
+"
+" Green & Yellow Scales:
+" #00f000 = Cursor	#d0d090 = Rice Yellow	#c0e080 = Tree Green
+" #60f080 = Bright Green
+"
+" Blue & Cyan Scales:
+" #80c0e0 = Sea Blue	#6080f0 = Gem Blue	#000080 = Indigo Blue
+" #a6caf0 = Sky Cyan	#b0d0f0 = Bright Cyan	#c0d8f8 = Br. Cyan Variant
+"
+
+
+" GUI:
+"
+" I don't want to abuse folding, but here folding is used to avoid confusion. 
+if s:style=='warm' 
+  " Warm style for gui here {{{2
+  highlight Normal		guifg=Black	guibg=#e0e0e0
+  highlight Search		guifg=#902000	guibg=#f8f8f8
+  highlight Visual		guifg=fg	guibg=#a6caf0
+  highlight Cursor		guifg=#f0f0f0	guibg=#008000
+  " The idea of CursorIM is pretty good, however, the feature is buggy in
+  " the current version (Vim 6.2). 
+  " The following line will be kept commented until the bug fixed.
+  "
+  " highlight CursorIM		guifg=#f0f0f0	guibg=#800080
+  highlight Special		guifg=#907000	guibg=bg
+  highlight Comment		guifg=#505800	guibg=bg
+  highlight Number		guifg=#907000	guibg=bg
+  highlight Constant		guifg=#007068	guibg=bg
+  highlight StatusLine		guifg=fg	guibg=#a6caf0
+  highlight LineNr		guifg=#686868	guibg=bg
+  highlight Question		guifg=fg	guibg=#d0d090
+  highlight PreProc		guifg=#009030	guibg=bg
+  if s:statement_different_from_type==1
+    highlight Statement		guifg=#4020a0	guibg=bg
+  else
+    highlight Statement		guifg=#2060a8	guibg=bg
+  endif
+  highlight Type		guifg=#0850a0	guibg=bg
+  if s:inversed_todo==1
+    highlight Todo		guifg=#e0e090	guibg=#000080
+  else
+    highlight Todo		guifg=#800000	guibg=#e0e090
+  endif
+  " NOTE THIS IS IN THE WARM SECTION
+  highlight Error		guifg=#c03000	guibg=bg
+  highlight Identifier		guifg=#a030a0	guibg=bg
+  highlight ModeMsg		guifg=fg	guibg=#b0b0e0
+  highlight VisualNOS		guifg=fg	guibg=#b0b0e0
+  highlight SpecialKey		guifg=#1050a0	guibg=bg
+  highlight NonText		guifg=#002090	guibg=#d0d0d0
+  highlight Directory		guifg=#a030a0	guibg=bg
+  highlight ErrorMsg		guifg=fg	guibg=#f0b090
+  highlight MoreMsg		guifg=#489000	guibg=bg
+  highlight Title		guifg=#a030a0	guibg=bg
+  highlight WarningMsg		guifg=#b02000	guibg=bg
+  highlight WildMenu		guifg=fg	guibg=#d0d090
+  highlight Folded		guifg=fg	guibg=#b0e0b0
+  highlight FoldColumn		guifg=fg	guibg=#90e090
+  highlight DiffAdd		guifg=fg	guibg=#b0b0e0
+  highlight DiffChange		guifg=fg	guibg=#e0b0e0
+  highlight DiffDelete		guifg=#002090	guibg=#d0d0d0
+  highlight DiffText		guifg=fg	guibg=#c0e080
+  highlight SignColumn		guifg=fg	guibg=#90e090
+  highlight IncSearch		guifg=#f0f0f0	guibg=#806060
+  highlight StatusLineNC	guifg=fg	guibg=#c0c0c0
+  highlight VertSplit		guifg=fg	guibg=#c0c0c0
+  highlight Underlined		guifg=#6a5acd	guibg=bg	gui=underline
+  " }}}2
+elseif s:style=='cool' 
+  " Cool style for gui here {{{2
+
+  highlight Normal		guifg=#d0d0d0	guibg=Black
+  highlight Comment		guifg=#d0d090	guibg=bg
+  highlight Constant		guifg=#80c0e0	guibg=bg
+  highlight Number		guifg=#e0c060	guibg=bg
+  highlight Identifier		guifg=#f0c0f0	guibg=bg
+  if s:statement_different_from_type==1
+    highlight Statement		guifg=#98a8f0	guibg=bg
+  else
+    highlight Statement		guifg=#c0d8f8	guibg=bg
+  endif
+  highlight PreProc		guifg=#60f080	guibg=bg
+  highlight Type		guifg=#b0d0f0	guibg=bg
+  highlight Special		guifg=#e0c060	guibg=bg
+  highlight Error		guifg=#f08060	guibg=bg
+  if s:inversed_todo==0
+    highlight Todo		guifg=#800000	guibg=#d0d090
+  else
+    highlight Todo		guifg=#d0d090	guibg=#000080
+  endif
+  highlight Search		guifg=#e0e0e0	guibg=#800000
+  highlight Visual		guifg=bg	guibg=#a6caf0
+  highlight Cursor		guifg=bg	guibg=#00f000
+  " NOTE THIS IS IN THE COOL SECTION
+  " highlight CursorIM		guifg=bg	guibg=#f000f0
+  highlight StatusLine		guifg=bg	guibg=#a6caf0
+  highlight LineNr		guifg=#b0b0b0	guibg=bg
+  highlight Question		guifg=bg	guibg=#d0d090
+  highlight ModeMsg		guifg=fg	guibg=#000080
+  highlight VisualNOS		guifg=fg	guibg=#000080
+  highlight SpecialKey		guifg=#b0d0f0	guibg=bg
+  highlight NonText		guifg=#6080f0	guibg=bg
+  highlight Directory		guifg=#80c0e0	guibg=bg
+  highlight ErrorMsg		guifg=#d0d090	guibg=#800000
+  highlight MoreMsg		guifg=#c0e080	guibg=bg
+  highlight Title		guifg=#f0c0f0	guibg=bg
+  highlight WarningMsg		guifg=#f08060	guibg=bg
+  highlight WildMenu		guifg=bg	guibg=#d0d090
+  highlight Folded		guifg=#d0d0d0	guibg=#004000
+  highlight FoldColumn		guifg=#e0e0e0	guibg=#008000
+  highlight DiffAdd		guifg=fg	guibg=#000080
+  highlight DiffChange		guifg=fg	guibg=#800080
+  highlight DiffDelete		guifg=#6080f0	guibg=#202020
+  highlight DiffText		guifg=bg	guibg=#c0e080
+  highlight SignColumn		guifg=#e0e0e0	guibg=#008000
+  highlight IncSearch		guifg=bg	guibg=#d0d0d0
+  highlight StatusLineNC	guifg=bg	guibg=#c0c0c0
+  highlight VertSplit		guifg=bg	guibg=#c0c0c0
+  highlight Underlined		guifg=#80a0ff	guibg=bg	gui=underline 
+  " }}}2
+elseif s:style=='defdark'
+  highlight Normal		guifg=#d0d0d0	guibg=Black
+endif
+
+" Take NT gui for example, If you want to use a console font such as
+" Lucida_Console with font size larger than 14, the font looks already thick,
+" and the bold font for that will be too thick, you may not want it be bolded.
+" The following code does this.
+"
+" I disabled all of the bold font for the same reason: continuously switching
+" between bold and plain font hurts consistency and will inevitably fatigue
+" your eye!
+
+" Maximum 20 parameters for vim script function
+MultiHi gui=NONE ModeMsg Search Visual Cursor Special Comment Constant Number StatusLine LineNr Question PreProc Statement Type Todo Error Identifier Normal
+
+MultiHi gui=NONE VisualNOS SpecialKey NonText Directory ErrorMsg MoreMsg Title WarningMsg WildMenu Folded FoldColumn DiffAdd DiffChange DiffDelete DiffText SignColumn IncSearch StatusLineNC VertSplit
+
+" Enable the bold style
+if s:fontface=="mixed"
+  MultiHi gui=bold Question StatusLine DiffText Statement Type MoreMsg ModeMsg NonText Title VisualNOS DiffDelete
+endif
+
+
+
+" Color Term:
+
+" It's not quite possible to support 'cool' and 'warm' simultaneously, since
+" we cannot expect a terminal to have more than 16 color names. 
+"
+
+" I assume Vim will never go to cterm mode when has("gui_running") returns 1,
+" Please enlighten me if I am wrong.
+"
+if !has('gui_running')
+  " cterm settings {{{1
+  if s:cterm_style=='cool'
+
+    highlight Normal	 ctermfg=LightGrey  ctermbg=Black
+    highlight Search	 ctermfg=White	    ctermbg=DarkRed
+    highlight Visual	 ctermfg=Black	    ctermbg=DarkCyan
+    highlight Cursor	 ctermfg=Black	    ctermbg=Green
+    highlight Special	 ctermfg=Yellow	    ctermbg=Black
+    highlight Comment	 ctermfg=DarkYellow ctermbg=Black
+    highlight Constant	 ctermfg=Blue	    ctermbg=Black
+    highlight Number	 ctermfg=Yellow	    ctermbg=Black
+    highlight StatusLine ctermfg=Black	    ctermbg=DarkCyan
+    highlight LineNr	 ctermfg=DarkGrey   ctermbg=Black
+    highlight Question	 ctermfg=Black	    ctermbg=DarkYellow
+    highlight PreProc	 ctermfg=Green	    ctermbg=Black
+    highlight Statement	 ctermfg=Cyan	    ctermbg=Black
+    highlight Type	 ctermfg=Cyan	    ctermbg=Black
+    if s:inversed_todo==0
+        highlight Todo	 ctermfg=DarkRed    ctermbg=DarkYellow
+    else
+        highlight Todo	 ctermfg=DarkYellow ctermbg=DarkBlue
+    endif
+    highlight Error	 ctermfg=Red	    ctermbg=Black
+    highlight Identifier ctermfg=Magenta    ctermbg=Black
+    highlight Folded	 ctermfg=White	    ctermbg=DarkGreen
+    highlight ModeMsg	 ctermfg=Grey	    ctermbg=DarkBlue
+    highlight VisualNOS	 ctermfg=Grey	    ctermbg=DarkBlue
+    highlight SpecialKey ctermfg=Cyan	    ctermbg=Black
+    highlight NonText	 ctermfg=Blue	    ctermbg=Black
+    highlight Directory	 ctermfg=Blue	    ctermbg=Black
+    highlight ErrorMsg	 ctermfg=DarkYellow ctermbg=DarkRed
+    highlight MoreMsg	 ctermfg=Green	    ctermbg=Black
+    highlight Title	 ctermfg=Magenta    ctermbg=Black
+    highlight WarningMsg ctermfg=Red	    ctermbg=Black
+    highlight WildMenu	 ctermfg=Black	    ctermbg=DarkYellow
+    highlight FoldColumn ctermfg=White	    ctermbg=DarkGreen
+    highlight SignColumn ctermfg=White	    ctermbg=DarkGreen
+    highlight DiffText	 ctermfg=Black	    ctermbg=DarkYellow
+    highlight DiffDelete ctermfg=Blue	    ctermbg=Black
+
+    if &t_Co==8
+      " 8 colour terminal support, this assumes 16 colour is available through
+      " setting the 'bold' attribute, will get bright foreground colour.
+      " However, the bright background color is not available for 8-color terms.
+      "
+      " You can manually set t_Co=16 in your .vimrc to see if your terminal
+      " supports 16 colours, 
+      MultiHi cterm=none DiffText Visual Cursor Comment Todo StatusLine Question DiffChange ModeMsg VisualNOS ErrorMsg WildMenu DiffAdd Folded DiffDelete Normal
+      MultiHi cterm=bold Search Special Constant Number LineNr PreProc Statement Type Error Identifier SpecialKey NonText MoreMsg Title WarningMsg FoldColumn SignColumn Directory DiffDelete
+
+    else
+      " Background > 7 is only available with 16 or more colors
+
+      " Only use the s:fontface option when there is 16-colour(or more)
+      " terminal support
+
+      MultiHi cterm=none WarningMsg Search Visual Cursor Special Comment Constant Number LineNr PreProc Todo Error Identifier Folded SpecialKey Directory ErrorMsg Normal
+      MultiHi cterm=none WildMenu FoldColumn SignColumn DiffAdd DiffChange Question StatusLine DiffText
+      MultiHi cterm=reverse IncSearch StatusLineNC VertSplit
+
+      " Well, well, bold font with color 0-7 is not possible.
+      " So, the Question, StatusLine, DiffText cannot act as expected.
+
+      call s:multi_hi("cterm=".((s:fontface=="plain") ? "none" : "bold"), "Statement", "Type", "MoreMsg", "ModeMsg", "NonText", "Title", "VisualNOS", "DiffDelete")
+
+    endif
+
+  elseif s:cterm_style=='defdark'
+    highlight Normal	 ctermfg=LightGrey  ctermbg=Black
+  endif
+  " }}}1
+endif
+
+
+" Term:
+" For console with only 4 colours (term, not cterm), we'll use the default.
+" ...
+" The default colorscheme is good enough for terms with no more than 4 colours
+"
+
+
+" Links:
+"
+if (s:style=='cool') || (s:style == 'warm')
+  highlight link		String		Constant
+  " Character must be different from strings because in many languages
+  " (especially C, C++) a 'char' variable is scalar while 'string' is pointer,
+  " mistaken a 'char' for a 'string' will cause disaster!
+  highlight link		Character	Number
+  highlight link		SpecialChar	LineNr
+  highlight link		Tag		Identifier
+  " The following are not standard hi links, 
+  " these are used by DrChip
+  highlight link		Warning		MoreMsg
+  highlight link		Notice		Constant
+  " these are used by Calendar
+  highlight link		CalToday	PreProc
+  " these are used by TagList
+  highlight link		MyTagListTagName	IncSearch
+  highlight link		MyTagListTagScope	Constant
+endif
+
+
+" Clean:
+"
+delcommand InitOpt
+delcommand MultiHi
+
+" vim:et:nosta:sw=2:ts=8:
+" vim600:fdm=marker:fdl=1:

File vim/compiler/dirtynose.vim

+" Vim compiler file
+" Compiler:	Unit testing for Python using nose
+" Maintainer:	Olivier Le Thanh Duong <olivier@lethanh.be>
+" Last Change: 2010 Sep 1
+
+" Based on pyunit.vim distributed with vim
+" Compiler:	Unit testing tool for Python
+" Maintainer:	Max Ischenko <mfi@ukr.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "nose"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" Modified from pyunit, remove other lines from quickfix window
+CompilerSet efm=%-C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m,%-G%.%#
+
+"" Set nose as default compiler
+" CompilerSet makeprg=nosetests
+" Quite ugly but this make it ignore vim-makegreen passing argument for now
+CompilerSet makeprg=echo\ $*\ >/dev/null;\ nosetests
+

File vim/compiler/lettuce.vim

+" Vim compiler file
+" Compiler: Lettuce
+" Maintainer:   Ryan Doenges <rhdoenges+vimfiles@gmail.com>
+" Last Change:  March 25 2011
+
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "lettuce"
+
+if exists(":CompilerSet") != 2      " older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=lettuce\ --verbosity=2
+
+CompilerSet errorformat=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save

File vim/compiler/nose.vim

+" Vim compiler file
+" Compiler:	Nose unit testing tool for Python
+" Maintainer:	Max Ischenko <ischenko@gmail.com>
+" Last Change: 2006 Nov 13
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "nose"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%f:%l:\ fail:\ %m,%f:%l:\ error:\ %m
+"CompilerSet makeprg=nosetests\ --with-machineout
+CompilerSet makeprg=echo\ $*\ >/dev/null;\ nosetests\ --with-machineout\ --with-doctest

File vim/compiler/pylint.vim

+" Vim compiler file for Python
+" Compiler:     Style checking tool for Python
+" Maintainer:   Oleksandr Tymoshenko <gonzo@univ.kiev.ua>
+" Last Change:  2009 Apr 19 
+" Version:      0.5 
+" Contributors:
+"     Artur Wroblewski
+"     Menno
+"
+" Installation:
+"   Drop pylint.vim in ~/.vim/compiler directory. Ensure that your PATH
+"   environment variable includes the path to 'pylint' executable.
+"
+"   Add the following line to the autocmd section of .vimrc
+"
+"      autocmd FileType python compiler pylint
+"
+" Usage:
+"   Pylint is called after a buffer with Python code is saved. QuickFix
+"   window is opened to show errors, warnings and hints provided by Pylint.
+"   Code rate calculated by Pylint is displayed at the bottom of the
+"   window.
+"
+"   Above is realized with :Pylint command. To disable calling Pylint every
+"   time a buffer is saved put into .vimrc file
+"
+"       let g:pylint_onwrite = 0
+"
+"   Displaying code rate calculated by Pylint can be avoided by setting
+"
+"       let g:pylint_show_rate = 0
+"
+"   Openning of QuickFix window can be disabled with
+"
+"       let g:pylint_cwindow = 0
+"
+"   Of course, standard :make command can be used as in case of every
+"   other compiler.
+"
+
+
+if exists('current_compiler')
+  finish
+endif
+let current_compiler = 'pylint'
+
+if !exists('g:pylint_onwrite')
+    let g:pylint_onwrite = 1
+endif
+
+if !exists('g:pylint_show_rate')
+    let g:pylint_show_rate = 1
+endif
+
+if !exists('g:pylint_cwindow')
+    let g:pylint_cwindow = 1
+endif
+
+if exists(':Pylint') != 2
+    command Pylint :call Pylint(0)
+endif
+
+if exists(":CompilerSet") != 2          " older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+" We should echo filename because pylint truncates .py
+" If someone know better way - let me know :) 
+CompilerSet makeprg=(echo\ '[%]';\ pylint\ -r\ y\ %)
+
+" We could omit end of file-entry, there is only one file
+" %+I... - include code rating information
+" %-G... - remove all remaining report lines from quickfix buffer
+CompilerSet efm=%+P[%f],%t:\ %#%l:%m,%Z,%+IYour\ code%m,%Z,%-G%.%#
+
+if g:pylint_onwrite
+    augroup python
+        au!
+        au BufWritePost * call Pylint(1)
+    augroup end
+endif
+
+function! Pylint(writing)
+    if !a:writing && &modified
+        " Save before running
+        write
+    endif	
+
+    if has('win32') || has('win16') || has('win95') || has('win64')
+        setlocal sp=>%s
+    else
+        setlocal sp=>%s\ 2>&1
+    endif
+
+    " If check is executed by buffer write - do not jump to first error
+    if !a:writing
+        silent make
+    else
+        silent make!
+    endif
+
+    if g:pylint_cwindow
+        cwindow
+    endif
+
+    call PylintEvaluation()
+
+    if g:pylint_show_rate
+        echon 'code rate: ' b:pylint_rate ', prev: ' b:pylint_prev_rate
+    endif
+endfunction
+
+function! PylintEvaluation()
+    let l:list = getqflist()
+    let b:pylint_rate = '0.00'
+    let b:pylint_prev_rate = '0.00'
+    for l:item in l:list
+        if l:item.type == 'I' && l:item.text =~ 'Your code has been rated'
+            let l:re_rate = '\(-\?[0-9]\{1,2\}\.[0-9]\{2\}\)/'
+            let b:pylint_rate = substitute(l:item.text, '.*rated at '.l:re_rate.'.*', '\1', 'g')
+            " Only if there is information about previous run
+            if l:item.text =~ 'previous run: '
+                let b:pylint_prev_rate = substitute(l:item.text, '.*previous run: '.l:re_rate.'.*', '\1', 'g')
+            endif    
+        endif
+    endfor
+endfunction

File vim/doc/taglist.txt

+*taglist.txt*	Plugin for browsing source code
+
+Author: Yegappan Lakshmanan  (yegappan AT yahoo DOT com)
+For Vim version 6.0 and above
+Last change: 2007 May 24
+
+1. Overview 					|taglist-intro|
+2. Taglist on the internet			|taglist-internet|
+3. Requirements					|taglist-requirements|
+4. Installation 				|taglist-install|
+5. Usage 					|taglist-using|
+6. Options 					|taglist-options|
+7. Commands 					|taglist-commands|
+8. Global functions 				|taglist-functions|
+9. Extending 					|taglist-extend|
+10. FAQ 					|taglist-faq|
+11. License 					|taglist-license|
+12. Todo					|taglist-todo|
+
+==============================================================================
+						*taglist-intro*
+1. Overview~
+
+The "Tag List" plugin is a source code browser plugin for Vim. This plugin
+allows you to efficiently browse through source code files for different
+programming languages. The "Tag List" plugin provides the following features:
+
+    * Displays the tags (functions, classes, structures, variables, etc.) 
+      defined in a file in a vertically or horizontally split Vim window.
+    * In GUI Vim, optionally displays the tags in the Tags drop-down menu and
+      in the popup menu.
+    * Automatically updates the taglist window as you switch between
+      files/buffers. As you open new files, the tags defined in the new files
+      are added to the existing file list and the tags defined in all the
+      files are displayed grouped by the filename.
+    * When a tag name is selected from the taglist window, positions the
+      cursor at the definition of the tag in the source file.
+    * Automatically highlights the current tag name.
+    * Groups the tags by their type and displays them in a foldable tree.
+    * Can display the prototype and scope of a tag.
+    * Can optionally display the tag prototype instead of the tag name in the
+      taglist window.
+    * The tag list can be sorted either by name or by chronological order.
+    * Supports the following language files: Assembly, ASP, Awk, Beta, C,
+      C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp,
+      Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang,
+      SML, Sql, TCL, Verilog, Vim and Yacc.
+    * Can be easily extended to support new languages. Support for
+      existing languages can be modified easily.
+    * Provides functions to display the current tag name in the Vim status
+      line or the window title bar.
+    * The list of tags and files in the taglist can be saved and
+      restored across Vim sessions.
+    * Provides commands to get the name and prototype of the current tag.
+    * Runs in both console/terminal and GUI versions of Vim.
+    * Works with the winmanager plugin. Using the winmanager plugin, you
+      can use Vim plugins like the file explorer, buffer explorer and the
+      taglist plugin at the same time like an IDE.
+    * Can be used in both Unix and MS-Windows systems.
+
+==============================================================================
+						*taglist-internet*
+2. Taglist on the internet~
+
+The home page of the taglist plugin is at:
+>
+	http://vim-taglist.sourceforge.net/
+<
+You can subscribe to the taglist mailing list to post your questions or
+suggestions for improvement or to send bug reports. Visit the following page
+for subscribing to the mailing list:
+>
+	http://groups.yahoo.com/group/taglist
+<
+==============================================================================
+						*taglist-requirements*
+3. Requirements~
+
+The taglist plugin requires the following:
+
+    * Vim version 6.0 and above
+    * Exuberant ctags 5.0 and above
+
+The taglist plugin will work on all the platforms where the exuberant ctags
+utility and Vim are supported (this includes MS-Windows and Unix based
+systems).
+
+The taglist plugin relies on the exuberant ctags utility to dynamically
+generate the tag listing.  The exuberant ctags utility must be installed in
+your system to use this plugin.  The exuberant ctags utility is shipped with
+most of the Linux distributions.  You can download the exuberant ctags utility
+from
+>
+	http://ctags.sourceforge.net
+<
+The taglist plugin doesn't use or create a tags file and there is no need to
+create a tags file to use this plugin. The taglist plugin will not work with
+the GNU ctags or the Unix ctags utility.
+
+This plugin relies on the Vim "filetype" detection mechanism to determine the
+type of the current file. You have to turn on the Vim filetype detection by
+adding the following line to your .vimrc file:
+>
+	filetype on
+<
+The taglist plugin will not work if you run Vim in the restricted mode (using
+the -Z command-line argument).
+
+The taglist plugin uses the Vim system() function to invoke the exuberant
+ctags utility. If Vim is compiled without the system() function then you
+cannot use the taglist plugin. Some of the Linux distributions (Suse) compile
+Vim without the system() function for security reasons.
+
+==============================================================================
+						*taglist-install*
+4. Installation~
+
+1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the
+   $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
+   have the following two files (the directory structure should be preserved):
+
+	plugin/taglist.vim - main taglist plugin file
+	doc/taglist.txt    - documentation (help) file
+
+   Refer to the |add-plugin|and |'runtimepath'| Vim help pages for more
+   details about installing Vim plugins.
+2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc
+   directory, start Vim and run the ":helptags ." command to process the
+   taglist help file. Without this step, you cannot jump to the taglist help
+   topics.
+3. If the exuberant ctags utility is not present in one of the directories in
+   the PATH environment variable, then set the 'Tlist_Ctags_Cmd' variable to
+   point to the location of the exuberant ctags utility (not to the directory)
+   in the .vimrc file.
+4. If you are running a terminal/console version of Vim and the terminal
+   doesn't support changing the window width then set the
+   'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
+5. Restart Vim.
+6. You can now use the ":TlistToggle" command to open/close the taglist
+   window. You can use the ":help taglist" command to get more information
+   about using the taglist plugin.
+
+To uninstall the taglist plugin, remove the plugin/taglist.vim and
+doc/taglist.txt files from the $HOME/.vim or $HOME/vimfiles directory.
+
+==============================================================================
+						*taglist-using*
+5. Usage~
+
+The taglist plugin can be used in several different ways.
+
+1. You can keep the taglist window open during the entire editing session. On
+   opening the taglist window, the tags defined in all the files in the Vim
+   buffer list will be displayed in the taglist window. As you edit files, the
+   tags defined in them will be added to the taglist window. You can select a
+   tag from the taglist window and jump to it. The current tag will be
+   highlighted in the taglist window. You can close the taglist window when
+   you no longer need the window.
+2. You can configure the taglist plugin to process the tags defined in all the
+   edited files always. In this configuration, even if the taglist window is
+   closed and the taglist menu is not displayed, the taglist plugin will
+   processes the tags defined in newly edited files. You can then open the
+   taglist window only when you need to select a tag and then automatically
+   close the taglist window after selecting the tag.
+3. You can configure the taglist plugin to display only the tags defined in
+   the current file in the taglist window. By default, the taglist plugin
+   displays the tags defined in all the files in the Vim buffer list. As you
+   switch between files, the taglist window will be refreshed to display only
+   the tags defined in the current file.
+4. In GUI Vim, you can use the Tags pull-down and popup menu created by the
+   taglist plugin to display the tags defined in the current file and select a
+   tag to jump to it. You can use the menu without opening the taglist window.
+   By default, the Tags menu is disabled.
+5. You can configure the taglist plugin to display the name of the current tag
+   in the Vim window status line or in the Vim window title bar. For this to
+   work without the taglist window or menu, you need to configure the taglist
+   plugin to process the tags defined in a file always.
+6. You can save the tags defined in multiple files to a taglist session file
+   and load it when needed. You can also configure the taglist plugin to not
+   update the taglist window when editing new files. You can then manually add
+   files to the taglist window.
+
+Opening the taglist window~
+You can open the taglist window using the ":TlistOpen" or the ":TlistToggle"
+commands. The ":TlistOpen" command opens the taglist window and jumps to it.
+The ":TlistToggle" command opens or closes (toggle) the taglist window and the
+cursor remains in the current window. If the 'Tlist_GainFocus_On_ToggleOpen'
+variable is set to 1, then the ":TlistToggle" command opens the taglist window
+and moves the cursor to the taglist window.
+
+You can map a key to invoke these commands. For example, the following command
+creates a normal mode mapping for the <F8> key to toggle the taglist window.
+>
+	nnoremap <silent> <F8> :TlistToggle<CR>
+<
+Add the above mapping to your ~/.vimrc or $HOME/_vimrc file.
+
+To automatically open the taglist window on Vim startup, set the
+'Tlist_Auto_Open' variable to 1.
+
+You can also open the taglist window on startup using the following command
+line:
+>
+	$ vim +TlistOpen
+<
+Closing the taglist window~
+You can close the taglist window from the taglist window by pressing 'q' or
+using the Vim ":q" command. You can also use any of the Vim window commands to
+close the taglist window. Invoking the ":TlistToggle" command when the taglist
+window is opened, closes the taglist window. You can also use the
+":TlistClose" command to close the taglist window.
+
+To automatically close the taglist window when a tag or file is selected, you
+can set the 'Tlist_Close_On_Select' variable to 1.  To exit Vim when only the
+taglist window is present, set the 'Tlist_Exit_OnlyWindow' variable to 1.
+
+Jumping to a tag or a file~
+You can select a tag in the taglist window either by pressing the <Enter> key
+or by double clicking the tag name using the mouse. To jump to a tag on a
+single mouse click set the 'Tlist_Use_SingleClick' variable to 1.
+
+If the selected file is already opened in a window, then the cursor is moved
+to that window. If the file is not currently opened in a window then the file
+is opened in the window used by the taglist plugin to show the previously
+selected file. If there are no usable windows, then the file is opened in a
+new window.  The file is not opened in special windows like the quickfix
+window, preview window and windows containing buffer with the 'buftype' option
+set.
+
+To jump to the tag in a new window, press the 'o' key. To open the file in the
+previous window (Ctrl-W_p) use the 'P' key. You can press the 'p' key to jump
+to the tag but still keep the cursor in the taglist window (preview).
+
+To open the selected file in a tab, use the 't' key.  If the file is already
+present in a tab then the cursor is moved to that tab otherwise the file is
+opened in a new tab. To jump to a tag in a new tab press Ctrl-t.  The taglist
+window is automatically opened in the newly created tab.
+
+Instead of jumping to a tag, you can open a file by pressing the <Enter> key
+or by double clicking the file name using the mouse.
+
+In the taglist window, you can use the [[ or <Backspace> key to jump to the
+beginning of the previous file. You can use the ]] or <Tab> key to jump to the
+beginning of the next file. When you reach the first or last file, the search
+wraps around and the jumps to the next/previous file.
+
+Highlighting the current tag~
+The taglist plugin automatically highlights the name of the current tag in the
+taglist window. The Vim |CursorHold| autocmd event is used for this. If the
+current tag name is not visible in the taglist window, then the taglist window
+contents are scrolled to make that tag name visible. You can also use the
+":TlistHighlightTag" command to force the highlighting of the current tag.
+
+The tag name is highlighted if no activity is performed for |'updatetime'|
+milliseconds. The default value for this Vim option is 4 seconds. To avoid
+unexpected problems, you should not set the |'updatetime'| option to a very
+low value.
+
+To disable the automatic highlighting of the current tag name in the taglist
+window, set the 'Tlist_Auto_Highlight_Tag' variable to zero.
+
+When entering a Vim buffer/window, the taglist plugin automatically highlights
+the current tag in that buffer/window.  If you like to disable the automatic
+highlighting of the current tag when entering a buffer, set the
+'Tlist_Highlight_Tag_On_BufEnter' variable to zero.
+
+Adding files to the taglist~
+When the taglist window is opened, all the files in the Vim buffer list are
+processed and the supported files are added to the taglist.  When you edit a
+file in Vim, the taglist plugin automatically processes this file and adds it
+to the taglist. If you close the taglist window, the tag information in the
+taglist is retained.
+
+To process files even when the taglist window is not open, set the
+'Tlist_Process_File_Always' variable to 1.
+
+You can manually add multiple files to the taglist without opening them using
+the ":TlistAddFiles" and the ":TlistAddFilesRecursive" commands.
+
+For example, to add all the C files in the /my/project/dir directory to the
+taglist, you can use the following command:
+>
+	:TlistAddFiles /my/project/dir/*.c
+<
+Note that when adding several files with a large number of tags or a large
+number of files, it will take several seconds to several minutes for the
+taglist plugin to process all the files. You should not interrupt the taglist
+plugin by pressing <CTRL-C>.
+
+You can recursively add multiple files from a directory tree using the
+":TlistAddFilesRecursive" command:
+>
+	:TlistAddFilesRecursive /my/project/dir *.c
+<
+This command takes two arguments. The first argument specifies the directory
+from which to recursively add the files. The second optional argument
+specifies the wildcard matching pattern for selecting the files to add. The
+default pattern is * and all the files are added.
+
+Displaying tags for only one file~
+The taglist window displays the tags for all the files in the Vim buffer list
+and all the manually added files. To display the tags for only the current
+active buffer, set the 'Tlist_Show_One_File' variable to 1.
+
+Removing files from the taglist~
+You can remove a file from the taglist window, by pressing the 'd' key when the
+cursor is on one of the tags listed for the file in the taglist window. The
+removed file will no longer be displayed in the taglist window in the current
+Vim session. To again display the tags for the file, open the file in a Vim
+window and then use the ":TlistUpdate" command or use ":TlistAddFiles" command
+to add the file to the taglist.
+
+When a buffer is removed from the Vim buffer list using the ":bdelete" or the
+":bwipeout" command, the taglist is updated to remove the stored information
+for this buffer.
+
+Updating the tags displayed for a file~
+The taglist plugin keeps track of the modification time of a file. When the
+modification time changes (the file is modified), the taglist plugin
+automatically updates the tags listed for that file. The modification time of
+a file is checked when you enter a window containing that file or when you
+load that file.
+
+You can also update or refresh the tags displayed for a file by pressing the
+"u" key in the taglist window. If an existing file is modified, after the file
+is saved, the taglist plugin automatically updates the tags displayed for the
+file.
+
+You can also use the ":TlistUpdate" command to update the tags for the current
+buffer after you made some changes to it. You should save the modified buffer
+before you update the taglist window. Otherwise the listed tags will not
+include the new tags created in the buffer. 
+
+If you have deleted the tags displayed for a file in the taglist window using
+the 'd' key, you can again display the tags for that file using the
+":TlistUpdate" command.
+
+Controlling the taglist updates~
+To disable the automatic processing of new files or modified files, you can
+set the 'Tlist_Auto_Update' variable to zero. When this variable is set to
+zero, the taglist is updated only when you use the ":TlistUpdate" command or
+the ":TlistAddFiles" or the ":TlistAddFilesRecursive" commands. You can use
+this option to control which files are added to the taglist.
+
+You can use the ":TlistLock" command to lock the taglist contents. After this
+command is executed, new files are not automatically added to the taglist.
+When the taglist is locked, you can use the ":TlistUpdate" command to add the
+current file or the ":TlistAddFiles" or ":TlistAddFilesRecursive" commands to
+add new files to the taglist.  To unlock the taglist, use the ":TlistUnlock"
+command.
+
+Displaying the tag prototype~
+To display the prototype of the tag under the cursor in the taglist window,
+press the space bar. If you place the cursor on a tag name in the taglist
+window, then the tag prototype is displayed at the Vim status line after
+|'updatetime'| milliseconds. The default value for the |'updatetime'| Vim
+option is 4 seconds.
+
+You can get the name and prototype of a tag without opening the taglist window
+and the taglist menu using the ":TlistShowTag" and the ":TlistShowPrototype"
+commands. These commands will work only if the current file is already present
+in the taglist. To use these commands without opening the taglist window, set
+the 'Tlist_Process_File_Always' variable to 1.
+
+You can use the ":TlistShowTag" command to display the name of the tag at or
+before the specified line number in the specified file.  If the file name and
+line number are not supplied, then this command will display the name of the
+current tag. For example,
+>
+	:TlistShowTag
+	:TlistShowTag myfile.java 100
+<
+You can use the ":TlistShowPrototype" command to display the prototype of the
+tag at or before the specified line number in the specified file.  If the file
+name and the line number are not supplied, then this command will display the
+prototype of the current tag.  For example,
+>
+	:TlistShowPrototype
+	:TlistShowPrototype myfile.c 50
+<
+In the taglist window, when the mouse is moved over a tag name, the tag
+prototype is displayed in a balloon. This works only in GUI versions where
+balloon evaluation is supported.
+
+Taglist window contents~
+The taglist window contains the tags defined in various files in the taglist
+grouped by the filename and by the tag type (variable, function, class, etc.).
+For tags with scope information (like class members, structures inside
+structures, etc.), the scope information is displayed in square brackets "[]"
+after the tag name.
+
+The contents of the taglist buffer/window are managed by the taglist plugin.
+The |'filetype'| for the taglist buffer is set to 'taglist'.  The Vim
+|'modifiable'| option is turned off for the taglist buffer. You should not
+manually edit the taglist buffer, by setting the |'modifiable'| flag. If you
+manually edit the taglist buffer contents, then the taglist plugin will be out
+of sync with the taglist buffer contents and the plugin will no longer work
+correctly. To redisplay the taglist buffer contents again, close the taglist
+window and reopen it.
+
+Opening and closing the tag and file tree~
+In the taglist window, the tag names are displayed as a foldable tree using
+the Vim folding support. You can collapse the tree using the '-' key or using
+the Vim |zc| fold command. You can open the tree using the '+' key or using
+the Vim |zo| fold command. You can open all the folds using the '*' key or
+using the Vim |zR| fold command. You can also use the mouse to open/close the
+folds. You can close all the folds using the '=' key. You should not manually
+create or delete the folds in the taglist window.
+
+To automatically close the fold for the inactive files/buffers and open only
+the fold for the current buffer in the taglist window, set the
+'Tlist_File_Fold_Auto_Close' variable to 1.
+
+Sorting the tags for a file~
+The tags displayed in the taglist window can be sorted either by their name or
+by their chronological order. The default sorting method is by the order in
+which the tags appear in a file. You can change the default sort method by
+setting the 'Tlist_Sort_Type' variable to either "name" or "order". You can
+sort the tags by their name by pressing the "s" key in the taglist window. You
+can again sort the tags by their chronological order using the "s" key. Each
+file in the taglist window can be sorted using different order.
+
+Zooming in and out of the taglist window~
+You can press the 'x' key in the taglist window to maximize the taglist
+window width/height. The window will be maximized to the maximum possible
+width/height without closing the other existing windows. You can again press
+'x' to restore the taglist window to the default width/height.
+
+						*taglist-session*
+Taglist Session~
+A taglist session refers to the group of files and their tags stored in the
+taglist in a Vim session.
+
+You can save and restore a taglist session (and all the displayed tags) using
+the ":TlistSessionSave" and ":TlistSessionLoad" commands.
+
+To save the information about the tags and files in the taglist to a file, use
+the ":TlistSessionSave" command and specify the filename:
+>
+	:TlistSessionSave <file name>
+<
+To load a saved taglist session, use the ":TlistSessionLoad" command: >
+
+	:TlistSessionLoad <file name>
+<
+When you load a taglist session file, the tags stored in the file will be
+added to the tags already stored in the taglist.
+
+The taglist session feature can be used to save the tags for large files or a
+group of frequently used files (like a project). By using the taglist session
+file, you can minimize the amount to time it takes to load/refresh the taglist
+for multiple files.
+
+You can create more than one taglist session file for multiple groups of
+files.
+
+Displaying the tag name in the Vim status line or the window title bar~
+You can use the Tlist_Get_Tagname_By_Line() function provided by the taglist
+plugin to display the current tag name in the Vim status line or the window
+title bar. Similarly, you can use the Tlist_Get_Tag_Prototype_By_Line()
+function to display the current tag prototype in the Vim status line or the
+window title bar.
+
+For example, the following command can be used to display the current tag name
+in the status line:
+>
+	:set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)
+<
+The following command can be used to display the current tag name in the
+window title bar:
+>
+	:set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%)
+<
+Note that the current tag name can be displayed only after the file is
+processed by the taglist plugin. For this, you have to either set the
+'Tlist_Process_File_Always' variable to 1 or open the taglist window or use
+the taglist menu. For more information about configuring the Vim status line,
+refer to the documentation for the Vim |'statusline'| option.
+
+Changing the taglist window highlighting~
+The following Vim highlight groups are defined and used to highlight the
+various entities in the taglist window:
+
+    TagListTagName  - Used for tag names
+    TagListTagScope - Used for tag scope
+    TagListTitle    - Used for tag titles
+    TagListComment  - Used for comments
+    TagListFileName - Used for filenames
+
+By default, these highlight groups are linked to the standard Vim highlight
+groups. If you want to change the colors used for these highlight groups,
+prefix the highlight group name with 'My' and define it in your .vimrc or
+.gvimrc file: MyTagListTagName, MyTagListTagScope, MyTagListTitle,
+MyTagListComment and MyTagListFileName.  For example, to change the colors
+used for tag names, you can use the following command:
+>
+    :highlight MyTagListTagName guifg=blue ctermfg=blue
+<
+Controlling the taglist window~
+To use a horizontally split taglist window, instead of a vertically split
+window, set the 'Tlist_Use_Horiz_Window' variable to 1.
+
+To use a vertically split taglist window on the rightmost side of the Vim
+window, set the 'Tlist_Use_Right_Window' variable to 1.
+
+You can specify the width of the vertically split taglist window, by setting
+the 'Tlist_WinWidth' variable.  You can specify the height of the horizontally
+split taglist window, by setting the 'Tlist_WinHeight' variable.
+
+When opening a vertically split taglist window, the Vim window width is
+increased to accommodate the new taglist window. When the taglist window is
+closed, the Vim window is reduced. To disable this, set the
+'Tlist_Inc_Winwidth' variable to zero.
+
+To reduce the number of empty lines in the taglist window, set the
+'Tlist_Compact_Format' variable to 1.
+
+To not display the Vim fold column in the taglist window, set the
+'Tlist_Enable_Fold_Column' variable to zero.
+
+To display the tag prototypes instead of the tag names in the taglist window,
+set the 'Tlist_Display_Prototype' variable to 1.
+
+To not display the scope of the tags next to the tag names, set the
+'Tlist_Display_Tag_Scope' variable to zero.
+
+						*taglist-keys*
+Taglist window key list~
+The following table lists the description of the keys that can be used
+in the taglist window.
+
+  Key           Description~
+
+  <CR>          Jump to the location where the tag under cursor is
+                defined.
+  o             Jump to the location where the tag under cursor is
+                defined in a new window.
+  P             Jump to the tag in the previous (Ctrl-W_p) window.
+  p             Display the tag definition in the file window and
+                keep the cursor in the taglist window itself.
+  t             Jump to the tag in a new tab. If the file is already
+                opened in a tab, move to that tab.
+  Ctrl-t	Jump to the tag in a new tab.
+  <Space>       Display the prototype of the tag under the cursor.
+  		For file names, display the full path to the file,