├── ftplugin ├── a.pl └── perl.vim ├── .gitignore ├── bundle └── vundle.md ├── plugin ├── vimdir.vim ├── hexHighlight.vim └── vawa.vim ├── README.md ├── colors ├── sri.vim ├── mustang.vim ├── kraihlight.vim ├── railscasts.vim ├── tempire.vim ├── iawriter.vim ├── xoria256.vim ├── twilight.vim ├── vwilight.vim ├── twilight2.vim ├── neverland-ansi_bg.vim ├── leo.vim ├── neverland-darker.vim ├── neverland2.vim ├── neverland2-darker.vim ├── neverland.vim ├── ir_black.vim ├── desert256.vim └── jellybeans.vim ├── syntax └── nt.vim ├── vimrc └── doc └── taglist.txt /ftplugin/a.pl: -------------------------------------------------------------------------------- 1 | sub hello { 2 | asdf 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | view/ 2 | bundle/* 3 | !bundle/vundle.md 4 | -------------------------------------------------------------------------------- /bundle/vundle.md: -------------------------------------------------------------------------------- 1 | Placeholder directory for vundle plugin installations 2 | -------------------------------------------------------------------------------- /plugin/vimdir.vim: -------------------------------------------------------------------------------- 1 | let $VIMHOME=expand(':p:h:h') 2 | let $VIM_USER_RC = $VIMHOME . "/vimrc.". luser 3 | execute "silent! source " . $VIM_USER_RC 4 | -------------------------------------------------------------------------------- /ftplugin/perl.vim: -------------------------------------------------------------------------------- 1 | if ! exists("g:did_perl_statusline") 2 | setlocal statusline+=%(\ %{StatusLineIndexLine()}%) 3 | setlocal statusline+=%= 4 | setlocal statusline+=%f\ 5 | setlocal statusline+=%P 6 | let g:did_perl_statusline = 1 7 | endif 8 | 9 | if has( 'perl' ) 10 | perl << EOP 11 | use strict; 12 | sub current_sub { 13 | my $curwin = $main::curwin; 14 | my $curbuf = $main::curbuf; 15 | 16 | my @document = map { $curbuf->Get($_) } 0 .. $curbuf->Count; 17 | my ( $line_number, $column ) = $curwin->Cursor; 18 | 19 | my $sub_name = '(not in sub)'; 20 | for my $i ( reverse ( 1 .. $line_number -1 ) ) { 21 | my $line = $document[$i]; 22 | if ( $line =~ /^\s*sub\s+(\w+)\b/ ) { 23 | $sub_name = $1; 24 | last; 25 | } 26 | } 27 | VIM::DoCommand "let subName='$sub_name '"; 28 | } 29 | EOP 30 | 31 | function! StatusLineIndexLine() 32 | perl current_sub() 33 | return subName 34 | endfunction 35 | endif 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Requirements 2 | - ctags (yum install ctags on redhat based systems) 3 | - vim must be compiled with perl & python (in order to use gundo) 4 | - ./configure --enable-perlinterp --enable-pythoninterp 5 | 6 | ### On OSX, use homebrew to install vim (terminal & gui): 7 | 8 | brew install ctags 9 | brew install macvim --override-system-vim 10 | 11 | ## Install 12 | 13 | git clone git://github.com/tempire/dotvim.git .vim 14 | cd .vim 15 | ln -s ~/.vim/vimrc ~/.vimrc 16 | 17 | ### Install Vundle 18 | 19 | git 20 | clone 21 | https://github.com/gmarik/Vundle.vim.git 22 | ~/.vim/bundle/Vundle.vim 23 | 24 | ### Install other plugins using vundle 25 | 26 | Open up vim, type :BundleInstall 27 | 28 | 29 | ### If you're using Haskell... 30 | 31 | cabal install ghc-mod # Install cabal 32 | 33 | cd $HOME/.vim/bundle/vimproc 34 | make -f make_mac.mak # For Mac (use appropriate file for platform) 35 | 36 | 37 | ## Customization 38 | 39 | ~/.vim/vimrc.$USER 40 | 41 | If your shell login is *purl*, create the file *~/.vim/vimrc.purl*. 42 | 43 | All custom vim configuration will override the dotvim defaults. 44 | -------------------------------------------------------------------------------- /plugin/hexHighlight.vim: -------------------------------------------------------------------------------- 1 | "gvim plugin for highlighting hex codes to help with tweaking colors 2 | "Last Change: 2010 Jan 21 3 | "Maintainer: Yuri Feldman 4 | "License: WTFPL - Do What The Fuck You Want To Public License. 5 | "Email me if you'd like. 6 | let s:HexColored = 0 7 | let s:HexColors = [] 8 | 9 | map :call HexHighlight() 10 | function! HexHighlight() 11 | if has("gui_running") 12 | if s:HexColored == 0 13 | let hexGroup = 4 14 | let lineNumber = 0 15 | while lineNumber <= line("$") 16 | let currentLine = getline(lineNumber) 17 | let hexLineMatch = 1 18 | while match(currentLine, '#\x\{6}', 0, hexLineMatch) != -1 19 | let hexMatch = matchstr(currentLine, '#\x\{6}', 0, hexLineMatch) 20 | exe 'hi hexColor'.hexGroup.' guifg='.hexMatch.' guibg='.hexMatch 21 | exe 'let m = matchadd("hexColor'.hexGroup.'", "'.hexMatch.'", 25, '.hexGroup.')' 22 | let s:HexColors += ['hexColor'.hexGroup] 23 | let hexGroup += 1 24 | let hexLineMatch += 1 25 | endwhile 26 | let lineNumber += 1 27 | endwhile 28 | unlet lineNumber hexGroup 29 | let s:HexColored = 1 30 | echo "Highlighting hex colors..." 31 | elseif s:HexColored == 1 32 | for hexColor in s:HexColors 33 | exe 'highlight clear '.hexColor 34 | endfor 35 | call clearmatches() 36 | let s:HexColored = 0 37 | echo "Unhighlighting hex colors..." 38 | endif 39 | else 40 | echo "hexHighlight only works with a graphical version of vim" 41 | endif 42 | endfunction 43 | -------------------------------------------------------------------------------- /colors/sri.vim: -------------------------------------------------------------------------------- 1 | set background=dark 2 | 3 | hi clear 4 | 5 | if exists("syntax_on") 6 | syntax reset 7 | endif 8 | 9 | let colors_name = "sri" 10 | 11 | hi Visual guibg=#404040 12 | hi Cursor guibg=#b0d0f0 13 | 14 | hi Normal guifg=#fffedc guibg=#1a1a1a 15 | "hi Normal guifg=#fffedc guibg=#1a1a1a 16 | "hi Normal guifg=#ffffff guibg=#111111 17 | hi Underlined guifg=#fffedc guibg=NONE gui=underline 18 | hi NonText guifg=#34383c guibg=NONE 19 | hi SpecialKey guifg=#303030 guibg=NONE 20 | hi LineNr guifg=#34383c guibg=NONE gui=NONE 21 | hi StatusLine guifg=black guibg=#666666 gui=NONE 22 | hi StatusLineNC guifg=#666666 guibg=#333333 gui=NONE 23 | "hi StatusLineNC guifg=#34383c guibg=#333333 gui=NONE 24 | hi VertSplit guifg=#303030 guibg=#303030 gui=NONE 25 | hi WildMenu guifg=#fffedc guibg=NONE gui=NONE 26 | hi Folded guifg=#8a9597 guibg=#34383c gui=NONE 27 | hi FoldColumn guifg=#8a9597 guibg=#34383c gui=NONE 28 | hi SignColumn guifg=#8a9597 guibg=#34383c gui=NONE 29 | hi MatchParen guifg=NONE guibg=#a2a96f gui=bold 30 | hi ErrorMsg guifg=#fffedc guibg=NONE gui=NONE 31 | hi WarnMsg guifg=#fffedc guibg=NONE gui=NONE 32 | hi ModeMsg guifg=#fffedc guibg=NONE gui=NONE 33 | hi MoreMsg guifg=#fffedc guibg=NONE gui=NONE 34 | hi Question guifg=#fffedc guibg=NONE gui=NONE 35 | 36 | hi Comment guifg=#5F5A60 gui=italic 37 | hi String guifg=#a2a96f 38 | hi Number guifg=#a2a96f 39 | 40 | hi Keyword guifg=#ceb67f 41 | hi PreProc guifg=#5F5A60 gui=italic 42 | hi Conditional guifg=#ceb67f 43 | hi Operator guifg=#ceb67f 44 | hi Todo guifg=#8a9597 gui=italic,bold 45 | "hi Constant guifg=#d08356 46 | hi Constant guifg=#d08356 47 | 48 | "hi Identifier guifg=#8a9597 49 | hi Identifier guifg=#7283A1 50 | hi Function guifg=#d08356 51 | hi Type guifg=#e3d796 gui=bold 52 | hi Statement guifg=#ceb67f 53 | 54 | hi Special guifg=#c2c98f 55 | hi Delimiter guifg=#fffedc 56 | "hi Operator guifg=#fffff 57 | 58 | hi Title guifg=#d08356 gui=underline 59 | hi Repeat guifg=#ceb67f 60 | hi Structure guifg=#ceb67f 61 | 62 | hi Directory guifg=#dad085 63 | hi Error guibg=#602020 64 | 65 | "More by glen 66 | "hi CursorLine guibg=#121212 gui=underline 67 | hi CursorLine guifg=NONE guibg=#000000 gui=none 68 | hi CursorColumn guifg=NONE guibg=#000000 gui=none 69 | hi Pmenu guifg=#f6f3e8 guibg=gray30 70 | hi PmenuSel guifg=#000000 guibg=#cae682 71 | -------------------------------------------------------------------------------- /colors/mustang.vim: -------------------------------------------------------------------------------- 1 | " Maintainer: Henrique C. Alves (hcarvalhoalves@gmail.com) 2 | " Version: 1.0 3 | " Last Change: September 25 2008 4 | 5 | set background=dark 6 | 7 | hi clear 8 | 9 | if exists("syntax_on") 10 | syntax reset 11 | endif 12 | 13 | let colors_name = "mustang" 14 | 15 | " Vim >= 7.0 specific colors 16 | if version >= 700 17 | hi CursorLine guibg=#2d2d2d ctermbg=236 18 | hi CursorColumn guibg=#2d2d2d ctermbg=236 19 | hi MatchParen guifg=#d0ffc0 guibg=#2f2f2f gui=bold ctermfg=157 ctermbg=237 cterm=bold 20 | hi Pmenu guifg=#ffffff guibg=#444444 ctermfg=255 ctermbg=238 21 | hi PmenuSel guifg=#000000 guibg=#b1d631 ctermfg=0 ctermbg=148 22 | endif 23 | 24 | " General colors 25 | hi Cursor guifg=NONE guibg=#626262 gui=none ctermbg=241 26 | hi Normal guifg=#e2e2e5 guibg=#202020 gui=none ctermfg=253 ctermbg=234 27 | hi NonText guifg=#808080 guibg=#303030 gui=none ctermfg=244 ctermbg=235 28 | hi LineNr guifg=#808080 guibg=#000000 gui=none ctermfg=244 ctermbg=232 29 | hi StatusLine guifg=#d3d3d5 guibg=#444444 gui=italic ctermfg=253 ctermbg=238 cterm=italic 30 | hi StatusLineNC guifg=#939395 guibg=#444444 gui=none ctermfg=246 ctermbg=238 31 | hi VertSplit guifg=#444444 guibg=#444444 gui=none ctermfg=238 ctermbg=238 32 | hi Folded guibg=#384048 guifg=#a0a8b0 gui=none ctermbg=4 ctermfg=248 33 | hi Title guifg=#f6f3e8 guibg=NONE gui=bold ctermfg=254 cterm=bold 34 | hi Visual guifg=#faf4c6 guibg=#3c414c gui=none ctermfg=254 ctermbg=4 35 | hi SpecialKey guifg=#808080 guibg=#343434 gui=none ctermfg=244 ctermbg=236 36 | 37 | " Syntax highlighting 38 | hi Comment guifg=#808080 gui=italic ctermfg=244 39 | hi Todo guifg=#8f8f8f gui=italic ctermfg=245 40 | hi Boolean guifg=#b1d631 gui=none ctermfg=148 41 | hi String guifg=#b1d631 gui=italic ctermfg=148 42 | hi Identifier guifg=#b1d631 gui=none ctermfg=148 43 | hi Function guifg=#ffffff gui=bold ctermfg=255 44 | hi Type guifg=#7e8aa2 gui=none ctermfg=103 45 | hi Statement guifg=#7e8aa2 gui=none ctermfg=103 46 | hi Keyword guifg=#ff9800 gui=none ctermfg=208 47 | hi Constant guifg=#ff9800 gui=none ctermfg=208 48 | hi Number guifg=#ff9800 gui=none ctermfg=208 49 | hi Special guifg=#ff9800 gui=none ctermfg=208 50 | hi PreProc guifg=#faf4c6 gui=none ctermfg=230 51 | hi Todo guifg=#000000 guibg=#e6ea50 gui=italic 52 | 53 | " Code-specific colors 54 | hi pythonOperator guifg=#7e8aa2 gui=none ctermfg=103 55 | 56 | -------------------------------------------------------------------------------- /colors/kraihlight.vim: -------------------------------------------------------------------------------- 1 | set background=dark 2 | 3 | hi clear 4 | 5 | if exists("syntax_on") 6 | syntax reset 7 | endif 8 | 9 | let colors_name = "kraihlight" 10 | 11 | hi Visual guibg=#404040 ctermbg=238 12 | hi Cursor guibg=#b0d0f0 ctermbg=117 13 | 14 | hi Normal guifg=#f9f9f9 guibg=#141414 ctermfg=254 15 | hi Underlined guifg=#f9f9f9 guibg=NONE gui=underline ctermfg=254 16 | hi NonText guifg=#34383c guibg=NONE ctermfg=240 17 | hi SpecialKey guifg=#303030 guibg=NONE ctermfg=239 18 | hi LineNr guifg=#34383c guibg=NONE gui=NONE ctermfg=240 19 | hi StatusLine guifg=black guibg=#666666 gui=NONE 20 | hi StatusLineNC guifg=#666666 guibg=#333333 gui=NONE 21 | hi VertSplit guifg=#303030 guibg=#303030 gui=NONE ctermfg=239 ctermbg=239 22 | hi WildMenu guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 ctermbg=NONE 23 | hi Folded guifg=#8a9597 guibg=#34383c gui=NONE ctermfg=250 24 | hi FoldColumn guifg=#8a9597 guibg=#34383c gui=NONE ctermfg=250 25 | hi SignColumn guifg=#8a9597 guibg=#34383c gui=NONE ctermfg=250 26 | hi MatchParen guifg=NONE guibg=#a2a96f gui=bold ctermfg=232 27 | hi ErrorMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 28 | hi WarnMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 29 | hi ModeMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 30 | hi MoreMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 31 | hi Question guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 32 | 33 | hi Comment guifg=#726d73 gui=italic ctermfg=240 34 | hi String guifg=#9fac7f ctermfg=150 35 | hi Number guifg=#9fac7f ctermfg=150 36 | 37 | hi Keyword guifg=#d6b67f ctermfg=215 38 | "hi Keyword guifg=#F0EDA3 ctermfg=215 39 | hi PreProc guifg=#899ab4 ctermfg=110 40 | hi Conditional guifg=#d6b67f ctermfg=216 41 | 42 | hi Todo guifg=#899ab4 gui=italic,bold ctermfg=110 43 | hi Constant guifg=#d08356 ctermfg=209 44 | 45 | hi Identifier guifg=#899ab4 ctermfg=110 46 | hi Function guifg=#ab8252 ctermfg=215 47 | hi Type guifg=#d87d5f gui=bold ctermfg=209 48 | hi Statement guifg=#d6b67f ctermfg=215 49 | "hi Statement guifg=#F0EDA3 ctermfg=215 50 | 51 | hi Special guifg=#ac98ac ctermfg=225 52 | hi Delimiter guifg=#f9f9f9 ctermfg=254 53 | hi Operator guifg=#f9f9f9 ctermfg=254 54 | 55 | hi Title guifg=#ab8252 gui=underline ctermfg=215 56 | hi Repeat guifg=#d6b67f ctermfg=215 57 | hi Structure guifg=#d6b67f ctermfg=215 58 | 59 | hi Directory guifg=#dad085 ctermfg=228 60 | hi Error guibg=#602020 ctermfg=52 61 | " 62 | hi CursorLine guifg=NONE guibg=#000000 gui=none 63 | hi CursorColumn guifg=NONE guibg=#000000 gui=none 64 | "hi Pmenu guifg=#602020 guibg=gray30 65 | hi Pmenu guifg=#000000 guibg=#9CBBDE gui=bold 66 | "hi PmenuSel guifg=#000000 guibg=#602020 67 | hi PmenuSel guifg=#000000 guibg=#ffffff 68 | hi ColorColumn guifg=NONE guibg=#303030 gui=NONE ctermfg=239 ctermbg=239 69 | -------------------------------------------------------------------------------- /colors/railscasts.vim: -------------------------------------------------------------------------------- 1 | " Vim color scheme based on http://github.com/jpo/vim-railscasts-theme 2 | " 3 | " Name: railscasts.vim 4 | " Maintainer: Ryan Bates 5 | " License: MIT 6 | 7 | set background=dark 8 | hi clear 9 | if exists("syntax_on") 10 | syntax reset 11 | endif 12 | let g:colors_name = "railscasts" 13 | 14 | " Colors 15 | " Brown #BC9357 16 | " Dark Blue #6D9CBD 17 | " Dark Green #509E50 18 | " Dark Orange #CC7733 19 | " Light Blue #CFCFFF 20 | " Light Green #A5C160 21 | " Tan #FFC66D 22 | " Red #DA4938 23 | 24 | hi Normal guifg=#E6E1DC guibg=#232323 25 | hi Cursor guibg=#FFFFFF 26 | hi CursorLine guibg=#333435 27 | hi LineNr guifg=#666666 28 | hi Visual guibg=#5A647E 29 | hi Search guifg=NONE guibg=#131313 gui=NONE 30 | hi Folded guifg=#F6F3E8 guibg=#444444 gui=NONE 31 | hi Directory guifg=#A5C160 gui=NONE 32 | hi Error guifg=#FFFFFF guibg=#990000 33 | hi MatchParen guifg=NONE guibg=#131313 34 | hi Title guifg=#E6E1DC 35 | 36 | hi Comment guifg=#BC9357 guibg=NONE gui=italic 37 | hi! link Todo Comment 38 | 39 | hi String guifg=#A5C160 40 | hi! link Number String 41 | hi! link rubyStringDelimiter String 42 | 43 | " nil, self, symbols 44 | hi Constant guifg=#6D9CBD 45 | 46 | " def, end, include, load, require, alias, super, yield, lambda, proc 47 | hi Define guifg=#CC7733 gui=NONE 48 | hi! link Include Define 49 | hi! link Keyword Define 50 | hi! link Macro Define 51 | 52 | " #{foo}, <%= bar %> 53 | hi Delimiter guifg=#509E50 54 | " hi erubyDelimiter guifg=NONE 55 | 56 | " function name (after def) 57 | hi Function guifg=#FFC66D gui=NONE 58 | 59 | "@var, @@var, $var 60 | hi Identifier guifg=#CFCFFF gui=NONE 61 | 62 | " #if, #else, #endif 63 | 64 | " case, begin, do, for, if, unless, while, until, else 65 | hi Statement guifg=#CC7733 gui=NONE 66 | hi! link PreProc Statement 67 | hi! link PreCondit Statement 68 | 69 | " SomeClassName 70 | hi Type guifg=NONE gui=NONE 71 | 72 | " has_many, respond_to, params 73 | hi railsMethod guifg=#DA4938 gui=NONE 74 | 75 | hi DiffAdd guifg=#E6E1DC guibg=#144212 76 | hi DiffDelete guifg=#E6E1DC guibg=#660000 77 | 78 | hi xmlTag guifg=#E8BF6A 79 | hi! link xmlTagName xmlTag 80 | hi! link xmlEndTag xmlTag 81 | hi! link xmlArg xmlTag 82 | hi! link htmlTag xmlTag 83 | hi! link htmlTagName xmlTagName 84 | hi! link htmlEndTag xmlEndTag 85 | hi! link htmlArg xmlArg 86 | 87 | " Popup Menu 88 | " ---------- 89 | " normal item in popup 90 | hi Pmenu guifg=#F6F3E8 guibg=#444444 gui=NONE 91 | " selected item in popup 92 | hi PmenuSel guifg=#000000 guibg=#A5C160 gui=NONE 93 | " scrollbar in popup 94 | hi PMenuSbar guibg=#5A647E gui=NONE 95 | " thumb of the scrollbar in the popup 96 | hi PMenuThumb guibg=#AAAAAA gui=NONE 97 | 98 | -------------------------------------------------------------------------------- /plugin/vawa.vim: -------------------------------------------------------------------------------- 1 | " Drop this into .vim/plugin.vawa.vim 2 | " if you already have vawa.vim, rename appropriately 3 | " automatically highlights variables under cursor, allowing you to easily see the data flow. 4 | 5 | " Vawa Plugin for VIM > 7.3 version 1.00 6 | " Maintainer: Sandeep.c.r 7 | " Hacked for Perl by Curtis "Ovid" Poe 8 | 9 | function! s:vawa() 10 | call clearmatches() 11 | let s:temp = getpos('.') 12 | let s:current_col = s:temp[2] 13 | let s:current_line = s:temp[1] 14 | let s:temp = searchpos('[>$@%*&]','bcn') 15 | let s:sigil_line = s:temp[0] 16 | let s:sigil_col = s:temp[1] 17 | if(s:sigil_line != s:current_line) 18 | return 19 | endif 20 | let s:temp = getbufline(bufnr('%'),line('.')) 21 | let s:varend = match(s:temp[0], '[^a-zA-Z0-9_\x7f-\xff]\|\n', s:sigil_col)+1 22 | let s:space_col = s:varend 23 | if((s:space_col > s:sigil_col) && ( s:space_col< s:current_col)) 24 | return 25 | endif 26 | if(s:varend == 0) 27 | let s:varend = strlen(s:temp[0])+1 28 | endif 29 | let s:current_char = s:temp[0][s:current_col-1] 30 | if(s:current_char == '>' || s:current_char == '-') 31 | return 32 | endif 33 | if(exists("g:vawahl")) 34 | exe "highlight VarHl " . g:vawahl 35 | else 36 | highlight VarHl ctermbg=black ctermfg=red guifg=#ff0000 guibg=#000000 ctermfg=LightRed gui=bold 37 | endif 38 | let s:str = strpart(s:temp[0], s:sigil_col-1,(s:varend - s:sigil_col)) 39 | let s:prefix = '' 40 | if(exists("g:vawanohlcurrent") && (g:vawanohlcurrent == 1)) 41 | let s:lineab = s:current_line - 1 42 | let s:linebe = s:current_line + 1 43 | let s:colbf = s:sigil_col + 1 44 | let s:prefix = '\(\%>'.s:lineab.'l.\%<'.s:linebe.'l.\%>'.s:colbf.'c\)\@!' 45 | endif 46 | if(s:str == '$') 47 | return 48 | endif 49 | if(strpart(s:str,0,1) == '>') 50 | let s:str = strpart(s:str ,1) 51 | call matchadd('VarHl', s:prefix.'>\@<='. s:str.'\n\{-\}\(\([^a-zA-Z0-9_\x7f-\xff]\)\|$\)\@=') 52 | else 53 | call matchadd('VarHl', s:prefix.s:str.'\n\{-\}\(\([^a-zA-Z0-9_\x7f-\xff]\)\|$\)\@=') 54 | endif 55 | endfunction 56 | if(!exists("g:vawanoauto") || (g:vawanoauto == 1)) 57 | augroup HighlightVar 58 | autocmd! 59 | au CursorMoved *.pl call vawa() 60 | au CursorMovedi *.pl call vawa() 61 | au CursorMoved *.pm call vawa() 62 | au CursorMovedi *.pm call vawa() 63 | au CursorMoved *.t call vawa() 64 | au CursorMovedi *.t call vawa() 65 | augroup END 66 | endif 67 | 68 | command! Vawa :call vawa() 69 | -------------------------------------------------------------------------------- /colors/tempire.vim: -------------------------------------------------------------------------------- 1 | set background=dark 2 | 3 | hi clear 4 | 5 | if exists("syntax_on") 6 | syntax reset 7 | endif 8 | 9 | let colors_name = "tempire" 10 | set linespace=5 11 | 12 | hi Visual guibg=#404040 ctermbg=238 13 | hi Cursor guibg=#b0d0f0 ctermbg=117 14 | 15 | hi Normal guifg=#f9f9f9 guibg=#141414 ctermfg=254 16 | hi Underlined guifg=#f9f9f9 guibg=NONE gui=underline ctermfg=254 17 | hi NonText guifg=#34383c guibg=NONE ctermfg=240 18 | hi SpecialKey guifg=#303030 guibg=NONE ctermfg=239 19 | hi LineNr guifg=#34383c guibg=NONE gui=NONE ctermfg=240 20 | hi StatusLine guifg=black guibg=#666666 gui=NONE 21 | hi StatusLineNC guifg=#666666 guibg=#333333 gui=NONE 22 | hi VertSplit guifg=#303030 guibg=#303030 gui=NONE ctermfg=239 ctermbg=239 23 | hi WildMenu guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 ctermbg=NONE 24 | hi Folded guifg=#8a9597 guibg=#34383c gui=NONE ctermfg=250 25 | hi FoldColumn guifg=#8a9597 guibg=#34383c gui=NONE ctermfg=250 26 | hi SignColumn guifg=#8a9597 guibg=#34383c gui=NONE ctermfg=250 27 | hi MatchParen guifg=NONE guibg=#a2a96f gui=bold ctermfg=232 28 | hi ErrorMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 29 | hi WarnMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 30 | hi ModeMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 31 | hi MoreMsg guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 32 | hi Question guifg=#f9f9f9 guibg=NONE gui=NONE ctermfg=254 33 | 34 | hi Comment guifg=#726d73 gui=italic ctermfg=240 35 | hi String guifg=#9fac7f ctermfg=150 36 | hi Number guifg=#9fac7f ctermfg=150 37 | 38 | hi Keyword guifg=#d6b67f ctermfg=215 39 | "hi Keyword guifg=#F0EDA3 ctermfg=215 40 | hi PreProc guifg=#899ab4 ctermfg=110 41 | hi Conditional guifg=#d6b67f ctermfg=216 42 | 43 | hi Todo guifg=#899ab4 gui=italic,bold ctermfg=110 44 | hi Constant guifg=#d08356 ctermfg=209 45 | 46 | hi Identifier guifg=#899ab4 ctermfg=110 47 | hi Function guifg=#ab8252 ctermfg=215 48 | hi Type guifg=#d87d5f gui=bold ctermfg=209 49 | hi Statement guifg=#d6b67f ctermfg=215 50 | "hi Statement guifg=#F0EDA3 ctermfg=215 51 | 52 | hi Special guifg=#ac98ac ctermfg=225 53 | hi Delimiter guifg=#f9f9f9 ctermfg=254 54 | hi Operator guifg=#f9f9f9 ctermfg=254 55 | 56 | hi Title guifg=#ab8252 gui=underline ctermfg=215 57 | hi Repeat guifg=#d6b67f ctermfg=215 58 | hi Structure guifg=#d6b67f ctermfg=215 59 | 60 | hi Directory guifg=#dad085 ctermfg=228 61 | hi Error guibg=#602020 ctermfg=52 62 | " 63 | hi CursorLine guifg=NONE guibg=#000000 gui=none 64 | hi CursorColumn guifg=NONE guibg=#000000 gui=none 65 | "hi Pmenu guifg=#602020 guibg=gray30 66 | "hi Pmenu guifg=#000000 guibg=#9CBBDE gui=bold 67 | hi Pmenu guifg=#ffffff guibg=#0087AF gui=bold 68 | "hi PmenuSel guifg=#000000 guibg=#602020 69 | hi PmenuSel guifg=#000000 guibg=#ffffff 70 | hi ColorColumn guifg=NONE guibg=#303030 gui=NONE ctermfg=239 ctermbg=239 71 | -------------------------------------------------------------------------------- /colors/iawriter.vim: -------------------------------------------------------------------------------- 1 | " 2 | " Last Change: 2011/12/11 3 | " Maintainer: Jacek Dominiak 4 | " 5 | " Description: Vim color file 6 | " 7 | 8 | set background=light 9 | hi clear 10 | if exists("syntax_on") 11 | syntax reset 12 | endif 13 | 14 | set linespace=5 15 | let g:colors_name="iawriter" 16 | 17 | hi Cursor guifg=#ffffff guibg=#990000 18 | hi Normal guifg=#424242 guibg=#f5f6f6 ctermfg=black ctermbg=white 19 | hi DiffAdd guibg=#c0ffe0 ctermbg=3 20 | hi DiffDelete guifg=#ff8097 guibg=#ffe0f7 ctermfg=4 ctermbg=5 21 | hi DiffChange guibg=#cfefff ctermbg=9 22 | hi DiffText guibg=#bfdfff gui=NONE ctermbg=6 cterm=NONE 23 | hi NonText guifg=bg ctermfg=bg 24 | "hi NonText guifg=grey50 guibg=grey86 gui=NONE ctermfg=darkblue 25 | hi SpecialKey guifg=grey50 guibg=grey86 gui=NONE ctermfg=darkblue 26 | "hi NonText guifg=grey50 guibg=grey86 ctermfg=blue 27 | hi LineNr guifg=grey50 guibg=grey86 ctermfg=darkblue 28 | hi Search guibg=#fff999 29 | hi StatusLine guifg=bg guibg=#333333 gui=NONE ctermfg=bg ctermbg=black cterm=NONE 30 | hi StatusLineNC guifg=bg guibg=grey40 gui=NONE ctermfg=bg ctermbg=black cterm=NONE 31 | hi Visual guifg=fg guibg=#ccccdd gui=NONE 32 | hi VisualNOS guifg=bg guibg=#ccccdd gui=NONE 33 | 34 | " syntax highlighting groups 35 | hi Comment guifg=#000099 guibg=bg ctermfg=darkblue 36 | hi String guifg=#b30000 guibg=bg ctermfg=darkred 37 | hi Constant guifg=#c033ff guibg=bg ctermfg=darkmagenta 38 | hi Statement guifg=black guibg=bg ctermfg=black cterm=NONE 39 | hi PreProc guifg=#335588 guibg=bg gui=NONE ctermfg=blue 40 | hi Type guifg=#338855 guibg=bg gui=NONE ctermfg=darkgreen 41 | hi StorageClass guifg=#990000 guibg=bg ctermfg=red 42 | hi Special guifg=#6688ff guibg=bg ctermfg=darkcyan 43 | hi Function guifg=#117777 guibg=bg ctermfg=red 44 | 45 | " showpairs plugin 46 | " for cursor on paren 47 | hi ShowPairsHL guibg=#c4ffc4 ctermbg=lightgreen 48 | " for cursor between parens 49 | hi ShowPairsHLp guibg=#c4f0c4 ctermbg=lightgreen 50 | " unmatched paren 51 | hi ShowPairsHLe guibg=#ff5555 ctermbg=red 52 | 53 | " settings for Vim7 54 | if version >= 700 55 | hi MatchParen guibg=#c4ffc4 ctermbg=lightgreen 56 | " Spell 57 | hi SpellBad guifg=#cc0000 gui=undercurl guisp=#cc0000 ctermfg=red cterm=underline 58 | hi SpellRare guifg=magenta gui=undercurl ctermfg=magenta cterm=underline 59 | hi SpellCap gui=undercurl guisp=#22cc22 cterm=underline 60 | " Completion menu 61 | hi Pmenu guibg=#ffffcc ctermbg=yellow 62 | hi PmenuSel guibg=#ddddaa ctermbg=lightcyan cterm=NONE 63 | hi PmenuSbar guibg=#999966 ctermbg=lightcyan 64 | " Tab line 65 | hi TabLine guibg=grey70 cterm=underline 66 | hi TabLineSel gui=NONE cterm=NONE 67 | hi TabLineFill guifg=black guibg=grey80 cterm=underline 68 | endif 69 | -------------------------------------------------------------------------------- /colors/xoria256.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " 3 | " Name: xoria256.vim 4 | " Version: 1.2 5 | " Maintainer: Dmitriy Y. Zotikov (xio) 6 | " 7 | " Should work in recent 256 color terminals. 88-color terms like urxvt are 8 | " unsupported. 9 | " 10 | " Don't forget to install 'ncurses-term' and set TERM to xterm-256color or 11 | " similar value. 12 | " 13 | " Color numbers (0-255) see: 14 | " http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html 15 | 16 | 17 | 18 | " Bla-bla ---------------------------------------------------------------------- 19 | 20 | if &t_Co != 256 && ! has("gui_running") 21 | echomsg "" 22 | echomsg "err: please use GUI or a 256-color terminal (so that t_Co=256 could be set)" 23 | echomsg "" 24 | finish 25 | endif 26 | 27 | set background=dark 28 | 29 | hi clear 30 | 31 | if exists("syntax_on") 32 | syntax reset 33 | endif 34 | 35 | let colors_name = "xoria256" 36 | 37 | 38 | 39 | " The real part ---------------------------------------------------------------- 40 | 41 | "" General colors 42 | hi Normal ctermfg=252 guifg=#d0d0d0 ctermbg=234 guibg=#1c1c1c cterm=none gui=none 43 | hi CursorColumn ctermbg=238 guibg=#444444 44 | hi Cursor ctermbg=214 guibg=#ffaf00 45 | hi CursorLine ctermbg=238 guibg=#444444 46 | hi FoldColumn ctermfg=248 guifg=#a8a8a8 ctermbg=bg guibg=bg 47 | hi Folded ctermfg=255 guifg=#eeeeee ctermbg=60 guibg=#5f5f87 48 | hi IncSearch ctermfg=0 guifg=#000000 ctermbg=223 guibg=#ffdfaf cterm=none gui=none 49 | hi NonText ctermfg=248 guifg=#a8a8a8 ctermbg=233 guibg=#101010 cterm=bold gui=bold 50 | hi Pmenu ctermfg=0 guifg=#000000 ctermbg=246 guibg=#949494 51 | hi PmenuSbar ctermbg=243 guibg=#767676 52 | hi PmenuSel ctermfg=0 guifg=#000000 ctermbg=243 guibg=#767676 53 | hi PmenuThumb ctermbg=252 guibg=#d0d0d0 54 | hi Search ctermfg=0 guifg=#000000 ctermbg=149 guibg=#afdf5f 55 | hi SignColumn ctermfg=248 guifg=#a8a8a8 56 | hi SpecialKey ctermfg=77 guifg=#5fdf5f 57 | hi StatusLine ctermbg=239 guibg=#4e4e4e cterm=bold gui=bold 58 | hi StatusLineNC ctermbg=237 guibg=#3a3a3a cterm=none gui=none 59 | hi TabLine ctermfg=fg guifg=fg ctermbg=242 guibg=#666666 cterm=underline gui=underline 60 | hi TabLineFill ctermfg=fg guifg=fg ctermbg=242 guibg=#666666 cterm=underline gui=underline 61 | hi VertSplit ctermfg=237 guifg=#3a3a3a ctermbg=237 guibg=#3a3a3a cterm=none gui=none 62 | hi Visual ctermfg=24 guifg=#005f87 ctermbg=153 guibg=#afdfff 63 | hi VIsualNOS ctermfg=24 guifg=#005f87 ctermbg=153 guibg=#afdfff cterm=none gui=none 64 | hi WildMenu ctermfg=0 guifg=#000000 ctermbg=150 guibg=#afdf87 cterm=bold gui=bold 65 | 66 | "" Syntax highlighting 67 | hi Comment ctermfg=244 guifg=#808080 68 | hi Constant ctermfg=229 guifg=#ffffaf 69 | hi Error ctermfg=15 guifg=#ffffff ctermbg=1 guibg=#800000 70 | hi ErrorMsg ctermfg=15 guifg=#ffffff ctermbg=1 guibg=#800000 71 | hi Identifier ctermfg=182 guifg=#dfafdf cterm=none 72 | hi Ignore ctermfg=238 guifg=#444444 73 | hi LineNr ctermfg=248 guifg=#a8a8a8 ctermbg=233 guibg=#101010 74 | hi MatchParen ctermfg=188 guifg=#dfdfdf ctermbg=68 guibg=#5f87df cterm=bold gui=bold 75 | hi Number ctermfg=180 guifg=#dfaf87 76 | hi PreProc ctermfg=150 guifg=#afdf87 77 | hi Special ctermfg=174 guifg=#df8787 78 | hi Statement ctermfg=110 guifg=#87afdf cterm=none gui=none 79 | hi Todo ctermfg=0 guifg=#000000 ctermbg=184 guibg=#dfdf00 80 | hi Type ctermfg=146 guifg=#afafdf cterm=none gui=none 81 | hi Underlined ctermfg=39 guifg=#00afff cterm=underline gui=underline 82 | 83 | "" Special 84 | """ .diff 85 | hi diffAdded ctermfg=150 guifg=#afdf87 86 | hi diffRemoved ctermfg=174 guifg=#df8787 87 | """ vimdiff 88 | hi diffAdd ctermfg=bg guifg=bg ctermbg=151 guibg=#afdfaf 89 | "hi diffDelete ctermfg=bg guifg=bg ctermbg=186 guibg=#dfdf87 cterm=none gui=none 90 | hi diffDelete ctermfg=bg guifg=bg ctermbg=246 guibg=#949494 cterm=none gui=none 91 | hi diffChange ctermfg=bg guifg=bg ctermbg=181 guibg=#dfafaf 92 | hi diffText ctermfg=bg guifg=bg ctermbg=174 guibg=#df8787 cterm=none gui=none 93 | 94 | " vim: set expandtab tabstop=2 shiftwidth=2 smarttab softtabstop=2: 95 | -------------------------------------------------------------------------------- /colors/twilight.vim: -------------------------------------------------------------------------------- 1 | 2 | set background=dark 3 | 4 | hi clear 5 | 6 | if exists("syntax_on") 7 | syntax reset 8 | endif 9 | 10 | let colors_name = "twilight" 11 | 12 | let s:grey_blue = '#8a9597' 13 | let s:light_grey_blue = '#a0a8b0' 14 | let s:dark_grey_blue = '#34383c' 15 | let s:mid_grey_blue = '#64686c' 16 | let s:beige = '#ceb67f' 17 | let s:light_orange = '#ebc471' 18 | let s:yellow = '#e3d796' 19 | let s:violet = '#a999ac' 20 | let s:green = '#a2a96f' 21 | let s:lightgreen = '#c2c98f' 22 | let s:red = '#d08356' 23 | let s:cyan = '#74dad9' 24 | let s:darkgrey = '#1a1a1a' 25 | let s:grey = '#303030' 26 | let s:lightgrey = '#605958' 27 | let s:white = '#fffedc' 28 | 29 | if version >= 700 30 | hi CursorLine guibg=#262626 31 | hi CursorColumn guibg=#262626 32 | hi MatchParen guifg=white guibg=#80a090 gui=bold 33 | 34 | "Tabpages 35 | hi TabLine guifg=#a09998 guibg=#202020 gui=underline 36 | hi TabLineFill guifg=#a09998 guibg=#202020 gui=underline 37 | hi TabLineSel guifg=#a09998 guibg=#404850 gui=underline 38 | 39 | "P-Menu (auto-completion) 40 | hi Pmenu guifg=#605958 guibg=#303030 gui=underline 41 | hi PmenuSel guifg=#a09998 guibg=#404040 gui=underline 42 | "PmenuSbar 43 | "PmenuThumb 44 | endif 45 | 46 | hi Visual guibg=#404040 47 | 48 | "hi Cursor guifg=NONE guibg=#586068 49 | hi Cursor guibg=#b0d0f0 50 | 51 | 52 | exe 'hi Normal guifg='.s:white .' guibg='.s:darkgrey 53 | exe 'hi Underlined guifg='.s:white .' guibg='.s:darkgrey .' gui=underline' 54 | exe 'hi NonText guifg='.s:lightgrey .' guibg='.s:grey 55 | exe 'hi SpecialKey guifg='.s:grey .' guibg='.s:darkgrey 56 | 57 | exe 'hi LineNr guifg='.s:mid_grey_blue .' guibg='.s:dark_grey_blue .' gui=none' 58 | exe 'hi StatusLine guifg='.s:white .' guibg='.s:grey .' gui=italic,underline' 59 | exe 'hi StatusLineNC guifg='.s:lightgrey .' guibg='.s:grey .' gui=italic,underline' 60 | exe 'hi VertSplit guifg='.s:grey .' guibg='.s:grey .' gui=none' 61 | 62 | exe 'hi Folded guifg='.s:grey_blue .' guibg='.s:dark_grey_blue .' gui=none' 63 | exe 'hi FoldColumn guifg='.s:grey_blue .' guibg='.s:dark_grey_blue .' gui=none' 64 | exe 'hi SignColumn guifg='.s:grey_blue .' guibg='.s:dark_grey_blue .' gui=none' 65 | 66 | exe 'hi Comment guifg='.s:mid_grey_blue .' guibg='.s:darkgrey .' gui=italic' 67 | exe 'hi TODO guifg='.s:grey_blue .' guibg='.s:darkgrey .' gui=italic,bold' 68 | 69 | exe 'hi Title guifg='.s:red .' guibg='.s:darkgrey .' gui=underline' 70 | 71 | exe 'hi Constant guifg='.s:red .' guibg='.s:darkgrey .' gui=none' 72 | exe 'hi String guifg='.s:green .' guibg='.s:darkgrey .' gui=none' 73 | exe 'hi Special guifg='.s:lightgreen .' guibg='.s:darkgrey .' gui=none' 74 | 75 | exe 'hi Identifier guifg='.s:grey_blue .' guibg='.s:darkgrey .' gui=none' 76 | exe 'hi Statement guifg='.s:beige .' guibg='.s:darkgrey .' gui=none' 77 | exe 'hi Conditional guifg='.s:beige .' guibg='.s:darkgrey .' gui=none' 78 | exe 'hi Repeat guifg='.s:beige .' guibg='.s:darkgrey .' gui=none' 79 | exe 'hi Structure guifg='.s:beige .' guibg='.s:darkgrey .' gui=none' 80 | exe 'hi Function guifg='.s:violet .' guibg='.s:darkgrey .' gui=none' 81 | 82 | exe 'hi PreProc guifg='.s:grey_blue .' guibg='.s:darkgrey .' gui=none' 83 | exe 'hi Operator guifg='.s:light_orange .' guibg='.s:darkgrey .' gui=none' 84 | exe 'hi Type guifg='.s:yellow .' guibg='.s:darkgrey .' gui=italic' 85 | 86 | "hi Identifier guifg=#7587a6 87 | " Type d: 'class' 88 | "hi Structure guifg=#9B859D gui=underline 89 | "hi Function guifg=#dad085 90 | " dylan: method, library, ... d: if, return, ... 91 | "hi Statement guifg=#7187a1 gui=NONE 92 | " Keywords d: import, module... 93 | "hi PreProc guifg=#8fbfdc 94 | "gui=underline 95 | "hi Operator guifg=#a07020 96 | "hi Repeat guifg=#906040 gui=underline 97 | "hi Type guifg=#708090 98 | 99 | "hi Type guifg=#f9ee98 gui=NONE 100 | 101 | "hi NonText guifg=#808080 guibg=#303030 102 | 103 | "hi Macro guifg=#a0b0c0 gui=underline 104 | 105 | "Tabs, trailing spaces, etc (lcs) 106 | "hi SpecialKey guifg=#808080 guibg=#343434 107 | 108 | "hi TooLong guibg=#ff0000 guifg=#f8f8f8 109 | 110 | hi Search guifg=#606000 guibg=#c0c000 gui=bold 111 | 112 | hi Directory guifg=#dad085 gui=NONE 113 | hi Error guibg=#602020 114 | 115 | -------------------------------------------------------------------------------- /colors/vwilight.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Converted from Textmate theme Twilight using Coloration v0.2.5 (http://github.com/sickill/coloration) 3 | 4 | set background=dark 5 | highlight clear 6 | 7 | if exists("syntax_on") 8 | syntax reset 9 | endif 10 | 11 | let g:colors_name = "Twilight" 12 | 13 | hi Cursor guifg=NONE guibg=#fffd00 gui=NONE 14 | hi Visual guifg=NONE guibg=#919309 gui=NONE 15 | hi CursorLine guifg=NONE guibg=#1b1b1b gui=NONE 16 | hi CursorColumn guifg=NONE guibg=#1b1b1b gui=NONE 17 | hi LineNr guifg=#868686 guibg=#141414 gui=NONE 18 | hi VertSplit guifg=#3f3f3f guibg=#3f3f3f gui=NONE 19 | hi MatchParen guifg=#cda869 guibg=NONE gui=NONE 20 | hi StatusLine guifg=#f8f8f8 guibg=#3f3f3f gui=bold 21 | hi StatusLineNC guifg=#f8f8f8 guibg=#3f3f3f gui=NONE 22 | hi Pmenu guifg=#9b703f guibg=NONE gui=NONE 23 | hi PmenuSel guifg=NONE guibg=#919309 gui=NONE 24 | hi IncSearch guifg=NONE guibg=#343a44 gui=NONE 25 | hi Search guifg=NONE guibg=#343a44 gui=NONE 26 | hi Directory guifg=#cf6a4c guibg=NONE gui=NONE 27 | hi Folded guifg=#5f5a60 guibg=#141414 gui=NONE 28 | 29 | hi Normal guifg=#f8f8f8 guibg=#141414 gui=NONE 30 | hi Boolean guifg=#cf6a4c guibg=NONE gui=NONE 31 | hi Character guifg=#cf6a4c guibg=NONE gui=NONE 32 | hi Comment guifg=#5f5a60 guibg=NONE gui=italic 33 | hi Conditional guifg=#cda869 guibg=NONE gui=NONE 34 | hi Constant guifg=#cf6a4c guibg=NONE gui=NONE 35 | hi Define guifg=#cda869 guibg=NONE gui=NONE 36 | hi ErrorMsg guifg=NONE guibg=NONE gui=NONE 37 | hi WarningMsg guifg=NONE guibg=NONE gui=NONE 38 | hi Float guifg=#cf6a4c guibg=NONE gui=NONE 39 | hi Function guifg=#9b703f guibg=NONE gui=NONE 40 | hi Identifier guifg=#f9ee98 guibg=NONE gui=NONE 41 | hi Keyword guifg=#cda869 guibg=NONE gui=NONE 42 | hi Label guifg=#8f9d6a guibg=NONE gui=NONE 43 | hi NonText guifg=#4f4f4f guibg=#1b1b1b gui=NONE 44 | hi Number guifg=#cf6a4c guibg=NONE gui=NONE 45 | hi Operator guifg=#cda869 guibg=NONE gui=NONE 46 | hi PreProc guifg=#cda869 guibg=NONE gui=NONE 47 | hi Special guifg=#f8f8f8 guibg=NONE gui=NONE 48 | hi SpecialKey guifg=#4f4f4f guibg=#1b1b1b gui=NONE 49 | hi Statement guifg=#cda869 guibg=NONE gui=NONE 50 | hi StorageClass guifg=#f9ee98 guibg=NONE gui=NONE 51 | hi String guifg=#8f9d6a guibg=NONE gui=NONE 52 | hi Tag guifg=#9b703f guibg=NONE gui=NONE 53 | hi Title guifg=#f8f8f8 guibg=NONE gui=bold 54 | hi Todo guifg=#5f5a60 guibg=NONE gui=inverse,bold,italic 55 | hi Type guifg=#9b703f guibg=NONE gui=NONE 56 | hi Underlined guifg=NONE guibg=NONE gui=underline 57 | hi rubyClass guifg=#cda869 guibg=NONE gui=NONE 58 | hi rubyFunction guifg=#9b703f guibg=NONE gui=NONE 59 | hi rubyInterpolationDelimiter guifg=NONE guibg=NONE gui=NONE 60 | hi rubySymbol guifg=#cf6a4c guibg=NONE gui=NONE 61 | hi rubyConstant guifg=#9b859d guibg=NONE gui=NONE 62 | hi rubyStringDelimiter guifg=#8f9d6a guibg=NONE gui=NONE 63 | hi rubyBlockParameter guifg=#7587a6 guibg=NONE gui=NONE 64 | hi rubyInstanceVariable guifg=#7587a6 guibg=NONE gui=NONE 65 | hi rubyInclude guifg=#cda869 guibg=NONE gui=NONE 66 | hi rubyGlobalVariable guifg=#7587a6 guibg=NONE gui=NONE 67 | hi rubyRegexp guifg=#e9c062 guibg=NONE gui=NONE 68 | hi rubyRegexpDelimiter guifg=#e9c062 guibg=NONE gui=NONE 69 | hi rubyEscape guifg=#cf6a4c guibg=NONE gui=NONE 70 | hi rubyControl guifg=#cda869 guibg=NONE gui=NONE 71 | hi rubyClassVariable guifg=#7587a6 guibg=NONE gui=NONE 72 | hi rubyOperator guifg=#cda869 guibg=NONE gui=NONE 73 | hi rubyException guifg=#cda869 guibg=NONE gui=NONE 74 | hi rubyPseudoVariable guifg=#7587a6 guibg=NONE gui=NONE 75 | hi rubyRailsUserClass guifg=#9b859d guibg=NONE gui=NONE 76 | hi rubyRailsARAssociationMethod guifg=#dad085 guibg=NONE gui=NONE 77 | hi rubyRailsARMethod guifg=#dad085 guibg=NONE gui=NONE 78 | hi rubyRailsRenderMethod guifg=#dad085 guibg=NONE gui=NONE 79 | hi rubyRailsMethod guifg=#dad085 guibg=NONE gui=NONE 80 | hi erubyDelimiter guifg=NONE guibg=NONE gui=NONE 81 | hi erubyComment guifg=#5f5a60 guibg=NONE gui=italic 82 | hi erubyRailsMethod guifg=#dad085 guibg=NONE gui=NONE 83 | hi htmlTag guifg=#ac885b guibg=NONE gui=NONE 84 | hi htmlEndTag guifg=#ac885b guibg=NONE gui=NONE 85 | hi htmlTagName guifg=#ac885b guibg=NONE gui=NONE 86 | hi htmlArg guifg=#ac885b guibg=NONE gui=NONE 87 | hi htmlSpecialChar guifg=#cf6a4c guibg=NONE gui=NONE 88 | hi javaScriptFunction guifg=#f9ee98 guibg=NONE gui=NONE 89 | hi javaScriptRailsFunction guifg=#dad085 guibg=NONE gui=NONE 90 | hi javaScriptBraces guifg=NONE guibg=NONE gui=NONE 91 | hi yamlKey guifg=#9b703f guibg=NONE gui=NONE 92 | hi yamlAnchor guifg=#7587a6 guibg=NONE gui=NONE 93 | hi yamlAlias guifg=#7587a6 guibg=NONE gui=NONE 94 | hi yamlDocumentHeader guifg=#8f9d6a guibg=NONE gui=NONE 95 | hi cssURL guifg=#7587a6 guibg=NONE gui=NONE 96 | hi cssFunctionName guifg=#dad085 guibg=NONE gui=NONE 97 | hi cssColor guifg=#cf6a4c guibg=NONE gui=NONE 98 | hi cssPseudoClassId guifg=#9b703f guibg=NONE gui=NONE 99 | hi cssClassName guifg=#9b703f guibg=NONE gui=NONE 100 | hi cssValueLength guifg=#cf6a4c guibg=NONE gui=NONE 101 | hi cssCommonAttr guifg=#cf6a4c guibg=NONE gui=NONE 102 | hi cssBraces guifg=NONE guibg=NONE gui=NONE -------------------------------------------------------------------------------- /colors/twilight2.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Converted from Textmate theme Twilight using Coloration v0.2.5 (http://github.com/sickill/coloration) 3 | 4 | set background=dark 5 | highlight clear 6 | 7 | if exists("syntax_on") 8 | syntax reset 9 | endif 10 | 11 | let g:colors_name = "Twilight" 12 | 13 | hi Cursor guifg=NONE guibg=#a7a7a7 gui=NONE 14 | hi Visual guifg=NONE guibg=#3c4043 gui=NONE 15 | hi CursorLine guifg=NONE guibg=#1b1b1b gui=NONE 16 | hi CursorColumn guifg=NONE guibg=#1b1b1b gui=NONE 17 | hi LineNr guifg=#868686 guibg=#141414 gui=NONE 18 | hi VertSplit guifg=#3f3f3f guibg=#3f3f3f gui=NONE 19 | hi MatchParen guifg=#cda869 guibg=NONE gui=NONE 20 | hi StatusLine guifg=#f8f8f8 guibg=#3f3f3f gui=bold 21 | hi StatusLineNC guifg=#f8f8f8 guibg=#3f3f3f gui=NONE 22 | hi Pmenu guifg=#9b703f guibg=NONE gui=NONE 23 | hi PmenuSel guifg=NONE guibg=#3c4043 gui=NONE 24 | hi IncSearch guifg=NONE guibg=#343a44 gui=NONE 25 | hi Search guifg=NONE guibg=#343a44 gui=NONE 26 | hi Directory guifg=#cf6a4c guibg=NONE gui=NONE 27 | hi Folded guifg=#5f5a60 guibg=#141414 gui=NONE 28 | 29 | hi Normal guifg=#f8f8f8 guibg=#141414 gui=NONE 30 | hi Boolean guifg=#cf6a4c guibg=NONE gui=NONE 31 | hi Character guifg=#cf6a4c guibg=NONE gui=NONE 32 | hi Comment guifg=#5f5a60 guibg=NONE gui=italic 33 | hi Conditional guifg=#cda869 guibg=NONE gui=NONE 34 | hi Constant guifg=#cf6a4c guibg=NONE gui=NONE 35 | hi Define guifg=#cda869 guibg=NONE gui=NONE 36 | hi ErrorMsg guifg=NONE guibg=NONE gui=NONE 37 | hi WarningMsg guifg=NONE guibg=NONE gui=NONE 38 | hi Float guifg=#cf6a4c guibg=NONE gui=NONE 39 | hi Function guifg=#9b703f guibg=NONE gui=NONE 40 | hi Identifier guifg=#f9ee98 guibg=NONE gui=NONE 41 | hi Keyword guifg=#cda869 guibg=NONE gui=NONE 42 | hi Label guifg=#8f9d6a guibg=NONE gui=NONE 43 | hi NonText guifg=#4f4f4f guibg=#1b1b1b gui=NONE 44 | hi Number guifg=#cf6a4c guibg=NONE gui=NONE 45 | hi Operator guifg=#cda869 guibg=NONE gui=NONE 46 | hi PreProc guifg=#cda869 guibg=NONE gui=NONE 47 | hi Special guifg=#f8f8f8 guibg=NONE gui=NONE 48 | hi SpecialKey guifg=#4f4f4f guibg=#1b1b1b gui=NONE 49 | hi Statement guifg=#cda869 guibg=NONE gui=NONE 50 | hi StorageClass guifg=#f9ee98 guibg=NONE gui=NONE 51 | hi String guifg=#8f9d6a guibg=NONE gui=NONE 52 | hi Tag guifg=#9b703f guibg=NONE gui=NONE 53 | hi Title guifg=#f8f8f8 guibg=NONE gui=bold 54 | hi Todo guifg=#5f5a60 guibg=NONE gui=inverse,bold,italic 55 | hi Type guifg=#9b703f guibg=NONE gui=NONE 56 | hi Underlined guifg=NONE guibg=NONE gui=underline 57 | hi rubyClass guifg=#cda869 guibg=NONE gui=NONE 58 | hi rubyFunction guifg=#9b703f guibg=NONE gui=NONE 59 | hi rubyInterpolationDelimiter guifg=NONE guibg=NONE gui=NONE 60 | hi rubySymbol guifg=#cf6a4c guibg=NONE gui=NONE 61 | hi rubyConstant guifg=#9b859d guibg=NONE gui=NONE 62 | hi rubyStringDelimiter guifg=#8f9d6a guibg=NONE gui=NONE 63 | hi rubyBlockParameter guifg=#7587a6 guibg=NONE gui=NONE 64 | hi rubyInstanceVariable guifg=#7587a6 guibg=NONE gui=NONE 65 | hi rubyInclude guifg=#cda869 guibg=NONE gui=NONE 66 | hi rubyGlobalVariable guifg=#7587a6 guibg=NONE gui=NONE 67 | hi rubyRegexp guifg=#e9c062 guibg=NONE gui=NONE 68 | hi rubyRegexpDelimiter guifg=#e9c062 guibg=NONE gui=NONE 69 | hi rubyEscape guifg=#cf6a4c guibg=NONE gui=NONE 70 | hi rubyControl guifg=#cda869 guibg=NONE gui=NONE 71 | hi rubyClassVariable guifg=#7587a6 guibg=NONE gui=NONE 72 | hi rubyOperator guifg=#cda869 guibg=NONE gui=NONE 73 | hi rubyException guifg=#cda869 guibg=NONE gui=NONE 74 | hi rubyPseudoVariable guifg=#7587a6 guibg=NONE gui=NONE 75 | hi rubyRailsUserClass guifg=#9b859d guibg=NONE gui=NONE 76 | hi rubyRailsARAssociationMethod guifg=#dad085 guibg=NONE gui=NONE 77 | hi rubyRailsARMethod guifg=#dad085 guibg=NONE gui=NONE 78 | hi rubyRailsRenderMethod guifg=#dad085 guibg=NONE gui=NONE 79 | hi rubyRailsMethod guifg=#dad085 guibg=NONE gui=NONE 80 | hi erubyDelimiter guifg=NONE guibg=NONE gui=NONE 81 | hi erubyComment guifg=#5f5a60 guibg=NONE gui=italic 82 | hi erubyRailsMethod guifg=#dad085 guibg=NONE gui=NONE 83 | hi htmlTag guifg=#ac885b guibg=NONE gui=NONE 84 | hi htmlEndTag guifg=#ac885b guibg=NONE gui=NONE 85 | hi htmlTagName guifg=#ac885b guibg=NONE gui=NONE 86 | hi htmlArg guifg=#ac885b guibg=NONE gui=NONE 87 | hi htmlSpecialChar guifg=#cf6a4c guibg=NONE gui=NONE 88 | hi javaScriptFunction guifg=#f9ee98 guibg=NONE gui=NONE 89 | hi javaScriptRailsFunction guifg=#dad085 guibg=NONE gui=NONE 90 | hi javaScriptBraces guifg=NONE guibg=NONE gui=NONE 91 | hi yamlKey guifg=#9b703f guibg=NONE gui=NONE 92 | hi yamlAnchor guifg=#7587a6 guibg=NONE gui=NONE 93 | hi yamlAlias guifg=#7587a6 guibg=NONE gui=NONE 94 | hi yamlDocumentHeader guifg=#8f9d6a guibg=NONE gui=NONE 95 | hi cssURL guifg=#7587a6 guibg=NONE gui=NONE 96 | hi cssFunctionName guifg=#dad085 guibg=NONE gui=NONE 97 | hi cssColor guifg=#cf6a4c guibg=NONE gui=NONE 98 | hi cssPseudoClassId guifg=#9b703f guibg=NONE gui=NONE 99 | hi cssClassName guifg=#9b703f guibg=NONE gui=NONE 100 | hi cssValueLength guifg=#cf6a4c guibg=NONE gui=NONE 101 | hi cssCommonAttr guifg=#cf6a4c guibg=NONE gui=NONE 102 | hi cssBraces guifg=NONE guibg=NONE gui=NONE 103 | -------------------------------------------------------------------------------- /colors/neverland-ansi_bg.vim: -------------------------------------------------------------------------------- 1 | " Vim color file - neverland-ansi_bg.vim 2 | " Eyes are sober, this is the plan 3 | " 4 | " This colorscheme uses ANSI colors for the background due to the extended 5 | " colors not providing a dark enough grey. 6 | " This means that it'll look awful if you happen to have i.e pink defined as 7 | " your 'grey/black' color. 8 | " 9 | " Author: Magnus Woldrich 10 | 11 | hi clear 12 | 13 | set background=dark 14 | if version > 580 15 | " no guarantees for version 5.8 and below, but this makes it stop 16 | " complaining 17 | hi clear 18 | if exists("syntax_on") 19 | syntax reset 20 | endif 21 | endif 22 | let g:colors_name="neverland-ansi_bg" 23 | 24 | if &t_Co > 255 25 | hi Boolean ctermfg=135 ctermbg=000 cterm=bold 26 | hi Character ctermfg=143 ctermbg=000 cterm=none 27 | hi Number ctermfg=033 ctermbg=000 cterm=bold 28 | hi String ctermfg=143 ctermbg=000 cterm=none 29 | hi Conditional ctermfg=196 ctermbg=000 cterm=bold 30 | hi Constant ctermfg=106 ctermbg=000 cterm=bold 31 | hi Cursor ctermfg=150 ctermbg=220 cterm=bold 32 | hi Debug ctermfg=225 ctermbg=000 cterm=bold 33 | hi Define ctermfg=081 ctermbg=000 cterm=none 34 | hi Delimiter ctermfg=241 ctermbg=000 cterm=none 35 | 36 | hi DiffAdd ctermfg=254 ctermbg=024 cterm=bold 37 | hi DiffChange ctermfg=181 ctermbg=239 cterm=none 38 | hi DiffDelete ctermfg=162 ctermbg=053 cterm=none 39 | hi DiffText ctermfg=250 ctermbg=102 cterm=bold 40 | 41 | hi Directory ctermfg=118 ctermbg=000 cterm=none 42 | hi Error ctermfg=219 ctermbg=089 cterm=none 43 | hi ErrorMsg ctermfg=199 ctermbg=016 cterm=bold 44 | hi Exception ctermfg=118 ctermbg=000 cterm=bold 45 | hi Float ctermfg=135 ctermbg=000 cterm=bold 46 | hi FoldColumn ctermfg=67 ctermbg=016 cterm=none 47 | hi Folded ctermfg=67 ctermbg=016 cterm=none 48 | hi Function ctermfg=33 ctermbg=000 cterm=bold " sub laleh 49 | hi Identifier ctermfg=148 ctermbg=000 cterm=none " $laleh 50 | hi Ignore ctermfg=244 ctermbg=232 cterm=none 51 | hi IncSearch ctermfg=193 ctermbg=016 cterm=none 52 | 53 | hi Keyword ctermfg=111 ctermbg=000 cterm=none 54 | hi Label ctermfg=226 ctermbg=000 cterm=bold 55 | hi Macro ctermfg=193 ctermbg=000 cterm=none 56 | hi SpecialKey ctermfg=081 ctermbg=000 cterm=none 57 | 58 | hi MatchParen ctermfg=196 ctermbg=234 cterm=bold 59 | hi ModeMsg ctermfg=215 ctermbg=000 cterm=none 60 | hi MoreMsg ctermfg=215 ctermbg=000 cterm=none 61 | hi Operator ctermfg=197 ctermbg=000 cterm=bold " defined, eq 62 | 63 | " complete menu 64 | hi Pmenu ctermfg=081 ctermbg=000 cterm=none 65 | hi PmenuSel ctermfg=000 ctermbg=235 cterm=none 66 | hi PmenuSbar ctermfg=000 ctermbg=232 cterm=none 67 | hi PmenuThumb ctermfg=81 ctermbg=000 cterm=none 68 | 69 | hi PreCondit ctermfg=118 ctermbg=000 cterm=none 70 | hi PreProc ctermfg=218 ctermbg=000 cterm=none 71 | hi Question ctermfg=081 ctermbg=000 cterm=none 72 | hi Repeat ctermfg=161 ctermbg=000 cterm=none 73 | hi Search ctermbg=000 cterm=bold cterm=italic 74 | 75 | " marks column 76 | hi SignColumn ctermfg=118 ctermbg=235 cterm=none 77 | hi SpecialChar ctermfg=161 ctermbg=000 cterm=none 78 | hi SpecialComment ctermfg=245 ctermbg=000 cterm=bold 79 | hi Special ctermfg=172 ctermbg=000 cterm=bold " \n, /laleh/ 80 | hi SpecialKey ctermfg=245 ctermbg=000 cterm=none 81 | 82 | hi Statement ctermfg=202 ctermbg=000 cterm=none 83 | hi StatusLine ctermfg=197 ctermbg=232 cterm=none 84 | hi StatusLineNC ctermfg=232 ctermbg=100 cterm=none 85 | hi StorageClass ctermfg=208 ctermbg=000 cterm=none 86 | hi Structure ctermfg=081 ctermbg=000 cterm=none 87 | hi Tag ctermfg=161 ctermbg=000 cterm=none 88 | hi Title ctermfg=071 ctermbg=000 cterm=none 89 | hi Todo ctermfg=160 ctermbg=000 cterm=bold 90 | 91 | hi Typedef ctermfg=081 ctermbg=000 cterm=none 92 | hi Type ctermfg=166 ctermbg=000 cterm=none 93 | hi Underlined ctermfg=106 ctermbg=000 cterm=none 94 | 95 | hi VertSplit ctermfg=244 ctermbg=232 cterm=bold 96 | hi VisualNOS ctermfg=000 ctermbg=238 cterm=none 97 | hi Visual ctermfg=000 ctermbg=235 cterm=none 98 | hi WarningMsg ctermfg=21 ctermbg=238 cterm=bold 99 | hi WildMenu ctermfg=81 ctermbg=016 cterm=none 100 | 101 | hi Normal ctermfg=225 ctermbg=000 cterm=none 102 | hi Comment ctermfg=137 ctermbg=000 cterm=none 103 | hi CursorLine ctermbg=233 cterm=none 104 | hi CursorColumn ctermfg=000 ctermbg=000 cterm=none 105 | hi LineNr ctermfg=241 ctermbg=000 cterm=none 106 | hi NonText ctermfg=000 ctermbg=000 cterm=none 107 | 108 | hi TabLine ctermfg=100 ctermbg=000 cterm=none 109 | hi TabLineFill ctermfg=000 ctermbg=233 cterm=none 110 | hi TabLineSel ctermfg=220 ctermbg=234 cterm=none 111 | end 112 | -------------------------------------------------------------------------------- /syntax/nt.vim: -------------------------------------------------------------------------------- 1 | runtime! syntax/perl.vim 2 | unlet b:current_syntax 3 | 4 | syn keyword resultSourceNames accounts accthists acctmiscs acctnotes acctprods acctprod_hists acctprod_promoes acctprod_removes acctprod_shes acctprodmiscs acctsummaries agreements all_field_audits async_replies async_reply_miscs audit_acctprods authroles billables billable_points billable_prices c_level_shes chanlvls chanmgrs channels channelagrees channelmiscs chanprods chanprod_bak0908dists chanprodcusts chanprodmods chanprodmod_shes chanprodsegs chanprodsegcusts classmembers cntry_grps cntry_grp_assignments contacts contact_infos contact_types contact_type_assignments contact_type_classes currencies cust_requests cust_request_shes cust_request_statuses cust_users cust_user_classes cust_user_infos cust_user_shes custagrees custagreemiscs custhists custlevels custmiscs customers custpaymeths custpaymeth_currencies custpaymeth_vals custprods custprod_grps custprod_hists custprod_ids11896998s custprod_nams custprod_promoes custprod_removes custprod_shes custprod_tbs custprodmiscs custprodmisc_ids11896998s cyclediscounts cyclediscount20100304_baks cyclediscount_shes cyclediscount_sh20100304_baks deadservers deferred_revenues dommiscs emt_contact_infos emt_psp_domain_infos events event_datas event_shes event_statuses event_types event_type_shes event_type_statuses failed_login_attempts families familydiscounts familymiscs feetypes feetypemiscs field_classes field_grps field_nams field_nam_rules groups instance_configs invoices invoiceauths invoiceds invoicems invoiceshes invoicestatuses invoicetrans ips ishes iso_countries ledgers login_histories mailers mailer_locations msgs msg_bak0908dists msg_bak0909dists msggrps msggrp_members msgnames nimbus_churns nimbus_churn2s nimbus_new_revenues nimbus_total_revenues nimbus_total_revenue_wklies parameters paymentds paymentms paymentshes paymeths paymeth_fields pendmails prod_classes prodmiscs prodmisc_ids115274530910dists prodmods prodmod_miscs prodmod_segs prodmod_seg_shes prodmod_shes prodparents products promoes promo_elements promo_element_segments promo_instances promo_instance_drop20090630s promo_instance_ids117325061s provasyncqs provasyncq_baks pshes rb31prodparent0910s rb373prodmisc0910s rb506prodmisc0910s rb633prodmisc0910s rb686prodmisc0910s rb_validate_rule_child1445s refers regions rep_oem_monthly_reports rep_other_countries_segs rep_tokyo_segs repgrps repgrp_members repgrp_users replayouts reports rollback01_ids11562500s rollback02_ids11597307s rollback05_ids11578294s rollbackids11618688s scripts segments select_tables sessions statuses sterling_outage_servers survey_assignments survey_infos sync_replies sync_reply_miscs sync_requests ts temp_apshes temp_discounts_extracts temp_nrcs temp_nrc_rc_product_extracts temp_nrcies temp_promo_instance_extracts temp_promotions_extracts temp_rcs temp_rcies temp_usage_extracts temp_usage_instance_extracts terms test100s timebombs tranledgers transactions up_down_pivots usages users user_cons user_groups user_sessions usergrps usergrp_members userids userkeys validate_rules validate_rule_children validate_rule_parents 5 | 6 | syn keyword tableNames Account Accthist Acctmisc Acctnote Acctprod AcctprodHist AcctprodPromo AcctprodRemove AcctprodSh Acctprodmisc Acctsummary Agreement AllFieldAudit AsyncReply AsyncReplyMisc AuditAcctprod Authrole Billable BillablePoint BillablePrice CLevelSh Chanlvl Chanmgr Channel Channelagree Channelmisc Chanprod ChanprodBak0908dist Chanprodcust Chanprodmod ChanprodmodSh Chanprodseg Chanprodsegcust Classmember CntryGrp CntryGrpAssignment Contact ContactInfo ContactType ContactTypeAssignment ContactTypeClass Currency CustRequest CustRequestSh CustRequestStatus CustUser CustUserClass CustUserInfo CustUserSh Custagree Custagreemisc Custhist Custlevel Custmisc Customer Custpaymeth CustpaymethCurrency CustpaymethVal Custprod CustprodGrp CustprodHist CustprodIds11896998 CustprodNam CustprodPromo CustprodRemove CustprodSh CustprodTb Custprodmisc CustprodmiscIds11896998 Cyclediscount Cyclediscount20100304Bak CyclediscountSh CyclediscountSh20100304Bak Deadserver DeferredRevenue Dommisc EmtContactInfo EmtPspDomainInfo Event EventData EventSh EventStatus EventType EventTypeSh EventTypeStatus FailedLoginAttempt Family Familydiscount Familymisc Feetype Feetypemisc FieldClass FieldGrp FieldNam FieldNamRule Group InstanceConfig Invoice Invoiceauth Invoiced Invoicem Invoicesh Invoicestatus Invoicetran Ip Ish IsoCountry Ledger LoginHistory Mailer MailerLocation Msg MsgBak0908dist MsgBak0909dist Msggrp MsggrpMember Msgname NimbusChurn NimbusChurn2 NimbusNewRevenue NimbusTotalRevenue NimbusTotalRevenueWkly Parameter Paymentd Paymentm Paymentsh Paymeth PaymethField Pendmail ProdClass Prodmisc ProdmiscIds115274530910dist Prodmod ProdmodMisc ProdmodSeg ProdmodSegSh ProdmodSh Prodparent Product Promo PromoElement PromoElementSegment PromoInstance PromoInstanceDrop20090630 PromoInstanceIds117325061 Provasyncq ProvasyncqBak Psh Rb31prodparent0910 Rb373prodmisc0910 Rb506prodmisc0910 Rb633prodmisc0910 Rb686prodmisc0910 RbValidateRuleChild1445 Refer Region RepOemMonthlyReport RepOtherCountriesSeg RepTokyoSeg Repgrp RepgrpMember RepgrpUser Replayout Report Rollback01Ids11562500 Rollback02Ids11597307 Rollback05Ids11578294 Rollbackids11618688 Script Segment SelectTable Session Status SterlingOutageServer SurveyAssignment SurveyInfo SyncReply SyncReplyMisc SyncRequest T TempApsh TempDiscountsExtract TempNrc TempNrcRcProductExtract TempNrcy TempPromoInstanceExtract TempPromotionsExtract TempRc TempRcy TempUsageExtract TempUsageInstanceExtract Term Test100 Timebomb Tranledger Transaction UpDownPivot Usage User UserCon UserGroup UserSession Usergrp UsergrpMember Userid Userkey ValidateRule ValidateRuleChild ValidateRuleParent 7 | 8 | hi def link resultSourceNames Function 9 | hi def link tableNames Function 10 | -------------------------------------------------------------------------------- /colors/leo.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Maintainer: Lorenzo Leonini 3 | " Last Change: 2010 Mar 8 4 | " URL: http://www.leonini.net 5 | 6 | " Description: 7 | " A contrasted theme for long programming sessions. 8 | " Specially for 256-colors term (xterm, Eterm, konsole, gnome-terminal, ...) 9 | " Very good with Ruby, C, Lua, PHP, HTML, shell... 10 | " (but no using language specific settings) 11 | 12 | " Note: 13 | " If your term report 8 colors (but is 256 capable), put 'set t_Co=256' 14 | " in your .vimrc 15 | 16 | " Tips: 17 | " :verbose hi StatusLine 18 | " Color numbers (0-255) see: 19 | " http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html 20 | " :so $VIMRUNTIME/syntax/hitest.vim 21 | 22 | " 0.94 23 | " Folding 24 | " 25 | " 0.93 26 | " Console and GUI are deliberately differents. 27 | " 28 | " 0.92 29 | " Fixed visual in GUI mode 30 | " Dark line numbers 31 | " 32 | " 0.91 33 | " fixed cursor color with MatchParen 34 | " 35 | " 0.9 36 | " more blue (blue <=> green swap) 37 | " lot of changes, some may prefer previous version 38 | " 39 | " 0.82 40 | " menu backgrounf lighter 41 | " LineNr 42 | " gui comments in italic 43 | " remove some default bold in gui 44 | " 45 | " 0.81 46 | " invisible char 47 | " line number 48 | " status bar 49 | " add MatchParen 50 | " add Underlined 51 | " 52 | " 0.8 53 | " GUI fixed, color < 16 fixed 54 | " comments from 247 => 249 55 | " main color 255 => 254 56 | " boolean and numbers more visible 57 | " 58 | " 0.6 59 | " Synchro with GUI 60 | 61 | " 0.5 62 | " Ligther vertical separation 63 | " Better diff 64 | " Better pmenu 65 | " Uniformisation between status bar, tabs and pmenu 66 | " Added spell hl 67 | " Change search highlight (I don't use it...) 68 | " Folding done 69 | " All in 256 code 70 | 71 | if !has("gui_running") 72 | if &t_Co != 256 73 | echomsg "err: Please use a 256-colors terminal (so that t_Co=256 could be set)." 74 | echomsg "" 75 | finish 76 | end 77 | endif 78 | 79 | let g:colors_name = "leo256" 80 | 81 | set background=dark 82 | if v:version > 580 83 | highlight clear 84 | if exists("syntax_on") 85 | syntax reset 86 | endif 87 | endif 88 | 89 | " ### Normal should come first 90 | 91 | " console-gui different 92 | hi Normal cterm=none ctermfg=255 ctermbg=232 guifg=#ffffff guibg=#121212 93 | hi CursorLine cterm=none ctermbg=16 guibg=#050505 94 | hi SpecialKey cterm=none ctermfg=245 ctermbg=233 guifg=#8a8a8a guibg=#090909 95 | hi Folded cterm=none ctermfg=110 ctermbg=233 guifg=#87afd7 guibg=#000000 96 | 97 | 98 | hi Cursor cterm=none ctermfg=bg ctermbg=fg guibg=fg guifg=bg 99 | hi DiffAdd cterm=none ctermbg=235 guibg=#262626 100 | hi DiffChange cterm=none ctermbg=235 guibg=#262626 101 | hi DiffDelete cterm=none ctermfg=238 ctermbg=244 guifg=#444444 guibg=#808080 102 | hi DiffText cterm=bold ctermfg=255 ctermbg=196 guifg=#ffffff 103 | hi Directory cterm=none ctermfg=196 104 | hi ErrorMsg cterm=none ctermfg=255 ctermbg=160 guifg=#ffffff 105 | hi FoldColumn cterm=none ctermfg=110 ctermbg=16 guifg=#87afd7 guibg=#000000 106 | hi IncSearch cterm=reverse 107 | "hi LineNr cterm=none ctermfg=229 ctermbg=16 guifg=#ffff87 guibg=#000000 108 | "hi LineNr cterm=none ctermfg=27 ctermbg=16 guifg=#005fff guibg=#000000 109 | hi LineNr cterm=none ctermfg=239 ctermbg=16 guifg=#4e4e4e guibg=#000000 110 | hi ModeMsg cterm=bold 111 | hi MoreMsg cterm=none ctermfg=40 112 | hi NonText cterm=none ctermfg=21 113 | hi Question cterm=none ctermfg=40 114 | hi Search cterm=none ctermfg=16 ctermbg=248 guifg=#000000 guibg=#a8a8a8 115 | hi SignColumn cterm=none ctermbg=16 guibg=#000000 116 | hi StatusLine cterm=bold ctermfg=255 ctermbg=19 guifg=#0000af guibg=#ffffff 117 | hi StatusLineNC cterm=none ctermfg=252 ctermbg=17 guifg=#00005f guibg=#d0d0d0 118 | hi Title cterm=none ctermfg=33 119 | hi VertSplit cterm=none ctermfg=254 ctermbg=16 guifg=#000000 guibg=#eeeeee 120 | hi Visual cterm=reverse ctermbg=none gui=reverse guibg=#080808 121 | hi VisualNOS cterm=underline,bold 122 | hi WarningMsg cterm=none ctermfg=255 guifg=#ffffff 123 | hi WildMenu cterm=none ctermfg=16 ctermbg=11 124 | 125 | if v:version >= 700 126 | hi MatchParen cterm=none ctermfg=190 ctermbg=20 guifg=#d7ff00 guibg=#0000d7 127 | 128 | " light 129 | "hi Pmenu cterm=none ctermfg=16 ctermbg=252 130 | "hi PmenuSel cterm=none ctermfg=255 ctermbg=21 131 | "hi PmenuSbar cterm=none ctermfg=240 ctermbg=240 132 | "hi PmenuThumb cterm=none ctermfg=255 ctermbg=255 133 | 134 | "dark 135 | hi Pmenu cterm=none ctermfg=255 ctermbg=235 guifg=#ffffff guibg=#262626 136 | hi PmenuSel cterm=none ctermfg=255 ctermbg=21 guifg=#ffffff guibg=#0000ff 137 | hi PmenuSbar cterm=none ctermfg=240 ctermbg=240 guibg=#444444 138 | hi PmenuThumb cterm=none ctermfg=255 ctermbg=255 guifg=#ffffff 139 | 140 | " No need for GUI colors 141 | hi SpellBad cterm=none ctermfg=16 ctermbg=196 142 | hi SpellCap cterm=none ctermfg=16 ctermbg=196 143 | hi SpellLocal cterm=none ctermfg=16 ctermbg=196 144 | hi SpellRare cterm=none ctermfg=16 ctermbg=196 145 | 146 | " No need for GUI colors 147 | hi TabLine cterm=none ctermfg=252 ctermbg=17 148 | hi TabLineSel cterm=none ctermfg=255 ctermbg=21 149 | hi TabLineFill cterm=none ctermfg=17 ctermbg=17 150 | endif 151 | 152 | " ### syntax highlighting 153 | 154 | hi Boolean cterm=none ctermfg=215 guifg=#ffaf5f 155 | hi Character cterm=none ctermfg=184 guifg=#d7d700 156 | hi Comment cterm=none ctermfg=248 gui=italic guifg=#a8a8a8 157 | hi Conditional cterm=none ctermfg=33 guifg=#0087ff 158 | hi Constant cterm=none ctermfg=226 guifg=#ffff00 159 | hi Define cterm=bold ctermfg=27 gui=bold guifg=#005fff 160 | hi Delimiter cterm=none ctermfg=196 guifg=#ff0000 161 | hi Error cterm=none ctermfg=255 ctermbg=9 guifg=#ffffff 162 | hi Exception cterm=bold ctermfg=226 gui=bold guifg=#ffff00 163 | hi Function cterm=none ctermfg=196 guifg=#ff0000 164 | hi Identifier cterm=none ctermfg=40 gui=none guifg=#00d700 165 | hi Keyword cterm=none ctermfg=123 guifg=#87ffff 166 | hi Number cterm=none ctermfg=209 guifg=#ff875f 167 | hi Operator cterm=none ctermfg=226 guifg=#ffff00 168 | hi PreProc cterm=none ctermfg=202 guifg=#ff5f00 169 | hi Special cterm=none ctermfg=206 ctermbg=234 guifg=#ff5fd7 guibg=#1c1c1c 170 | hi Statement cterm=none ctermfg=171 gui=none guifg=#d75fff 171 | "hi String cterm=none ctermfg=224 ctermbg=234 guifg=#ffd7d7 guibg=#1c1c1c 172 | hi String cterm=none ctermfg=180 ctermbg=234 guifg=#d7af87 guibg=#1c1c1c 173 | hi Todo cterm=none ctermfg=16 ctermbg=226 guifg=#000000 guibg=#ffff00 174 | hi Type cterm=none ctermfg=75 gui=none guifg=#5fafff 175 | hi Underlined cterm=underline ctermfg=39 gui=underline guifg=#00afff 176 | 177 | " ADDITIONNAL 178 | hi Repeat cterm=none ctermfg=99 guifg=#875fff 179 | 180 | -------------------------------------------------------------------------------- /colors/neverland-darker.vim: -------------------------------------------------------------------------------- 1 | " Vim color file - neverland-darker.vim 2 | " Eyes are sober, this is the plan 3 | " I'm sitting in a car heading Neverland 4 | " Author: Magnus Woldrich 5 | 6 | set background=dark 7 | hi clear 8 | 9 | if version > 580 10 | " no guarantees for version 5.8 and below, but this makes it stop 11 | " complaining 12 | if exists("syntax_on") 13 | syntax reset 14 | endif 15 | endif 16 | let g:colors_name="neverland-darker" 17 | 18 | hi Normal guifg=#ffd7ff guibg=#080808 19 | set background=dark 20 | 21 | hi Boolean guifg=#af5fff 22 | hi Character guifg=#afaf5f 23 | hi Number guifg=#0087ff 24 | hi String guifg=#d7af5f 25 | hi Conditional guifg=#ff0000 gui=bold 26 | hi Constant guifg=#87af00 gui=bold 27 | hi Cursor guifg=#afd787 guibg=#dadada 28 | hi Debug guifg=#ffd7ff gui=bold 29 | hi Define guifg=#5fd7ff 30 | hi Delimiter guifg=#626262 31 | 32 | hi DiffAdd guibg=#005f87 33 | hi DiffChange guifg=#d7afaf guibg=#4e4e4e 34 | hi DiffDelete guifg=#d70087 guibg=#5f005f 35 | hi DiffText guibg=#878787 gui=bold 36 | 37 | hi Directory guifg=#87ff00 gui=bold 38 | hi Error guifg=#ffafff guibg=#87005f 39 | hi ErrorMsg guifg=#ff00af guibg=#000000 gui=bold 40 | hi Exception guifg=#87ff00 gui=bold 41 | hi Float guifg=#af5fff 42 | hi FoldColumn guifg=#5f87af guibg=#000000 43 | hi Folded guifg=#5f87af guibg=#000000 44 | hi Function guifg=#87ff00 45 | hi Identifier guifg=#afd75f 46 | hi Ignore guifg=#808080 guibg=#080808 47 | hi IncSearch guifg=#d7ffaf guibg=#000000 48 | 49 | hi Keyword guifg=#87afff gui=bold 50 | hi Label guifg=#ffffaf gui=none 51 | hi Macro guifg=#d7ffaf 52 | hi SpecialKey guifg=#5fd7ff 53 | 54 | hi MatchParen guifg=#ff0000 guibg=#1c1c1c gui=bold 55 | hi ModeMsg guifg=#ffaf5f 56 | hi MoreMsg guifg=#ffaf5f 57 | hi Operator guifg=#afd700 58 | 59 | " complete menu 60 | hi Pmenu guifg=#5fd7ff guibg=#262626 61 | hi PmenuSel guibg=#262626 62 | hi PmenuSbar guibg=#262626 63 | hi PmenuThumb guifg=#5fd7ff 64 | 65 | hi PreCondit guifg=#87ff00 gui=bold 66 | hi PreProc guifg=#ffafd7 67 | hi Question guifg=#5fd7ff 68 | hi Repeat guifg=#d7005f gui=bold 69 | hi Search guifg=#1c1c1c guibg=#ffd787 70 | 71 | " marks column 72 | hi SignColumn guifg=#87ff00 guibg=#262626 73 | hi SpecialChar guifg=#d7005f gui=bold 74 | hi SpecialComment guifg=#8a8a8a gui=bold 75 | hi Special guifg=#5fd7ff guibg=#080808 76 | hi SpecialKey guifg=#8a8a8a 77 | 78 | hi Statement guifg=#d78700 gui=bold 79 | hi StatusLine guifg=#121212 guibg=#af8700 80 | hi StatusLineNC guifg=#080808 guibg=#878700 81 | hi StorageClass guifg=#ff8700 82 | hi Structure guifg=#5fd7ff 83 | hi Tag guifg=#d7005f 84 | hi Title guifg=#5faf5f 85 | hi Todo guifg=#d70000 guibg=#080808 gui=bold 86 | 87 | hi Typedef guifg=#5fd7ff 88 | hi Type guifg=#d75f00 gui=none 89 | hi Underlined guifg=#87af00 gui=none 90 | 91 | hi VertSplit guifg=#808080 guibg=#080808 gui=bold 92 | hi VisualNOS guibg=#444444 93 | hi Visual guibg=#262626 94 | hi WarningMsg guifg=#0000ff guibg=#444444 gui=bold 95 | hi WildMenu guifg=#5fd7ff guibg=#000000 96 | 97 | hi Comment guifg=#af875f 98 | hi CursorLine guibg=#121212 gui=none 99 | hi CursorColumn guibg=#080808 100 | hi LineNr guifg=#626262 guibg=#080808 101 | hi NonText guifg=#080808 guibg=#080808 102 | 103 | hi TabLine guifg=#878700 guibg=#080808 104 | hi TabLineFill guifg=#080808 guibg=#121212 105 | hi TabLineSel guifg=#ffd700 guibg=#1c1c1c 106 | 107 | if &t_Co > 255 108 | hi Normal ctermfg=225 ctermbg=232 109 | set background=dark 110 | 111 | hi Boolean ctermfg=135 112 | hi Character ctermfg=143 113 | hi Number ctermfg=33 114 | hi String ctermfg=179 115 | hi Conditional ctermfg=196 cterm=bold 116 | hi Constant ctermfg=106 cterm=bold 117 | hi Cursor ctermfg=150 ctermbg=253 118 | hi Debug ctermfg=225 cterm=bold 119 | hi Define ctermfg=81 120 | hi Delimiter ctermfg=241 121 | 122 | hi DiffAdd ctermbg=24 123 | hi DiffChange ctermfg=181 ctermbg=239 124 | hi DiffDelete ctermfg=162 ctermbg=53 125 | hi DiffText ctermbg=102 cterm=bold 126 | 127 | hi Directory ctermfg=118 cterm=bold 128 | hi Error ctermfg=219 ctermbg=89 129 | hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold 130 | hi Exception ctermfg=118 cterm=bold 131 | hi Float ctermfg=135 132 | hi FoldColumn ctermfg=67 ctermbg=16 133 | hi Folded ctermfg=67 ctermbg=16 134 | hi Function ctermfg=118 135 | hi Identifier ctermfg=149 136 | hi Ignore ctermfg=244 ctermbg=232 137 | hi IncSearch ctermfg=193 ctermbg=16 138 | 139 | hi Keyword ctermfg=111 cterm=bold 140 | hi Label ctermfg=229 cterm=none 141 | hi Macro ctermfg=193 142 | hi SpecialKey ctermfg=81 143 | 144 | hi MatchParen ctermfg=196 ctermbg=234 cterm=bold 145 | hi ModeMsg ctermfg=215 146 | hi MoreMsg ctermfg=215 147 | hi Operator ctermfg=148 148 | 149 | " complete menu 150 | hi Pmenu ctermfg=81 ctermbg=235 151 | hi PmenuSel ctermbg=235 152 | hi PmenuSbar ctermbg=235 153 | hi PmenuThumb ctermfg=81 154 | 155 | hi PreCondit ctermfg=118 cterm=bold 156 | hi PreProc ctermfg=218 157 | hi Question ctermfg=81 158 | hi Repeat ctermfg=161 cterm=bold 159 | hi Search ctermfg=234 ctermbg=222 160 | 161 | " marks column 162 | hi SignColumn ctermfg=118 ctermbg=235 163 | hi SpecialChar ctermfg=161 cterm=bold 164 | hi SpecialComment ctermfg=245 cterm=bold 165 | hi Special ctermfg=81 ctermbg=232 166 | hi SpecialKey ctermfg=245 167 | 168 | hi Statement ctermfg=172 cterm=bold 169 | hi StatusLine ctermfg=233 ctermbg=136 170 | hi StatusLineNC ctermfg=232 ctermbg=100 171 | hi StorageClass ctermfg=208 172 | hi Structure ctermfg=81 173 | hi Tag ctermfg=161 174 | hi Title ctermfg=71 175 | hi Todo ctermfg=160 ctermbg=232 cterm=bold 176 | 177 | hi Typedef ctermfg=81 178 | hi Type ctermfg=166 cterm=none 179 | hi Underlined ctermfg=106 cterm=none 180 | 181 | hi VertSplit ctermfg=244 ctermbg=232 cterm=bold 182 | hi VisualNOS ctermbg=238 183 | hi Visual ctermbg=235 184 | hi WarningMsg ctermfg=21 ctermbg=238 cterm=bold 185 | hi WildMenu ctermfg=81 ctermbg=16 186 | 187 | hi Comment ctermfg=137 188 | hi CursorLine ctermbg=233 cterm=none 189 | hi CursorColumn ctermbg=232 190 | hi LineNr ctermfg=241 ctermbg=232 191 | hi NonText ctermfg=232 ctermbg=232 192 | 193 | hi TabLine ctermfg=100 ctermbg=232 194 | hi TabLineFill ctermfg=232 ctermbg=233 195 | hi TabLineSel ctermfg=220 ctermbg=234 196 | end 197 | -------------------------------------------------------------------------------- /colors/neverland2.vim: -------------------------------------------------------------------------------- 1 | " Vim color file - neverland2.vim 2 | " Eyes are sober, this is the plan 3 | " I'm sitting in a car heading Neverland 4 | " Author: Magnus Woldrich 5 | 6 | set background=dark 7 | hi clear 8 | 9 | if version > 580 10 | " no guarantees for version 5.8 and below, but this makes it stop 11 | " complaining 12 | if exists("syntax_on") 13 | syntax reset 14 | endif 15 | endif 16 | let g:colors_name="neverland2" 17 | 18 | hi Normal guifg=#ffffff guibg=#121212 19 | set background=dark 20 | 21 | hi Boolean guifg=#af5fff 22 | hi Character guifg=#afaf5f 23 | hi Number guifg=#0087ff 24 | hi String guifg=#d7af5f 25 | hi Conditional guifg=#ff0000 gui=bold 26 | hi Constant guifg=#af5fff gui=bold 27 | hi Cursor guifg=#afd787 guibg=#dadada 28 | hi Debug guifg=#ffd7ff gui=bold 29 | hi Define guifg=#5fd7ff 30 | hi Delimiter guifg=#626262 31 | 32 | hi DiffAdd guibg=#121212 33 | hi DiffChange guifg=#d7afaf guibg=#1c1c1c 34 | hi DiffDelete guifg=#d70087 guibg=#080808 35 | hi DiffText guibg=#121212 gui=bold 36 | 37 | hi Directory guifg=#87ff00 gui=bold 38 | hi Error guifg=#ffafff guibg=#121212 39 | hi ErrorMsg guifg=#ff00af guibg=#121212 gui=bold 40 | hi Exception guifg=#87ff00 gui=bold 41 | hi Float guifg=#af5fff 42 | hi FoldColumn guifg=#5f87af guibg=#000000 43 | hi Folded guifg=#5f87af guibg=#000000 44 | hi Function guifg=#ff005f " sub.. 45 | hi Identifier guifg=#d75f00 " ..foo 46 | hi Ignore guifg=#808080 guibg=#080808 47 | hi IncSearch guifg=#d7ffaf guibg=#000000 48 | 49 | hi Keyword guifg=#5fafd7 gui=bold 50 | hi Label guifg=#ffffaf gui=none 51 | hi Macro guifg=#d7ffaf 52 | hi SpecialKey guifg=#5fd7ff 53 | 54 | hi MatchParen guifg=#ff0000 guibg=#1c1c1c gui=bold 55 | hi ModeMsg guifg=#ffaf5f 56 | hi MoreMsg guifg=#ffaf5f 57 | hi Operator guifg=#00ff00 58 | 59 | " complete menu 60 | hi Pmenu guifg=#5fd7ff guibg=#121212 61 | hi PmenuSel guibg=#262626 62 | hi PmenuSbar guibg=#080808 63 | hi PmenuThumb guifg=#5fd7ff 64 | 65 | hi PreCondit guifg=#87ff00 gui=bold 66 | hi PreProc guifg=#ffafd7 67 | hi Question guifg=#5fd7ff 68 | hi Repeat guifg=#d7005f gui=bold 69 | hi Search guifg=#d70000 guibg=#121212 70 | 71 | " marks column 72 | hi SignColumn guifg=#87ff00 guibg=#262626 73 | hi SpecialChar guifg=#d7005f gui=bold 74 | hi SpecialComment guifg=#8a8a8a gui=bold 75 | hi Special guifg=#5fd7ff guibg=#080808 76 | hi SpecialKey guifg=#8a8a8a 77 | 78 | hi Statement guifg=#ffff87 gui=bold " my... 79 | hi StatusLine guifg=#1c1c1c guibg=#af8700 80 | hi StatusLineNC guifg=#1c1c1c guibg=#878700 81 | hi StorageClass guifg=#ff8700 82 | hi Structure guifg=#5fd7ff 83 | hi Tag guifg=#d7005f 84 | hi Title guifg=#0000ff 85 | hi Todo guifg=#d70000 guibg=#121212 gui=bold 86 | 87 | hi Typedef guifg=#5fd7ff 88 | hi Type guifg=#5fd7ff gui=none 89 | hi Underlined guifg=#808080 gui=underline 90 | 91 | hi VertSplit guifg=#808080 guibg=#080808 gui=bold 92 | hi VisualNOS guibg=#444444 93 | hi Visual guibg=#262626 94 | hi WarningMsg guifg=#0000ff guibg=#444444 gui=bold 95 | hi WildMenu guifg=#5fd7ff guibg=#000000 96 | 97 | hi Comment guifg=#87875f 98 | hi CursorLine guibg=#1c1c1c gui=none 99 | hi CursorColumn guibg=#1c1c1c 100 | hi LineNr guifg=#626262 guibg=#121212 101 | hi NonText guifg=#121212 guibg=#121212 102 | 103 | hi TabLine guifg=#878700 guibg=#121212 104 | hi TabLineFill guifg=#121212 guibg=#121212 105 | hi TabLineSel guifg=#ffd700 guibg=#1c1c1c 106 | 107 | " Support for 256-color terminal 108 | if &t_Co > 255 109 | hi Normal ctermfg=256 ctermbg=233 110 | set background=dark 111 | 112 | hi Boolean ctermfg=135 113 | hi Character ctermfg=143 114 | hi Number ctermfg=33 115 | hi String ctermfg=179 116 | hi Conditional ctermfg=196 cterm=bold 117 | hi Constant ctermfg=135 cterm=bold 118 | hi Cursor ctermfg=150 ctermbg=253 119 | hi Debug ctermfg=225 cterm=bold 120 | hi Define ctermfg=81 121 | hi Delimiter ctermfg=241 122 | 123 | hi DiffAdd ctermbg=233 124 | hi DiffChange ctermfg=181 ctermbg=234 125 | hi DiffDelete ctermfg=162 ctermbg=232 126 | hi DiffText ctermbg=233 cterm=bold 127 | 128 | hi Directory ctermfg=118 cterm=bold 129 | hi Error ctermfg=219 ctermbg=233 130 | hi ErrorMsg ctermfg=199 ctermbg=233 cterm=bold 131 | hi Exception ctermfg=118 cterm=bold 132 | hi Float ctermfg=135 133 | hi FoldColumn ctermfg=67 ctermbg=16 134 | hi Folded ctermfg=67 ctermbg=16 135 | hi Function ctermfg=197 " sub.. 136 | hi Identifier ctermfg=166 " ..foo 137 | hi Ignore ctermfg=244 ctermbg=232 138 | hi IncSearch ctermfg=193 ctermbg=16 139 | 140 | hi Keyword ctermfg=74 cterm=bold 141 | hi Label ctermfg=229 cterm=none 142 | hi Macro ctermfg=193 143 | hi SpecialKey ctermfg=81 144 | 145 | hi MatchParen ctermfg=196 ctermbg=234 cterm=bold 146 | hi ModeMsg ctermfg=215 147 | hi MoreMsg ctermfg=215 148 | hi Operator ctermfg=46 149 | 150 | " complete menu 151 | hi Pmenu ctermfg=81 ctermbg=233 152 | hi PmenuSel ctermbg=235 153 | hi PmenuSbar ctermbg=232 154 | hi PmenuThumb ctermfg=81 155 | 156 | hi PreCondit ctermfg=118 cterm=bold 157 | hi PreProc ctermfg=218 158 | hi Question ctermfg=81 159 | hi Repeat ctermfg=161 cterm=bold 160 | hi Search ctermfg=160 ctermbg=233 161 | 162 | " marks column 163 | hi SignColumn ctermfg=118 ctermbg=235 164 | hi SpecialChar ctermfg=161 cterm=bold 165 | hi SpecialComment ctermfg=245 cterm=bold 166 | hi Special ctermfg=81 ctermbg=232 167 | hi SpecialKey ctermfg=245 168 | 169 | hi Statement ctermfg=228 cterm=bold " my... 170 | hi StatusLine ctermfg=234 ctermbg=136 171 | hi StatusLineNC ctermfg=234 ctermbg=100 172 | hi StorageClass ctermfg=208 173 | hi Structure ctermfg=81 174 | hi Tag ctermfg=161 175 | hi Title ctermfg=21 176 | hi Todo ctermfg=160 ctermbg=233 cterm=bold 177 | 178 | hi Typedef ctermfg=81 179 | hi Type ctermfg=81 cterm=none 180 | hi Underlined ctermfg=244 cterm=underline 181 | 182 | hi VertSplit ctermfg=244 ctermbg=232 cterm=bold 183 | hi VisualNOS ctermbg=238 184 | hi Visual ctermbg=235 185 | hi WarningMsg ctermfg=21 ctermbg=238 cterm=bold 186 | hi WildMenu ctermfg=81 ctermbg=16 187 | 188 | hi Comment ctermfg=101 189 | hi CursorLine ctermbg=234 cterm=none 190 | hi CursorColumn ctermbg=234 191 | hi LineNr ctermfg=241 ctermbg=233 192 | hi NonText ctermfg=233 ctermbg=233 193 | 194 | hi TabLine ctermfg=100 ctermbg=233 195 | hi TabLineFill ctermfg=233 ctermbg=233 196 | hi TabLineSel ctermfg=220 ctermbg=234 197 | end 198 | -------------------------------------------------------------------------------- /colors/neverland2-darker.vim: -------------------------------------------------------------------------------- 1 | " Vim color file - neverland2-darker.vim 2 | " Eyes are sober, this is the plan 3 | " I'm sitting in a car heading Neverland 4 | " Author: Magnus Woldrich 5 | 6 | 7 | set background=dark 8 | hi clear 9 | 10 | if version > 580 11 | " no guarantees for version 5.8 and below, but this makes it stop 12 | " complaining 13 | if exists("syntax_on") 14 | syntax reset 15 | endif 16 | endif 17 | let g:colors_name="neverland2-dark" 18 | 19 | hi Normal guifg=#ffffff guibg=#080808 20 | set background=dark 21 | 22 | hi Boolean guifg=#af5fff 23 | hi Character guifg=#afaf5f 24 | hi Number guifg=#0087ff 25 | hi String guifg=#d7af5f 26 | hi Conditional guifg=#ff0000 gui=bold 27 | hi Constant guifg=#af5fff gui=bold 28 | hi Cursor guifg=#afd787 guibg=#dadada 29 | hi Debug guifg=#ffd7ff gui=bold 30 | hi Define guifg=#5fd7ff 31 | hi Delimiter guifg=#626262 32 | 33 | hi DiffAdd guibg=#080808 34 | hi DiffChange guifg=#d7afaf guibg=#1c1c1c 35 | hi DiffDelete guifg=#d70087 guibg=#080808 36 | hi DiffText guibg=#080808 gui=bold 37 | 38 | hi Directory guifg=#87ff00 gui=bold 39 | hi Error guifg=#ffafff guibg=#080808 40 | hi ErrorMsg guifg=#ff00af guibg=#080808 gui=bold 41 | hi Exception guifg=#87ff00 gui=bold 42 | hi Float guifg=#af5fff 43 | hi FoldColumn guifg=#5f87af guibg=#000000 44 | hi Folded guifg=#5f87af guibg=#000000 45 | hi Function guifg=#ff005f " sub.. 46 | hi Identifier guifg=#d75f00 " ..foo 47 | hi Ignore guifg=#808080 guibg=#080808 48 | hi IncSearch guifg=#d7ffaf guibg=#000000 49 | 50 | hi Keyword guifg=#5fafd7 gui=bold 51 | hi Label guifg=#ffffaf gui=none 52 | hi Macro guifg=#d7ffaf 53 | hi SpecialKey guifg=#5fd7ff 54 | 55 | hi MatchParen guifg=#ff0000 guibg=#1c1c1c gui=bold 56 | hi ModeMsg guifg=#ffaf5f 57 | hi MoreMsg guifg=#ffaf5f 58 | hi Operator guifg=#00ff00 59 | 60 | " complete menu 61 | hi Pmenu guifg=#5fd7ff guibg=#080808 62 | hi PmenuSel guibg=#262626 63 | hi PmenuSbar guibg=#080808 64 | hi PmenuThumb guifg=#5fd7ff 65 | 66 | hi PreCondit guifg=#87ff00 gui=bold 67 | hi PreProc guifg=#ffafd7 68 | hi Question guifg=#5fd7ff 69 | hi Repeat guifg=#d7005f gui=bold 70 | hi Search guifg=#d70000 guibg=#080808 71 | 72 | " marks column 73 | hi SignColumn guifg=#87ff00 guibg=#262626 74 | hi SpecialChar guifg=#d7005f gui=bold 75 | hi SpecialComment guifg=#8a8a8a gui=bold 76 | hi Special guifg=#5fd7ff guibg=#080808 77 | hi SpecialKey guifg=#8a8a8a 78 | 79 | hi Statement guifg=#ffff87 gui=bold " my... 80 | hi StatusLine guifg=#1c1c1c guibg=#af8700 81 | hi StatusLineNC guifg=#1c1c1c guibg=#878700 82 | hi StorageClass guifg=#ff8700 83 | hi Structure guifg=#5fd7ff 84 | hi Tag guifg=#d7005f 85 | hi Title guifg=#0000ff 86 | hi Todo guifg=#d70000 guibg=#080808 gui=bold 87 | 88 | hi Typedef guifg=#5fd7ff 89 | hi Type guifg=#5fd7ff gui=none 90 | hi Underlined guifg=#808080 gui=underline 91 | 92 | hi VertSplit guifg=#808080 guibg=#080808 gui=bold 93 | hi VisualNOS guibg=#444444 94 | hi Visual guibg=#262626 95 | hi WarningMsg guifg=#0000ff guibg=#444444 gui=bold 96 | hi WildMenu guifg=#5fd7ff guibg=#000000 97 | 98 | hi Comment guifg=#87875f 99 | hi CursorLine guibg=#1c1c1c gui=none 100 | hi CursorColumn guibg=#1c1c1c 101 | hi LineNr guifg=#626262 guibg=#080808 102 | hi NonText guifg=#080808 guibg=#080808 103 | 104 | hi TabLine guifg=#878700 guibg=#080808 105 | hi TabLineFill guifg=#080808 guibg=#080808 106 | hi TabLineSel guifg=#ffd700 guibg=#1c1c1c 107 | 108 | " Support for 256-color terminal 109 | if &t_Co > 255 110 | hi Normal ctermfg=256 ctermbg=232 111 | 112 | set background=dark 113 | 114 | 115 | hi Boolean ctermfg=135 116 | hi Character ctermfg=143 117 | hi Number ctermfg=33 118 | hi String ctermfg=179 119 | hi Conditional ctermfg=196 cterm=bold 120 | hi Constant ctermfg=135 cterm=bold 121 | hi Cursor ctermfg=150 ctermbg=253 122 | hi Debug ctermfg=225 cterm=bold 123 | hi Define ctermfg=81 124 | hi Delimiter ctermfg=241 125 | 126 | hi DiffAdd ctermbg=232 127 | hi DiffChange ctermfg=181 ctermbg=234 128 | hi DiffDelete ctermfg=162 ctermbg=232 129 | hi DiffText ctermbg=232 cterm=bold 130 | 131 | hi Directory ctermfg=118 cterm=bold 132 | hi Error ctermfg=219 ctermbg=232 133 | hi ErrorMsg ctermfg=199 ctermbg=232 cterm=bold 134 | hi Exception ctermfg=118 cterm=bold 135 | hi Float ctermfg=135 136 | hi FoldColumn ctermfg=67 ctermbg=16 137 | hi Folded ctermfg=67 ctermbg=16 138 | hi Function ctermfg=197 " sub.. 139 | hi Identifier ctermfg=166 " ..foo 140 | hi Ignore ctermfg=244 ctermbg=232 141 | hi IncSearch ctermfg=193 ctermbg=16 142 | 143 | hi Keyword ctermfg=74 cterm=bold 144 | hi Label ctermfg=229 cterm=none 145 | hi Macro ctermfg=193 146 | hi SpecialKey ctermfg=81 147 | 148 | hi MatchParen ctermfg=196 ctermbg=234 cterm=bold 149 | hi ModeMsg ctermfg=215 150 | hi MoreMsg ctermfg=215 151 | hi Operator ctermfg=46 152 | 153 | " complete menu 154 | hi Pmenu ctermfg=81 ctermbg=232 155 | hi PmenuSel ctermbg=235 156 | hi PmenuSbar ctermbg=232 157 | hi PmenuThumb ctermfg=81 158 | 159 | hi PreCondit ctermfg=118 cterm=bold 160 | hi PreProc ctermfg=218 161 | hi Question ctermfg=81 162 | hi Repeat ctermfg=161 cterm=bold 163 | hi Search ctermfg=160 ctermbg=232 164 | 165 | " marks column 166 | hi SignColumn ctermfg=118 ctermbg=235 167 | hi SpecialChar ctermfg=161 cterm=bold 168 | hi SpecialComment ctermfg=245 cterm=bold 169 | hi Special ctermfg=81 ctermbg=232 170 | hi SpecialKey ctermfg=245 171 | 172 | hi Statement ctermfg=228 cterm=bold " my... 173 | hi StatusLine ctermfg=234 ctermbg=136 174 | hi StatusLineNC ctermfg=234 ctermbg=100 175 | hi StorageClass ctermfg=208 176 | hi Structure ctermfg=81 177 | hi Tag ctermfg=161 178 | hi Title ctermfg=21 179 | hi Todo ctermfg=160 ctermbg=232 cterm=bold 180 | 181 | hi Typedef ctermfg=81 182 | hi Type ctermfg=81 cterm=none 183 | hi Underlined ctermfg=244 cterm=underline 184 | 185 | hi VertSplit ctermfg=244 ctermbg=232 cterm=bold 186 | hi VisualNOS ctermbg=238 187 | hi Visual ctermbg=235 188 | hi WarningMsg ctermfg=21 ctermbg=238 cterm=bold 189 | hi WildMenu ctermfg=81 ctermbg=16 190 | 191 | hi Comment ctermfg=101 192 | hi CursorLine ctermbg=234 cterm=none 193 | hi CursorColumn ctermbg=234 194 | hi LineNr ctermfg=241 ctermbg=232 195 | hi NonText ctermfg=232 ctermbg=232 196 | 197 | hi TabLine ctermfg=100 ctermbg=232 198 | hi TabLineFill ctermfg=232 ctermbg=232 199 | hi TabLineSel ctermfg=220 ctermbg=234 200 | end 201 | -------------------------------------------------------------------------------- /colors/neverland.vim: -------------------------------------------------------------------------------- 1 | " Vim color file - neverland.vim 2 | " Eyes are sober, this is the plan 3 | " I'm sitting in a car heading Neverland 4 | " Author: Magnus Woldrich 5 | 6 | 7 | " Set background first 8 | set background=dark 9 | hi clear 10 | 11 | if version > 580 12 | " no guarantees for version 5.8 and below, but this makes it stop 13 | " complaining 14 | if exists("syntax_on") 15 | syntax reset 16 | endif 17 | endif 18 | let g:colors_name="neverland" 19 | 20 | " Setting normal before any other highlight group is a good idea 21 | hi Normal guifg=#ffd7ff guibg=#121212 22 | 23 | " background might have changed to 'light', so fix it 24 | set background=dark 25 | 26 | hi Boolean guifg=#af5fff 27 | hi Character guifg=#afaf5f 28 | hi Number guifg=#0087ff 29 | hi String guifg=#d7af5f 30 | hi Conditional guifg=#ff0000 gui=bold 31 | hi Constant guifg=#87af00 gui=bold 32 | hi Cursor guifg=#afd787 guibg=#dadada 33 | hi Debug guifg=#ffd7ff gui=bold 34 | hi Define guifg=#5fd7ff 35 | hi Delimiter guifg=#626262 36 | 37 | hi DiffAdd guibg=#005f87 38 | hi DiffChange guifg=#d7afaf guibg=#4e4e4e 39 | hi DiffDelete guifg=#d70087 guibg=#5f005f 40 | hi DiffText guibg=#878787 gui=bold 41 | 42 | hi Directory guifg=#87ff00 gui=bold 43 | hi Error guifg=#ffafff guibg=#87005f 44 | hi ErrorMsg guifg=#ff00af guibg=#000000 gui=bold 45 | hi Exception guifg=#87ff00 gui=bold 46 | hi Float guifg=#af5fff 47 | hi FoldColumn guifg=#5f87af guibg=#000000 48 | hi Folded guifg=#5f87af guibg=#000000 49 | hi Function guifg=#87ff00 50 | hi Identifier guifg=#afd75f 51 | hi Ignore guifg=#808080 guibg=#080808 52 | hi IncSearch guifg=#d7ffaf guibg=#000000 53 | 54 | hi Keyword guifg=#87afff gui=bold 55 | hi Label guifg=#ffffaf gui=none 56 | hi Macro guifg=#d7ffaf 57 | hi SpecialKey guifg=#5fd7ff 58 | 59 | hi MatchParen guifg=#ff0000 guibg=#1c1c1c gui=bold 60 | hi ModeMsg guifg=#ffaf5f 61 | hi MoreMsg guifg=#ffaf5f 62 | hi Operator guifg=#afd700 63 | 64 | " complete menu 65 | hi Pmenu guifg=#5fd7ff guibg=#121212 66 | hi PmenuSel guibg=#262626 67 | hi PmenuSbar guibg=#080808 68 | hi PmenuThumb guifg=#5fd7ff 69 | 70 | hi PreCondit guifg=#87ff00 gui=bold 71 | hi PreProc guifg=#ffafd7 72 | hi Question guifg=#5fd7ff 73 | hi Repeat guifg=#d7005f gui=bold 74 | hi Search guifg=#1c1c1c guibg=#ffd787 75 | 76 | " marks column 77 | hi SignColumn guifg=#87ff00 guibg=#262626 78 | hi SpecialChar guifg=#d7005f gui=bold 79 | hi SpecialComment guifg=#8a8a8a gui=bold 80 | hi Special guifg=#5fd7ff guibg=#080808 81 | hi SpecialKey guifg=#8a8a8a 82 | 83 | hi Statement guifg=#d78700 gui=bold 84 | hi StatusLine guifg=#1c1c1c guibg=#af8700 85 | hi StatusLineNC guifg=#1c1c1c guibg=#878700 86 | hi StorageClass guifg=#ff8700 87 | hi Structure guifg=#5fd7ff 88 | hi Tag guifg=#d7005f 89 | hi Title guifg=#5faf5f 90 | hi Todo guifg=#d70000 guibg=#121212 gui=bold 91 | 92 | hi Typedef guifg=#5fd7ff 93 | hi Type guifg=#d75f00 gui=none 94 | hi Underlined guifg=#87af00 gui=none 95 | 96 | hi VertSplit guifg=#808080 guibg=#080808 gui=bold 97 | hi VisualNOS guibg=#444444 98 | hi Visual guibg=#262626 99 | hi WarningMsg guifg=#0000ff guibg=#444444 gui=bold 100 | hi WildMenu guifg=#5fd7ff guibg=#000000 101 | 102 | hi Comment guifg=#af875f 103 | hi CursorLine guibg=#1c1c1c gui=none 104 | hi CursorColumn guibg=#121212 105 | hi LineNr guifg=#626262 guibg=#121212 106 | hi NonText guifg=#121212 guibg=#121212 107 | 108 | hi TabLine guifg=#878700 guibg=#121212 109 | hi TabLineFill guifg=#121212 guibg=#121212 110 | hi TabLineSel guifg=#ffd700 guibg=#1c1c1c 111 | 112 | 113 | if &t_Co > 255 114 | " Setting normal before any other highlight group is a good idea 115 | hi Normal ctermfg=225 ctermbg=233 116 | 117 | " background might have changed to 'light', so fix it 118 | set background=dark 119 | 120 | hi Boolean ctermfg=135 121 | hi Character ctermfg=143 122 | hi Number ctermfg=33 123 | hi String ctermfg=179 124 | hi Conditional ctermfg=196 cterm=bold 125 | hi Constant ctermfg=106 cterm=bold 126 | hi Cursor ctermfg=150 ctermbg=253 127 | hi Debug ctermfg=225 cterm=bold 128 | hi Define ctermfg=81 129 | hi Delimiter ctermfg=241 130 | 131 | hi DiffAdd ctermbg=24 132 | hi DiffChange ctermfg=181 ctermbg=239 133 | hi DiffDelete ctermfg=162 ctermbg=53 134 | hi DiffText ctermbg=102 cterm=bold 135 | 136 | hi Directory ctermfg=118 cterm=bold 137 | hi Error ctermfg=219 ctermbg=89 138 | hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold 139 | hi Exception ctermfg=118 cterm=bold 140 | hi Float ctermfg=135 141 | hi FoldColumn ctermfg=67 ctermbg=16 142 | hi Folded ctermfg=67 ctermbg=16 143 | hi Function ctermfg=118 144 | hi Identifier ctermfg=149 145 | hi Ignore ctermfg=244 ctermbg=232 146 | hi IncSearch ctermfg=193 ctermbg=16 147 | 148 | hi Keyword ctermfg=111 cterm=bold 149 | hi Label ctermfg=229 cterm=none 150 | hi Macro ctermfg=193 151 | hi SpecialKey ctermfg=81 152 | 153 | hi MatchParen ctermfg=196 ctermbg=234 cterm=bold 154 | hi ModeMsg ctermfg=215 155 | hi MoreMsg ctermfg=215 156 | hi Operator ctermfg=148 157 | 158 | " complete menu 159 | hi Pmenu ctermfg=81 ctermbg=233 160 | hi PmenuSel ctermbg=235 161 | hi PmenuSbar ctermbg=232 162 | hi PmenuThumb ctermfg=81 163 | 164 | hi PreCondit ctermfg=118 cterm=bold 165 | hi PreProc ctermfg=218 166 | hi Question ctermfg=81 167 | hi Repeat ctermfg=161 cterm=bold 168 | hi Search ctermfg=234 ctermbg=222 169 | 170 | " marks column 171 | hi SignColumn ctermfg=118 ctermbg=235 172 | hi SpecialChar ctermfg=161 cterm=bold 173 | hi SpecialComment ctermfg=245 cterm=bold 174 | hi Special ctermfg=81 ctermbg=232 175 | hi SpecialKey ctermfg=245 176 | 177 | hi Statement ctermfg=172 cterm=bold 178 | hi StatusLine ctermfg=234 ctermbg=136 179 | hi StatusLineNC ctermfg=234 ctermbg=100 180 | hi StorageClass ctermfg=208 181 | hi Structure ctermfg=81 182 | hi Tag ctermfg=161 183 | hi Title ctermfg=71 184 | hi Todo ctermfg=160 ctermbg=233 cterm=bold 185 | 186 | hi Typedef ctermfg=81 187 | hi Type ctermfg=166 cterm=none 188 | hi Underlined ctermfg=106 cterm=none 189 | 190 | hi VertSplit ctermfg=244 ctermbg=232 cterm=bold 191 | hi VisualNOS ctermbg=238 192 | hi Visual ctermbg=235 193 | hi WarningMsg ctermfg=21 ctermbg=238 cterm=bold 194 | hi WildMenu ctermfg=81 ctermbg=16 195 | 196 | hi Comment ctermfg=137 197 | hi CursorLine ctermbg=234 cterm=none 198 | hi CursorColumn ctermbg=233 199 | hi LineNr ctermfg=241 ctermbg=233 200 | hi NonText ctermfg=233 ctermbg=233 201 | 202 | hi TabLine ctermfg=100 ctermbg=233 203 | hi TabLineFill ctermfg=233 ctermbg=233 204 | hi TabLineSel ctermfg=220 ctermbg=234 205 | end 206 | -------------------------------------------------------------------------------- /colors/ir_black.vim: -------------------------------------------------------------------------------- 1 | " ir_black color scheme 2 | " More at: http://blog.infinitered.com/entries/show/8 3 | 4 | 5 | " ******************************************************************************** 6 | " Standard colors used in all ir_black themes: 7 | " Note, x:x:x are RGB values 8 | " 9 | " normal: #f6f3e8 10 | " 11 | " string: #A8FF60 168:255:96 12 | " string inner (punc, code, etc): #00A0A0 0:160:160 13 | " number: #FF73FD 255:115:253 14 | " comments: #7C7C7C 124:124:124 15 | " keywords: #96CBFE 150:203:254 16 | " operators: white 17 | " class: #FFFFB6 255:255:182 18 | " method declaration name: #FFD2A7 255:210:167 19 | " regular expression: #E9C062 233:192:98 20 | " regexp alternate: #FF8000 255:128:0 21 | " regexp alternate 2: #B18A3D 177:138:61 22 | " variable: #C6C5FE 198:197:254 23 | " 24 | " Misc colors: 25 | " red color (used for whatever): #FF6C60 255:108:96 26 | " light red: #FFB6B0 255:182:176 27 | " 28 | " brown: #E18964 good for special 29 | " 30 | " lightpurpleish: #FFCCFF 31 | " 32 | " Interface colors: 33 | " background color: black 34 | " cursor (where underscore is used): #FFA560 255:165:96 35 | " cursor (where block is used): white 36 | " visual selection: #1D1E2C 37 | " current line: #151515 21:21:21 38 | " search selection: #07281C 7:40:28 39 | " line number: #3D3D3D 61:61:61 40 | 41 | 42 | " ******************************************************************************** 43 | " The following are the preferred 16 colors for your terminal 44 | " Colors Bright Colors 45 | " Black #4E4E4E #7C7C7C 46 | " Red #FF6C60 #FFB6B0 47 | " Green #A8FF60 #CEFFAB 48 | " Yellow #FFFFB6 #FFFFCB 49 | " Blue #96CBFE #FFFFCB 50 | " Magenta #FF73FD #FF9CFE 51 | " Cyan #C6C5FE #DFDFFE 52 | " White #EEEEEE #FFFFFF 53 | 54 | 55 | " ******************************************************************************** 56 | set background=dark 57 | hi clear 58 | 59 | if exists("syntax_on") 60 | syntax reset 61 | endif 62 | 63 | let colors_name = "ir_black" 64 | 65 | 66 | "hi Example guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 67 | 68 | " General colors 69 | hi Normal guifg=#f6f3e8 guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 70 | hi NonText guifg=#070707 guibg=black gui=NONE ctermfg=black ctermbg=NONE cterm=NONE 71 | 72 | hi Cursor guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=reverse 73 | hi LineNr guifg=#3D3D3D guibg=black gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE 74 | 75 | hi VertSplit guifg=#202020 guibg=#202020 gui=NONE ctermfg=darkgray ctermbg=darkgray cterm=NONE 76 | hi StatusLine guifg=#CCCCCC guibg=#202020 gui=italic ctermfg=white ctermbg=darkgray cterm=NONE 77 | hi StatusLineNC guifg=black guibg=#202020 gui=NONE ctermfg=blue ctermbg=darkgray cterm=NONE 78 | 79 | hi Folded guifg=#a0a8b0 guibg=#384048 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 80 | hi Title guifg=#f6f3e8 guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE 81 | hi Visual guifg=NONE guibg=#262D51 gui=NONE ctermfg=NONE ctermbg=darkgray cterm=NONE 82 | 83 | hi SpecialKey guifg=#808080 guibg=#343434 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 84 | 85 | hi WildMenu guifg=green guibg=yellow gui=NONE ctermfg=black ctermbg=yellow cterm=NONE 86 | hi PmenuSbar guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=NONE 87 | "hi Ignore guifg=gray guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 88 | 89 | hi Error guifg=NONE guibg=NONE gui=undercurl ctermfg=white ctermbg=red cterm=NONE guisp=#FF6C60 " undercurl color 90 | hi ErrorMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE 91 | hi WarningMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE 92 | 93 | " Message displayed in lower left, such as --INSERT-- 94 | hi ModeMsg guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD 95 | 96 | if version >= 700 " Vim 7.x specific colors 97 | hi CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD 98 | hi CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD 99 | hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=BOLD ctermfg=white ctermbg=darkgray cterm=NONE 100 | hi Pmenu guifg=#f6f3e8 guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 101 | hi PmenuSel guifg=#000000 guibg=#cae682 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 102 | hi Search guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline 103 | endif 104 | 105 | " Syntax highlighting 106 | hi Comment guifg=#7C7C7C guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE 107 | hi String guifg=#A8FF60 guibg=NONE gui=NONE ctermfg=green ctermbg=NONE cterm=NONE 108 | hi Number guifg=#FF73FD guibg=NONE gui=NONE ctermfg=magenta ctermbg=NONE cterm=NONE 109 | 110 | hi Keyword guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE 111 | hi PreProc guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE 112 | hi Conditional guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE " if else end 113 | 114 | hi Todo guifg=#8f8f8f guibg=NONE gui=NONE ctermfg=red ctermbg=NONE cterm=NONE 115 | hi Constant guifg=#99CC99 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE 116 | 117 | hi Identifier guifg=#C6C5FE guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE 118 | hi Function guifg=#FFD2A7 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE 119 | hi Type guifg=#FFFFB6 guibg=NONE gui=NONE ctermfg=yellow ctermbg=NONE cterm=NONE 120 | hi Statement guifg=#6699CC guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE 121 | 122 | hi Special guifg=#E18964 guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE 123 | hi Delimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE 124 | hi Operator guifg=white guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE 125 | 126 | hi link Character Constant 127 | hi link Boolean Constant 128 | hi link Float Number 129 | hi link Repeat Statement 130 | hi link Label Statement 131 | hi link Exception Statement 132 | hi link Include PreProc 133 | hi link Define PreProc 134 | hi link Macro PreProc 135 | hi link PreCondit PreProc 136 | hi link StorageClass Type 137 | hi link Structure Type 138 | hi link Typedef Type 139 | hi link Tag Special 140 | hi link SpecialChar Special 141 | hi link SpecialComment Special 142 | hi link Debug Special 143 | 144 | 145 | " Special for Ruby 146 | hi rubyRegexp guifg=#B18A3D guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE 147 | hi rubyRegexpDelimiter guifg=#FF8000 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE 148 | hi rubyEscape guifg=white guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE 149 | hi rubyInterpolationDelimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE 150 | hi rubyControl guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE "and break, etc 151 | "hi rubyGlobalVariable guifg=#FFCCFF guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE "yield 152 | hi rubyStringDelimiter guifg=#336633 guibg=NONE gui=NONE ctermfg=lightgreen ctermbg=NONE cterm=NONE 153 | "rubyInclude 154 | "rubySharpBang 155 | "rubyAccess 156 | "rubyPredefinedVariable 157 | "rubyBoolean 158 | "rubyClassVariable 159 | "rubyBeginEnd 160 | "rubyRepeatModifier 161 | "hi link rubyArrayDelimiter Special " [ , , ] 162 | "rubyCurlyBlock { , , } 163 | 164 | hi link rubyClass Keyword 165 | hi link rubyModule Keyword 166 | hi link rubyKeyword Keyword 167 | hi link rubyOperator Operator 168 | hi link rubyIdentifier Identifier 169 | hi link rubyInstanceVariable Identifier 170 | hi link rubyGlobalVariable Identifier 171 | hi link rubyClassVariable Identifier 172 | hi link rubyConstant Type 173 | 174 | 175 | " Special for Java 176 | " hi link javaClassDecl Type 177 | hi link javaScopeDecl Identifier 178 | hi link javaCommentTitle javaDocSeeTag 179 | hi link javaDocTags javaDocSeeTag 180 | hi link javaDocParam javaDocSeeTag 181 | hi link javaDocSeeTagParam javaDocSeeTag 182 | 183 | hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE 184 | hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE 185 | "hi javaClassDecl guifg=#CCFFCC guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE 186 | 187 | 188 | " Special for XML 189 | hi link xmlTag Keyword 190 | hi link xmlTagName Conditional 191 | hi link xmlEndTag Identifier 192 | 193 | 194 | " Special for HTML 195 | hi link htmlTag Keyword 196 | hi link htmlTagName Conditional 197 | hi link htmlEndTag Identifier 198 | 199 | 200 | " Special for Javascript 201 | hi link javaScriptNumber Number 202 | 203 | 204 | " Special for Python 205 | "hi link pythonEscape Keyword 206 | 207 | 208 | " Special for CSharp 209 | hi link csXmlTag Keyword 210 | 211 | 212 | " Special for PHP 213 | -------------------------------------------------------------------------------- /colors/desert256.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Maintainer: Henry So, Jr. 3 | 4 | " These are the colors of the "desert" theme by Hans Fugal with a few small 5 | " modifications (namely that I lowered the intensity of the normal white and 6 | " made the normal and nontext backgrounds black), modified to work with 88- 7 | " and 256-color xterms. 8 | " 9 | " The original "desert" theme is available as part of the vim distribution or 10 | " at http://hans.fugal.net/vim/colors/. 11 | " 12 | " The real feature of this color scheme, with a wink to the "inkpot" theme, is 13 | " the programmatic approximation of the gui colors to the palettes of 88- and 14 | " 256- color xterms. The functions that do this (folded away, for 15 | " readability) are calibrated to the colors used for Thomas E. Dickey's xterm 16 | " (version 200), which is available at http://dickey.his.com/xterm/xterm.html. 17 | " 18 | " I struggled with trying to parse the rgb.txt file to avoid the necessity of 19 | " converting color names to #rrggbb form, but decided it was just not worth 20 | " the effort. Maybe someone seeing this may decide otherwise... 21 | 22 | set background=dark 23 | if version > 580 24 | " no guarantees for version 5.8 and below, but this makes it stop 25 | " complaining 26 | hi clear 27 | if exists("syntax_on") 28 | syntax reset 29 | endif 30 | endif 31 | let g:colors_name="desert256" 32 | 33 | if has("gui_running") || &t_Co == 88 || &t_Co == 256 34 | " functions {{{ 35 | " returns an approximate grey index for the given grey level 36 | fun grey_number(x) 37 | if &t_Co == 88 38 | if a:x < 23 39 | return 0 40 | elseif a:x < 69 41 | return 1 42 | elseif a:x < 103 43 | return 2 44 | elseif a:x < 127 45 | return 3 46 | elseif a:x < 150 47 | return 4 48 | elseif a:x < 173 49 | return 5 50 | elseif a:x < 196 51 | return 6 52 | elseif a:x < 219 53 | return 7 54 | elseif a:x < 243 55 | return 8 56 | else 57 | return 9 58 | endif 59 | else 60 | if a:x < 14 61 | return 0 62 | else 63 | let l:n = (a:x - 8) / 10 64 | let l:m = (a:x - 8) % 10 65 | if l:m < 5 66 | return l:n 67 | else 68 | return l:n + 1 69 | endif 70 | endif 71 | endif 72 | endfun 73 | 74 | " returns the actual grey level represented by the grey index 75 | fun grey_level(n) 76 | if &t_Co == 88 77 | if a:n == 0 78 | return 0 79 | elseif a:n == 1 80 | return 46 81 | elseif a:n == 2 82 | return 92 83 | elseif a:n == 3 84 | return 115 85 | elseif a:n == 4 86 | return 139 87 | elseif a:n == 5 88 | return 162 89 | elseif a:n == 6 90 | return 185 91 | elseif a:n == 7 92 | return 208 93 | elseif a:n == 8 94 | return 231 95 | else 96 | return 255 97 | endif 98 | else 99 | if a:n == 0 100 | return 0 101 | else 102 | return 8 + (a:n * 10) 103 | endif 104 | endif 105 | endfun 106 | 107 | " returns the palette index for the given grey index 108 | fun grey_color(n) 109 | if &t_Co == 88 110 | if a:n == 0 111 | return 16 112 | elseif a:n == 9 113 | return 79 114 | else 115 | return 79 + a:n 116 | endif 117 | else 118 | if a:n == 0 119 | return 16 120 | elseif a:n == 25 121 | return 231 122 | else 123 | return 231 + a:n 124 | endif 125 | endif 126 | endfun 127 | 128 | " returns an approximate color index for the given color level 129 | fun rgb_number(x) 130 | if &t_Co == 88 131 | if a:x < 69 132 | return 0 133 | elseif a:x < 172 134 | return 1 135 | elseif a:x < 230 136 | return 2 137 | else 138 | return 3 139 | endif 140 | else 141 | if a:x < 75 142 | return 0 143 | else 144 | let l:n = (a:x - 55) / 40 145 | let l:m = (a:x - 55) % 40 146 | if l:m < 20 147 | return l:n 148 | else 149 | return l:n + 1 150 | endif 151 | endif 152 | endif 153 | endfun 154 | 155 | " returns the actual color level for the given color index 156 | fun rgb_level(n) 157 | if &t_Co == 88 158 | if a:n == 0 159 | return 0 160 | elseif a:n == 1 161 | return 139 162 | elseif a:n == 2 163 | return 205 164 | else 165 | return 255 166 | endif 167 | else 168 | if a:n == 0 169 | return 0 170 | else 171 | return 55 + (a:n * 40) 172 | endif 173 | endif 174 | endfun 175 | 176 | " returns the palette index for the given R/G/B color indices 177 | fun rgb_color(x, y, z) 178 | if &t_Co == 88 179 | return 16 + (a:x * 16) + (a:y * 4) + a:z 180 | else 181 | return 16 + (a:x * 36) + (a:y * 6) + a:z 182 | endif 183 | endfun 184 | 185 | " returns the palette index to approximate the given R/G/B color levels 186 | fun color(r, g, b) 187 | " get the closest grey 188 | let l:gx = grey_number(a:r) 189 | let l:gy = grey_number(a:g) 190 | let l:gz = grey_number(a:b) 191 | 192 | " get the closest color 193 | let l:x = rgb_number(a:r) 194 | let l:y = rgb_number(a:g) 195 | let l:z = rgb_number(a:b) 196 | 197 | if l:gx == l:gy && l:gy == l:gz 198 | " there are two possibilities 199 | let l:dgr = grey_level(l:gx) - a:r 200 | let l:dgg = grey_level(l:gy) - a:g 201 | let l:dgb = grey_level(l:gz) - a:b 202 | let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) 203 | let l:dr = rgb_level(l:gx) - a:r 204 | let l:dg = rgb_level(l:gy) - a:g 205 | let l:db = rgb_level(l:gz) - a:b 206 | let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) 207 | if l:dgrey < l:drgb 208 | " use the grey 209 | return grey_color(l:gx) 210 | else 211 | " use the color 212 | return rgb_color(l:x, l:y, l:z) 213 | endif 214 | else 215 | " only one possibility 216 | return rgb_color(l:x, l:y, l:z) 217 | endif 218 | endfun 219 | 220 | " returns the palette index to approximate the 'rrggbb' hex string 221 | fun rgb(rgb) 222 | let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 223 | let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 224 | let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 225 | 226 | return color(l:r, l:g, l:b) 227 | endfun 228 | 229 | " sets the highlighting for the given group 230 | fun X(group, fg, bg, attr) 231 | if a:fg != "" 232 | exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . rgb(a:fg) 233 | endif 234 | if a:bg != "" 235 | exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . rgb(a:bg) 236 | endif 237 | if a:attr != "" 238 | exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr 239 | endif 240 | endfun 241 | " }}} 242 | 243 | call X("Normal", "cccccc", "000000", "") 244 | 245 | " highlight groups 246 | call X("Cursor", "708090", "f0e68c", "") 247 | "CursorIM 248 | "Directory 249 | "DiffAdd 250 | "DiffChange 251 | "DiffDelete 252 | "DiffText 253 | "ErrorMsg 254 | call X("VertSplit", "c2bfa5", "7f7f7f", "reverse") 255 | call X("Folded", "ffd700", "4d4d4d", "") 256 | call X("FoldColumn", "d2b48c", "4d4d4d", "") 257 | call X("IncSearch", "708090", "f0e68c", "") 258 | "LineNr 259 | call X("ModeMsg", "daa520", "", "") 260 | call X("MoreMsg", "2e8b57", "", "") 261 | call X("NonText", "addbe7", "000000", "bold") 262 | call X("Question", "00ff7f", "", "") 263 | call X("Search", "f5deb3", "cd853f", "") 264 | call X("SpecialKey", "9acd32", "", "") 265 | call X("StatusLine", "c2bfa5", "000000", "reverse") 266 | call X("StatusLineNC", "c2bfa5", "7f7f7f", "reverse") 267 | call X("Title", "cd5c5c", "", "") 268 | call X("Visual", "6b8e23", "f0e68c", "reverse") 269 | "VisualNOS 270 | call X("WarningMsg", "fa8072", "", "") 271 | "WildMenu 272 | "Menu 273 | "Scrollbar 274 | "Tooltip 275 | 276 | " syntax highlighting groups 277 | call X("Comment", "87ceeb", "", "") 278 | call X("Constant", "ffa0a0", "", "") 279 | call X("Identifier", "98fb98", "", "none") 280 | call X("Statement", "f0e68c", "", "bold") 281 | call X("PreProc", "cd5c5c", "", "") 282 | call X("Type", "bdb76b", "", "bold") 283 | call X("Special", "ffdead", "", "") 284 | "Underlined 285 | call X("Ignore", "666666", "", "") 286 | "Error 287 | call X("Todo", "ff4500", "eeee00", "") 288 | 289 | " delete functions {{{ 290 | delf X 291 | delf rgb 292 | delf color 293 | delf rgb_color 294 | delf rgb_level 295 | delf rgb_number 296 | delf grey_color 297 | delf grey_level 298 | delf grey_number 299 | " }}} 300 | else 301 | " color terminal definitions 302 | hi SpecialKey ctermfg=darkgreen 303 | hi NonText cterm=bold ctermfg=darkblue 304 | hi Directory ctermfg=darkcyan 305 | hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 306 | hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green 307 | hi Search cterm=NONE ctermfg=grey ctermbg=blue 308 | hi MoreMsg ctermfg=darkgreen 309 | hi ModeMsg cterm=NONE ctermfg=brown 310 | hi LineNr ctermfg=3 311 | hi Question ctermfg=green 312 | hi StatusLine cterm=bold,reverse 313 | hi StatusLineNC cterm=reverse 314 | hi VertSplit cterm=reverse 315 | hi Title ctermfg=5 316 | hi Visual cterm=reverse 317 | hi VisualNOS cterm=bold,underline 318 | hi WarningMsg ctermfg=1 319 | hi WildMenu ctermfg=0 ctermbg=3 320 | hi Folded ctermfg=darkgrey ctermbg=NONE 321 | hi FoldColumn ctermfg=darkgrey ctermbg=NONE 322 | hi DiffAdd ctermbg=4 323 | hi DiffChange ctermbg=5 324 | hi DiffDelete cterm=bold ctermfg=4 ctermbg=6 325 | hi DiffText cterm=bold ctermbg=1 326 | hi Comment ctermfg=darkcyan 327 | hi Constant ctermfg=brown 328 | hi Special ctermfg=5 329 | hi Identifier ctermfg=6 330 | hi Statement ctermfg=3 331 | hi PreProc ctermfg=5 332 | hi Type ctermfg=2 333 | hi Underlined cterm=underline ctermfg=5 334 | hi Ignore ctermfg=darkgrey 335 | hi Error cterm=bold ctermfg=7 ctermbg=1 336 | endif 337 | 338 | " vim: set fdl=0 fdm=marker: 339 | -------------------------------------------------------------------------------- /colors/jellybeans.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " 3 | " " __ _ _ _ " 4 | " " \ \ ___| | |_ _| |__ ___ __ _ _ __ ___ " 5 | " " \ \/ _ \ | | | | | _ \ / _ \/ _ | _ \/ __| " 6 | " " /\_/ / __/ | | |_| | |_| | __/ |_| | | | \__ \ " 7 | " " \___/ \___|_|_|\__ |____/ \___|\____|_| |_|___/ " 8 | " " \___/ " 9 | " 10 | " "A colorful, dark color scheme for Vim." 11 | " 12 | " File: jellybeans.vim 13 | " Maintainer: NanoTech 14 | " Version: 1.4~git 15 | " Last Change: February 5th, 2011 16 | " Contributors: Daniel Herbert , 17 | " Henry So, Jr. , 18 | " David Liang 19 | " 20 | " Copyright (c) 2009-2011 NanoTech 21 | " 22 | " Permission is hereby granted, free of charge, to any person obtaining a copy 23 | " of this software and associated documentation files (the "Software"), to deal 24 | " in the Software without restriction, including without limitation the rights 25 | " to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 26 | " copies of the Software, and to permit persons to whom the Software is 27 | " furnished to do so, subject to the following conditions: 28 | " 29 | " The above copyright notice and this permission notice shall be included in 30 | " all copies or substantial portions of the Software. 31 | " 32 | " THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 33 | " IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 34 | " FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 35 | " AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 36 | " LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 37 | " OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 38 | " THE SOFTWARE. 39 | 40 | set background=dark 41 | 42 | hi clear 43 | 44 | if exists("syntax_on") 45 | syntax reset 46 | endif 47 | 48 | let colors_name = "jellybeans" 49 | 50 | if has("gui_running") || &t_Co == 88 || &t_Co == 256 51 | let s:low_color = 0 52 | else 53 | let s:low_color = 1 54 | endif 55 | 56 | " Color approximation functions by Henry So, Jr. and David Liang {{{ 57 | " Added to jellybeans.vim by Daniel Herbert 58 | 59 | " returns an approximate grey index for the given grey level 60 | fun! s:grey_number(x) 61 | if &t_Co == 88 62 | if a:x < 23 63 | return 0 64 | elseif a:x < 69 65 | return 1 66 | elseif a:x < 103 67 | return 2 68 | elseif a:x < 127 69 | return 3 70 | elseif a:x < 150 71 | return 4 72 | elseif a:x < 173 73 | return 5 74 | elseif a:x < 196 75 | return 6 76 | elseif a:x < 219 77 | return 7 78 | elseif a:x < 243 79 | return 8 80 | else 81 | return 9 82 | endif 83 | else 84 | if a:x < 14 85 | return 0 86 | else 87 | let l:n = (a:x - 8) / 10 88 | let l:m = (a:x - 8) % 10 89 | if l:m < 5 90 | return l:n 91 | else 92 | return l:n + 1 93 | endif 94 | endif 95 | endif 96 | endfun 97 | 98 | " returns the actual grey level represented by the grey index 99 | fun! s:grey_level(n) 100 | if &t_Co == 88 101 | if a:n == 0 102 | return 0 103 | elseif a:n == 1 104 | return 46 105 | elseif a:n == 2 106 | return 92 107 | elseif a:n == 3 108 | return 115 109 | elseif a:n == 4 110 | return 139 111 | elseif a:n == 5 112 | return 162 113 | elseif a:n == 6 114 | return 185 115 | elseif a:n == 7 116 | return 208 117 | elseif a:n == 8 118 | return 231 119 | else 120 | return 255 121 | endif 122 | else 123 | if a:n == 0 124 | return 0 125 | else 126 | return 8 + (a:n * 10) 127 | endif 128 | endif 129 | endfun 130 | 131 | " returns the palette index for the given grey index 132 | fun! s:grey_color(n) 133 | if &t_Co == 88 134 | if a:n == 0 135 | return 16 136 | elseif a:n == 9 137 | return 79 138 | else 139 | return 79 + a:n 140 | endif 141 | else 142 | if a:n == 0 143 | return 16 144 | elseif a:n == 25 145 | return 231 146 | else 147 | return 231 + a:n 148 | endif 149 | endif 150 | endfun 151 | 152 | " returns an approximate color index for the given color level 153 | fun! s:rgb_number(x) 154 | if &t_Co == 88 155 | if a:x < 69 156 | return 0 157 | elseif a:x < 172 158 | return 1 159 | elseif a:x < 230 160 | return 2 161 | else 162 | return 3 163 | endif 164 | else 165 | if a:x < 75 166 | return 0 167 | else 168 | let l:n = (a:x - 55) / 40 169 | let l:m = (a:x - 55) % 40 170 | if l:m < 20 171 | return l:n 172 | else 173 | return l:n + 1 174 | endif 175 | endif 176 | endif 177 | endfun 178 | 179 | " returns the actual color level for the given color index 180 | fun! s:rgb_level(n) 181 | if &t_Co == 88 182 | if a:n == 0 183 | return 0 184 | elseif a:n == 1 185 | return 139 186 | elseif a:n == 2 187 | return 205 188 | else 189 | return 255 190 | endif 191 | else 192 | if a:n == 0 193 | return 0 194 | else 195 | return 55 + (a:n * 40) 196 | endif 197 | endif 198 | endfun 199 | 200 | " returns the palette index for the given R/G/B color indices 201 | fun! s:rgb_color(x, y, z) 202 | if &t_Co == 88 203 | return 16 + (a:x * 16) + (a:y * 4) + a:z 204 | else 205 | return 16 + (a:x * 36) + (a:y * 6) + a:z 206 | endif 207 | endfun 208 | 209 | " returns the palette index to approximate the given R/G/B color levels 210 | fun! s:color(r, g, b) 211 | " get the closest grey 212 | let l:gx = s:grey_number(a:r) 213 | let l:gy = s:grey_number(a:g) 214 | let l:gz = s:grey_number(a:b) 215 | 216 | " get the closest color 217 | let l:x = s:rgb_number(a:r) 218 | let l:y = s:rgb_number(a:g) 219 | let l:z = s:rgb_number(a:b) 220 | 221 | if l:gx == l:gy && l:gy == l:gz 222 | " there are two possibilities 223 | let l:dgr = s:grey_level(l:gx) - a:r 224 | let l:dgg = s:grey_level(l:gy) - a:g 225 | let l:dgb = s:grey_level(l:gz) - a:b 226 | let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb) 227 | let l:dr = s:rgb_level(l:gx) - a:r 228 | let l:dg = s:rgb_level(l:gy) - a:g 229 | let l:db = s:rgb_level(l:gz) - a:b 230 | let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db) 231 | if l:dgrey < l:drgb 232 | " use the grey 233 | return s:grey_color(l:gx) 234 | else 235 | " use the color 236 | return s:rgb_color(l:x, l:y, l:z) 237 | endif 238 | else 239 | " only one possibility 240 | return s:rgb_color(l:x, l:y, l:z) 241 | endif 242 | endfun 243 | 244 | " returns the palette index to approximate the 'rrggbb' hex string 245 | fun! s:rgb(rgb) 246 | let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0 247 | let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0 248 | let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0 249 | return s:color(l:r, l:g, l:b) 250 | endfun 251 | 252 | " sets the highlighting for the given group 253 | fun! s:X(group, fg, bg, attr, lcfg, lcbg) 254 | if s:low_color 255 | let l:fge = empty(a:lcfg) 256 | let l:bge = empty(a:lcbg) 257 | 258 | if !l:fge && !l:bge 259 | exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=".a:lcbg 260 | elseif !l:fge && l:bge 261 | exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=NONE" 262 | elseif l:fge && !l:bge 263 | exec "hi ".a:group." ctermfg=NONE ctermbg=".a:lcbg 264 | endif 265 | else 266 | let l:fge = empty(a:fg) 267 | let l:bge = empty(a:bg) 268 | 269 | if !l:fge && !l:bge 270 | exec "hi ".a:group." guifg=#".a:fg." guibg=#".a:bg." ctermfg=".s:rgb(a:fg)." ctermbg=".s:rgb(a:bg) 271 | elseif !l:fge && l:bge 272 | exec "hi ".a:group." guifg=#".a:fg." guibg=NONE ctermfg=".s:rgb(a:fg)." ctermbg=NONE" 273 | elseif l:fge && !l:bge 274 | exec "hi ".a:group." guifg=NONE guibg=#".a:bg." ctermfg=NONE ctermbg=".s:rgb(a:bg) 275 | endif 276 | endif 277 | 278 | if a:attr == "" 279 | exec "hi ".a:group." gui=none cterm=none" 280 | else 281 | let noitalic = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",") 282 | if empty(noitalic) 283 | let noitalic = "none" 284 | endif 285 | exec "hi ".a:group." gui=".a:attr." cterm=".noitalic 286 | endif 287 | endfun 288 | " }}} 289 | 290 | call s:X("Normal","e8e8d3","151515","","White","") 291 | set background=dark 292 | 293 | if version >= 700 294 | call s:X("CursorLine","","1c1c1c","","","Black") 295 | call s:X("CursorColumn","","1c1c1c","","","Black") 296 | call s:X("MatchParen","ffffff","80a090","bold","","DarkCyan") 297 | 298 | call s:X("TabLine","000000","b0b8c0","italic","","Black") 299 | call s:X("TabLineFill","9098a0","","","","Black") 300 | call s:X("TabLineSel","000000","f0f0f0","italic,bold","Black","White") 301 | 302 | " Auto-completion 303 | call s:X("Pmenu","ffffff","000000","","White","Black") 304 | call s:X("PmenuSel","101010","eeeeee","reverse","White","") 305 | endif 306 | 307 | call s:X("Visual","","404040","","","Black") 308 | call s:X("Cursor","","b0d0f0","","","") 309 | 310 | call s:X("LineNr","605958","151515","none","Black","") 311 | call s:X("Comment","888888","","italic","Grey","") 312 | call s:X("Todo","808080","","bold","White","Black") 313 | 314 | call s:X("StatusLine","000000","dddddd","italic","Black","White") 315 | call s:X("StatusLineNC","ffffff","403c41","italic","White","Black") 316 | call s:X("VertSplit","777777","403c41","italic","Black","Black") 317 | call s:X("WildMenu","f0a0c0","302028","","Magenta","") 318 | 319 | call s:X("Folded","a0a8b0","384048","italic","Black","") 320 | call s:X("FoldColumn","a0a8b0","384048","","","Black") 321 | hi! link SignColumn FoldColumn 322 | 323 | call s:X("Title","70b950","","bold","Green","") 324 | 325 | call s:X("Constant","cf6a4c","","","Red","") 326 | call s:X("Special","799d6a","","","Green","") 327 | call s:X("Delimiter","668799","","","Grey","") 328 | 329 | call s:X("String","99ad6a","","","Green","") 330 | call s:X("StringDelimiter","556633","","","DarkGreen","") 331 | 332 | call s:X("Identifier","c6b6ee","","","LightCyan","") 333 | call s:X("Structure","8fbfdc","","","LightCyan","") 334 | call s:X("Function","fad07a","","","Yellow","") 335 | call s:X("Statement","8197bf","","","DarkBlue","") 336 | call s:X("PreProc","8fbfdc","","","LightBlue","") 337 | 338 | hi! link Operator Normal 339 | 340 | call s:X("Type","ffb964","","","Yellow","") 341 | call s:X("NonText","606060","151515","","Black","") 342 | 343 | call s:X("SpecialKey","444444","1c1c1c","","Black","") 344 | 345 | call s:X("Search","f0a0c0","302028","underline","Magenta","") 346 | 347 | call s:X("Directory","dad085","","","Yellow","") 348 | call s:X("ErrorMsg","","902020","","","DarkRed") 349 | hi! link Error ErrorMsg 350 | 351 | " Spell Checking 352 | 353 | call s:X("SpellBad","","902020","underline","","DarkRed") 354 | call s:X("SpellCap","","0000df","underline","","Blue") 355 | call s:X("SpellRare","","540063","underline","","DarkMagenta") 356 | call s:X("SpellLocal","","2D7067","underline","","Green") 357 | 358 | " Diff 359 | 360 | hi! link diffRemoved Constant 361 | hi! link diffAdded String 362 | 363 | " VimDiff 364 | 365 | call s:X("DiffAdd","","032218","","Black","DarkGreen") 366 | call s:X("DiffChange","","100920","","Black","DarkMagenta") 367 | call s:X("DiffDelete","220000","220000","","DarkRed","DarkRed") 368 | call s:X("DiffText","","000940","","","DarkRed") 369 | 370 | " PHP 371 | 372 | hi! link phpFunctions Function 373 | call s:X("StorageClass","c59f6f","","","Red","") 374 | hi! link phpSuperglobal Identifier 375 | hi! link phpQuoteSingle StringDelimiter 376 | hi! link phpQuoteDouble StringDelimiter 377 | hi! link phpBoolean Constant 378 | hi! link phpNull Constant 379 | hi! link phpArrayPair Operator 380 | 381 | " Ruby 382 | 383 | hi! link rubySharpBang Comment 384 | call s:X("rubyClass","447799","","","DarkBlue","") 385 | call s:X("rubyIdentifier","c6b6fe","","","Cyan","") 386 | 387 | call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","") 388 | call s:X("rubySymbol","7697d6","","","Blue","") 389 | hi! link rubyGlobalVariable rubyInstanceVariable 390 | hi! link rubyModule rubyClass 391 | call s:X("rubyControl","7597c6","","","Blue","") 392 | 393 | hi! link rubyString String 394 | hi! link rubyStringDelimiter StringDelimiter 395 | hi! link rubyInterpolationDelimiter Identifier 396 | 397 | call s:X("rubyRegexpDelimiter","540063","","","Magenta","") 398 | call s:X("rubyRegexp","dd0093","","","DarkMagenta","") 399 | call s:X("rubyRegexpSpecial","a40073","","","Magenta","") 400 | 401 | call s:X("rubyPredefinedIdentifier","de5577","","","Red","") 402 | 403 | " JavaScript 404 | hi! link javaScriptValue Constant 405 | hi! link javaScriptRegexpString rubyRegexp 406 | 407 | " C 408 | 409 | hi! link cOperator Constant 410 | 411 | " Objective-C/Cocoa 412 | hi! link objcClass Type 413 | hi! link cocoaClass objcClass 414 | hi! link objcSubclass objcClass 415 | hi! link objcSuperclass objcClass 416 | hi! link objcDirective rubyClass 417 | hi! link cocoaFunction Function 418 | hi! link objcMethodName Identifier 419 | hi! link objcMethodArg Normal 420 | hi! link objcMessageName Identifier 421 | 422 | " Tag list 423 | hi! link TagListFileName Directory 424 | 425 | " Manual overrides for 256-color terminals. Dark colors auto-map badly. 426 | if !s:low_color 427 | hi StatusLineNC ctermbg=234 428 | hi Folded ctermbg=236 429 | hi FoldColumn ctermbg=236 430 | hi SignColumn ctermbg=236 431 | hi DiffAdd ctermbg=22 432 | hi DiffDelete ctermbg=52 433 | hi DiffChange ctermbg=17 434 | hi DiffText ctermbg=19 435 | endif 436 | 437 | " delete functions {{{ 438 | delf s:X 439 | delf s:rgb 440 | delf s:color 441 | delf s:rgb_color 442 | delf s:rgb_level 443 | delf s:rgb_number 444 | delf s:grey_color 445 | delf s:grey_level 446 | delf s:grey_number 447 | " }}} 448 | -------------------------------------------------------------------------------- /vimrc: -------------------------------------------------------------------------------- 1 | " set the runtime path to include Vundle and initialize 2 | set rtp+=~/.vim/bundle/Vundle.vim 3 | call vundle#begin() 4 | 5 | Plugin 'gmarik/vundle' 6 | Plugin 'scrooloose/nerdtree' 7 | Plugin 'scrooloose/nerdcommenter' 8 | Plugin 'kien/ctrlp.vim' 9 | Plugin 'vim-perl/vim-perl' 10 | Plugin 'majutsushi/tagbar' 11 | Plugin 'scrooloose/syntastic' 12 | Plugin 'vim-scripts/matchit.zip' 13 | Plugin 'mattn/gist-vim' 14 | Plugin 'mattn/webapi-vim' 15 | Plugin 'marcweber/vim-addon-mw-utils' 16 | Plugin 'tomtom/tlib_vim' 17 | Plugin 'garbas/vim-snipmate' 18 | Plugin 'honza/vim-snippets' 19 | Plugin 'bling/vim-airline' 20 | Plugin 'airblade/vim-gitgutter' 21 | "Plugin 'nathanaelkane/vim-indent-guides' 22 | Plugin 'altercation/vim-colors-solarized' 23 | Plugin 'Lokaltog/vim-distinguished' 24 | Plugin 'pangloss/vim-javascript' 25 | Plugin 'mxw/vim-jsx' 26 | Plugin 'cakebaker/scss-syntax.vim' 27 | Plugin 'groenewege/vim-less' 28 | Plugin 'michalliu/sourcebeautify.vim' 29 | 30 | " ctags 31 | set tags=./tags,./../tags,./../../tags,./../../../tags,tags 32 | nmap ,ct :!(cd %:p:h;ctags *)& 33 | 34 | " vim-jsx 35 | let g:javascript_conceal=1 36 | 37 | " slimv options 38 | let g:slimv_keybindings=1 39 | let g:lisp_rainbow=1 40 | let g:slimv_leader=',s' 41 | 42 | " Gist options - put code in clipboard 43 | let g:gist_clip_command = 'pbcopy' 44 | let g:gist_detect_filetype = 1 45 | let g:gist_open_browser_after_post = 1 46 | 47 | " Use our user unless we have a sudo user, then is it 48 | let luser = substitute(system('whoami'), '\n', '', '') 49 | if strlen($SUDO_USER) 50 | let luser = $SUDO_USER 51 | endif 52 | 53 | let g:syntastic_enable_perl_checker = 1 54 | 55 | " turn on indent-guides 56 | "nautocmd VimEnter * IndentGuidesEnable 57 | "let g:indent_guides_guide_size=1 58 | 59 | set number 60 | set nocompatible 61 | 62 | "set wildignore+=*CVS 63 | 64 | " snipmate 65 | filetype on 66 | filetype plugin on 67 | filetype indent on 68 | 69 | " folding 70 | "let perl_fold=1 71 | "let perl_extended_vars = 1 72 | 73 | set laststatus=2 74 | 75 | " backspaces over everything in insert mode 76 | set backspace=indent,eol,start 77 | 78 | " Indent 79 | set autoindent 80 | set tabstop=2 81 | set shiftwidth=2 82 | set smartindent 83 | set expandtab 84 | syntax on 85 | 86 | set textwidth=79 87 | set formatoptions=qrn1 88 | "if version >= 703 89 | if exists('+colorcolumn') 90 | set colorcolumn=80 91 | endif 92 | 93 | " folding 94 | set foldmethod=indent 95 | 96 | " mojo 97 | let mojo_highlight_data = 1 98 | 99 | " Sidebar folder navigation 100 | let NERDTreeShowLineNumbers=1 101 | let NERDTreeShowBookmarks=1 102 | let NERDTreeChDirMode=2 103 | let NERDTreeWinSize=35 104 | "let NERDTreeIgnore=['CVS'] 105 | 106 | set incsearch 107 | set ignorecase 108 | set smartcase 109 | set visualbell 110 | set noerrorbells 111 | set hlsearch 112 | set history=500 113 | 114 | " scrolling 115 | "set ruler 116 | set scrolloff=20 " Scroll with 10 line buffer 117 | 118 | " clear recent search highlighting with space 119 | :nnoremap :nohlsearch:echo 120 | 121 | 122 | " save files as root without prior sudo 123 | cmap w!! w !sudo tee % >/dev/null 124 | 125 | set nobackup 126 | set noswapfile 127 | 128 | "" git branch 129 | "set statusline=%f\ " tail of the filename 130 | ""set statusline= 131 | "set statusline+=%{fugitive#statusline()} 132 | "set statusline+=%#warningmsg# 133 | "set statusline+=%{SyntasticStatuslineFlag()} 134 | "set statusline+=%* 135 | " 136 | "set statusline+=%= "left/right separator 137 | "set statusline+=%{StatuslineCurrentHighlight()}\ "current highlight 138 | "set statusline+=%c, "cursor column 139 | "set statusline+=%l/%L "cursor line/total lines 140 | "set statusline+=\ %P\ "percent through file 141 | "set laststatus=2 " Always show status line 142 | " 143 | "" warning for mixed indenting 144 | "set statusline+=%#error# 145 | "set statusline+=%{StatuslineMixedIndentingWarning()} 146 | "set statusline+=%* 147 | " 148 | "set statusline+=%h "help file flag 149 | "set statusline+=%y "filetype 150 | "set statusline+=%r "read only flag 151 | "set statusline+=%m "modified flag 152 | 153 | set list 154 | set listchars=tab:.\ ,trail:.,extends:#,nbsp:. 155 | 156 | colorscheme jellybeans 157 | 158 | " font 159 | if has("gui_gnome") 160 | set guifont=Monospace\ 8 161 | set list 162 | set listchars=tab:▸\ ,eol:¬,extends:#,nbsp:.,trail:. 163 | 164 | elseif has("gui_macvim") 165 | "set guifont=Menlo:h12 166 | "set guifont=Monaco:h12 167 | "set guifont=Monaco\ for\ Powerline:h12 168 | "let g:Powerline_symbols = 'fancy' 169 | set list 170 | set listchars=tab:▸\ ,eol:¬,extends:#,nbsp:.,trail:. 171 | endif 172 | 173 | "if &t_Co >= 256 || has("gui_running") 174 | if has("gui_running") 175 | "set guifont=Monaco:h11 176 | "set guifont=Consolas:h12 177 | "set guifont=Inconsolata:h13 178 | set guifont=Source\ Code\ Pro\ Light:h11 179 | "set guifont=Helvetica\ Neue\ Light:h11 180 | colorscheme tempire 181 | set guioptions-=r 182 | set go-=L 183 | set go-=T 184 | else 185 | colorscheme jellybeans 186 | endif 187 | 188 | 189 | " line tracking 190 | set numberwidth=5 191 | set cursorline 192 | set cursorcolumn 193 | 194 | " turn off cursor blinking 195 | set guicursor+=a:blinkon0 196 | 197 | function! StatuslineCurrentHighlight() 198 | let name = synIDattr(synID(line('.'),col('.'),1),'name') 199 | if name == '' 200 | return '' 201 | else 202 | return '[' . name . ']' 203 | endif 204 | endfunction 205 | 206 | " shortcuts 207 | inoremap jj 208 | 209 | nnoremap ; : 210 | 211 | let mapleader = ',' 212 | nnoremap a :Ack 213 | noremap , :NERDTreeToggle 214 | map t :tabnew 215 | map h :tabprevious 216 | map l :tabnext 217 | map w :tabclose 218 | map pd :!perldoc % 219 | "map cs :colorscheme sri 220 | map f :TlistToggle 221 | map M :!morbo % 222 | map x :!perl -Ilib % 223 | map H :call HexHighlight() 224 | map tts :%s/\s\+$// 225 | map term :ConqueTerm bash 226 | map b :TagbarToggle 227 | map sp :setlocal spell! spelllang=en_us " toggle spellcheck 228 | " 229 | " cd to directory of current file 230 | map cd :cd %:p:h 231 | map F :NERDTreeFind 232 | map R :source ~/.vimrc 233 | 234 | map pull :silent !sandbox pull % 235 | map push :silent !sandbox push % 236 | map same :!sandbox same % 237 | map rt :!sandbox rtest % 238 | map diff :!sandbox diff % 239 | nnoremap :GundoToggle 240 | 241 | " http://vim.wikia.com/wiki/Redirect_g_search_output 242 | nmap s :redir @a:g//:redir END:new:put! azRggd 243 | 244 | " Move single lines up-down 245 | nmap ddkP 246 | nmap ddp 247 | "nmap ]e 249 | 250 | " Resize vertical windows 251 | nmap + + 252 | nmap _ - 253 | 254 | " Resize horizontal windows 255 | nmap > > 256 | nmap < < 257 | 258 | " Move multiple lines up-down 259 | vmap xkP`[V`] 260 | vmap xp`[V`] 261 | "vmap [egv 262 | "vmap ]egv 263 | 264 | "Insert on empty line, with lines above and below (for mojocasts) 265 | nmap oo oO 266 | 267 | " autocompletion 268 | imap 269 | 270 | " Autocomplpop perl autocompletion 271 | "let g:acp_behaviorPerlOmniLength = 4 272 | "let g:acp_completeoptPreview = 0 273 | 274 | " local set in perlomni.vim plugin does not work as expected..set globally 275 | "set omnifunc=PerlComplete 276 | 277 | " perldoc for module || perl command 278 | noremap K :!perldoc perldoc -f 279 | " Opens nerdtree and puts focus in edited file 280 | "autocmd VimEnter * NERDTree 281 | "autocmd VimEnter * wincmd p 282 | 283 | " file types 284 | au BufRead,BufNewFile *.asd,*.lisp set filetype=lisp 285 | au BufRead,BufNewFile *.t,*.cgi set filetype=perl 286 | au BufRead,BufNewFile *.conf set filetype=apache 287 | au BufRead,BufNewFile *.app set filetype=erlang 288 | 289 | " haskell support (vim2hs) 290 | let g:haskell_conceal_wide = 1 291 | let g:neocomplcache_enable_at_startup = 1 292 | let g:acp_enableAtStartup = 0 293 | let g:neocomplcache_enable_smart_case = 1 294 | let g:neocomplcache_enable_camel_case_completion = 1 295 | let g:neocomplcache_enable_underbar_completion = 1 296 | let g:neocomplcache_min_syntax_length = 3 297 | let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' 298 | "au FileType haskell nmap gt :GhcModType 299 | "au FileType haskell nmap gc :GhcModTypeClear 300 | au FileType haskell nmap gt :GhcModType 301 | au FileType haskell nmap gc :GhcModTypeClear 302 | "autocmd BufWritePost *.hs call s:check_and_lint() 303 | "autocmd BufWritePost *.hs GhcModCheckAsync 304 | "let &l:statusline = '%{empty(getqflist()) ? "[No Errors]" : "[Errors Found]"}' . (empty(&l:statusline) ? &statusline : &l:statusline) 305 | 306 | " markdown support - turn-on distraction free writing mode for markdown files 307 | "au BufNewFile,BufRead *.{md,mdown,mkd,mkdn,markdown,mdwn} call DistractionFreeWriting() 308 | au BufNewFile,BufRead *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=markdown 309 | 310 | " compile erlang files 311 | autocmd BufRead,BufNewFile *.erl nmap C :!erlc % 312 | 313 | " save/retrieve folds automatically 314 | au BufWinLeave * silent! mkview 315 | au BufWinEnter * silent! loadview 316 | 317 | " ,T perl tests 318 | "nmap T :let g:testfile = expand("%"):echo "testfile is now" g:testfile:call Prove (1,1) 319 | function! Prove ( verbose, taint ) 320 | if ! exists("g:testfile") 321 | let g:testfile = "t/*.t" 322 | endif 323 | if g:testfile == "t/*.t" || g:testfile =~ "\.t$" 324 | let s:params = "lrc" 325 | if a:verbose 326 | let s:params = s:params . "v" 327 | endif 328 | " if a:taint 329 | " let s:params = s:params . "t" 330 | " endif 331 | "execute !HARNESS_PERL_SWITCHES=-MDevel::Cover prove -" . s:params . " " . g:testfile 332 | execute "!prove --timer --normalize --state=save -" . s:params . " " . g:testfile 333 | "TEST_VERBOSE=1 prove -lvc --timer --normalize --state=save 334 | else 335 | call Compile () 336 | endif 337 | endfunction 338 | 339 | function! Compile () 340 | if ! exists("g:compilefile") 341 | let g:compilefile = expand("%") 342 | endif 343 | execute "!perl -wc -Ilib " . g:compilefile 344 | endfunction 345 | 346 | autocmd BufRead,BufNewFile *.t,*.pl,*.plx,*.pm nmap te :let g:testfile = expand("%"):echo "testfile is now" g:testfile:call Prove (1,1) 347 | 348 | " markdown 349 | "augroup mkd 350 | "autocmd BufRead *.mkd set ai formatoptions=tcroqn2 comments=n:> 351 | "augroup END 352 | 353 | " open installed perl modules 354 | au FileType perl command! -nargs=1 PerlModuleSource :tabnew `perldoc -lm ` 355 | au FileType perl setlocal iskeyword+=: 356 | au FileType perl nmap P :PerlModuleSource zR 357 | 358 | " perltidy 359 | au FileType perl command! -range=% -nargs=* Tidy ,!perltidy 360 | au FileType perl nmap pt mz:Tidy'z:delmarks z " normal mode 361 | au FileType perl vmap pt :Tidy " visual mode 362 | 363 | " js, css, & html tidy config (vim-jsbeautify) 364 | let g:jsbeautify = {'indent_size': 2, 'indent_char': ' ', 'max_char': 5} 365 | let g:htmlbeautify = {'indent_size': 2, 'indent_char': ' ', 'max_char': 80, 'brace_style': 'expand', 'unformatted': ['a', 'sub', 'sup', 'b', 'i', 'u']} 366 | let g:csseautify = {'indent_size': 2, 'indent_char': ' ', 'max_char': 80, 'brace_style': 'expand'} 367 | 368 | " js 369 | "au FileType javascript command! -range=% -nargs=* Tidy , :call JsBeautify() 370 | "au FileType javascript nmap pt mz:Tidy'z:delmarks z " normal mode 371 | "au FileType javascript vmap pt :Tidy " visual mode 372 | au FileType javascript nmap pt :call JsBeautify() 373 | au FileType html nmap pt :call HtmlBeautify() 374 | au FileType css nmap pt :call CSSBeautify() 375 | 376 | " csstidy 377 | "au FileType css command! -range=% -nargs=* Tidy ,!csstidy 378 | "au FileType css nmap pt mz:Tidy'z:delmarks z " normal mode 379 | "au FileType css vmap pt :Tidy " visual mode 380 | 381 | " json tidy 382 | "au FileType json set filetype=javascript foldmethod=syntax 383 | "au FileType json command! -range=% -nargs=* Tidy ,!json_xs -f json -t json-pretty 384 | "au FileType json nmap pt :Tidy " normal mode 385 | "au FileType json vmap pt :Tidy " visual mode 386 | 387 | " xmlfolding 388 | "au BufNewFile,BufRead *.xml,*.htm,*.html so bundle/plugin/XMLFolding.vim 389 | 390 | " ack shortcut 391 | let g:ackprg="ack-grep -H --nocolor --nogroup --column" 392 | 393 | " Show syntax highlighting groups for word under cursor 394 | "nmap :call SynStack() 395 | "function! SynStack() 396 | "if !exists("*synstack") 397 | "return 398 | "endif 399 | "echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")') 400 | "endfunc 401 | 402 | inoremap :call align()a 403 | 404 | " Automatic tabularize with pipes | 405 | function! s:align() 406 | let p = '^\s*|\s.*\s|\s*$' 407 | if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p) 408 | let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g')) 409 | let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*')) 410 | Tabularize/|/l1 411 | normal! 0 412 | call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.')) 413 | endif 414 | endfunction 415 | 416 | function! StatuslineMixedIndentingWarning() 417 | if !exists("b:statusline_tab_warning") 418 | let tabs = search('^\t', 'nw') != 0 419 | let spaces = search('^ ', 'nw') != 0 420 | 421 | if tabs && spaces 422 | let b:statusline_tab_warning = '[mixed-indenting]' 423 | elseif (spaces && !&et) || (tabs && &et) 424 | let b:statusline_tab_warning = '[&et]' 425 | else 426 | let b:statusline_tab_warning = '' 427 | endif 428 | endif 429 | return b:statusline_tab_warning 430 | endfunction 431 | 432 | " return the syntax highlight group under the cursor '' 433 | function! StatuslineCurrentHighlight() 434 | let name = synIDattr(synID(line('.'),col('.'),1),'name') 435 | if name == '' 436 | return '' 437 | else 438 | return '[' . name . ']' 439 | endif 440 | endfunction 441 | 442 | function! ScreencastPrep() 443 | " disable blinking cursor 444 | set guicursor+=n:hor10-blinkon0 445 | " disable autocomplete 446 | AcpDisable 447 | " disable colorcolumn 448 | set colorcolumn=0 449 | "set guifont=Menlo:h14 450 | set guifont=Monaco:h14 451 | set ts=2 452 | set sw=2 453 | NoMatchParen "opposite: DoMatchParen 454 | endfunction 455 | 456 | function! ScreencastPrep1080() 457 | " disable blinking cursor 458 | set guicursor+=n:hor10-blinkon0 459 | " disable autocomplete 460 | AcpDisable 461 | " disable colorcolumn 462 | set colorcolumn=0 463 | "set guifont=Menlo:h20 464 | "set guifont=Monaco:h26 465 | set guifont=Consolas:h29 466 | set ts=2 467 | set sw=2 468 | NoMatchParen "opposite: DoMatchParen 469 | endfunction 470 | 471 | function! s:check_and_lint() 472 | let l:qflist = ghcmod#make('check') 473 | call extend(l:qflist, ghcmod#make('lint')) 474 | call setqflist(l:qflist) 475 | cwindow 476 | if empty(l:qflist) 477 | echo "No errors found" 478 | endif 479 | endfunction 480 | 481 | function! DoPrettyXML() 482 | " save the filetype so we can restore it later 483 | let l:origft = &ft 484 | set ft= 485 | " delete the xml header if it exists. This will 486 | " permit us to surround the document with fake tags 487 | " without creating invalid xml. 488 | 1s///e 489 | " insert fake tags around the entire document. 490 | " This will permit us to pretty-format excerpts of 491 | " XML that may contain multiple top-level elements. 492 | 0put ='' 493 | $put ='' 494 | silent %!xmllint --format - 495 | " xmllint will insert an header. it's easy enough to delete 496 | " if you don't want it. 497 | " delete the fake tags 498 | 2d 499 | $d 500 | " restore the 'normal' indentation, which is one extra level 501 | " too deep due to the extra tags we wrapped around the document. 502 | silent %< 503 | " back to home 504 | 1 505 | " restore the filetype 506 | exe "set ft=" . l:origft 507 | endfunction 508 | "command! PrettyXML call DoPrettyXML() 509 | 510 | 511 | "function! DistractionFreeWriting() 512 | "colorscheme iawriter 513 | "set background=light 514 | "set gfn=Cousine:h14 " font to use 515 | "set lines=40 columns=120 " size of the editable area 516 | "set listchars=tab:▸\ ,extends:#,nbsp:.,trail:. 517 | "set guioptions-=r " remove right scrollbar 518 | "set laststatus=0 " don't show status line 519 | "set noruler " don't show ruler 520 | "set linebreak " break the lines on words 521 | "set nocursorline 522 | "set nocursorcolumn 523 | "set nonumber 524 | "set cc= 525 | 526 | "if has("gui_macvim") 527 | "set fuoptions=background:#00f5f6f6 " macvim specific setting for editor's background color 528 | "set fullscreen " go to fullscreen editing mode 529 | "endif 530 | "endfunction 531 | 532 | "function! ToggleIndentGuidesSpaces() 533 | "if exists('b:iguides_spaces') 534 | "call matchdelete(b:iguides_spaces) 535 | "unlet b:iguides_spaces 536 | "else 537 | "let pos = range(1, &l:textwidth, &l:shiftwidth) 538 | "call map(pos, '"\\%" . v:val . "v"') 539 | "let pat = '\%(\_^\s*\)\@<=\%(' . join(pos, '\|') . '\)\s' 540 | "let b:iguides_spaces = matchadd('CursorLine', pat) 541 | "endif 542 | "endfunction 543 | 544 | "function! ToggleIndentGuidesTabs() 545 | "if exists('b:iguides_tabs') 546 | "setlocal nolist 547 | "let &l:listchars = b:iguides_tabs 548 | "unlet b:iguides_tabs 549 | "else 550 | "let b:iguides_tabs = &l:listchars 551 | "setlocal listchars=tab:┆\ "protect the space 552 | "setlocal list 553 | "endif 554 | "endfunction 555 | -------------------------------------------------------------------------------- /doc/taglist.txt: -------------------------------------------------------------------------------- 1 | *taglist.txt* Plugin for browsing source code 2 | 3 | Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com) 4 | For Vim version 6.0 and above 5 | Last change: 2007 May 24 6 | 7 | 1. Overview |taglist-intro| 8 | 2. Taglist on the internet |taglist-internet| 9 | 3. Requirements |taglist-requirements| 10 | 4. Installation |taglist-install| 11 | 5. Usage |taglist-using| 12 | 6. Options |taglist-options| 13 | 7. Commands |taglist-commands| 14 | 8. Global functions |taglist-functions| 15 | 9. Extending |taglist-extend| 16 | 10. FAQ |taglist-faq| 17 | 11. License |taglist-license| 18 | 12. Todo |taglist-todo| 19 | 20 | ============================================================================== 21 | *taglist-intro* 22 | 1. Overview~ 23 | 24 | The "Tag List" plugin is a source code browser plugin for Vim. This plugin 25 | allows you to efficiently browse through source code files for different 26 | programming languages. The "Tag List" plugin provides the following features: 27 | 28 | * Displays the tags (functions, classes, structures, variables, etc.) 29 | defined in a file in a vertically or horizontally split Vim window. 30 | * In GUI Vim, optionally displays the tags in the Tags drop-down menu and 31 | in the popup menu. 32 | * Automatically updates the taglist window as you switch between 33 | files/buffers. As you open new files, the tags defined in the new files 34 | are added to the existing file list and the tags defined in all the 35 | files are displayed grouped by the filename. 36 | * When a tag name is selected from the taglist window, positions the 37 | cursor at the definition of the tag in the source file. 38 | * Automatically highlights the current tag name. 39 | * Groups the tags by their type and displays them in a foldable tree. 40 | * Can display the prototype and scope of a tag. 41 | * Can optionally display the tag prototype instead of the tag name in the 42 | taglist window. 43 | * The tag list can be sorted either by name or by chronological order. 44 | * Supports the following language files: Assembly, ASP, Awk, Beta, C, 45 | C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, 46 | Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, 47 | SML, Sql, TCL, Verilog, Vim and Yacc. 48 | * Can be easily extended to support new languages. Support for 49 | existing languages can be modified easily. 50 | * Provides functions to display the current tag name in the Vim status 51 | line or the window title bar. 52 | * The list of tags and files in the taglist can be saved and 53 | restored across Vim sessions. 54 | * Provides commands to get the name and prototype of the current tag. 55 | * Runs in both console/terminal and GUI versions of Vim. 56 | * Works with the winmanager plugin. Using the winmanager plugin, you 57 | can use Vim plugins like the file explorer, buffer explorer and the 58 | taglist plugin at the same time like an IDE. 59 | * Can be used in both Unix and MS-Windows systems. 60 | 61 | ============================================================================== 62 | *taglist-internet* 63 | 2. Taglist on the internet~ 64 | 65 | The home page of the taglist plugin is at: 66 | > 67 | http://vim-taglist.sourceforge.net/ 68 | < 69 | You can subscribe to the taglist mailing list to post your questions or 70 | suggestions for improvement or to send bug reports. Visit the following page 71 | for subscribing to the mailing list: 72 | > 73 | http://groups.yahoo.com/group/taglist 74 | < 75 | ============================================================================== 76 | *taglist-requirements* 77 | 3. Requirements~ 78 | 79 | The taglist plugin requires the following: 80 | 81 | * Vim version 6.0 and above 82 | * Exuberant ctags 5.0 and above 83 | 84 | The taglist plugin will work on all the platforms where the exuberant ctags 85 | utility and Vim are supported (this includes MS-Windows and Unix based 86 | systems). 87 | 88 | The taglist plugin relies on the exuberant ctags utility to dynamically 89 | generate the tag listing. The exuberant ctags utility must be installed in 90 | your system to use this plugin. The exuberant ctags utility is shipped with 91 | most of the Linux distributions. You can download the exuberant ctags utility 92 | from 93 | > 94 | http://ctags.sourceforge.net 95 | < 96 | The taglist plugin doesn't use or create a tags file and there is no need to 97 | create a tags file to use this plugin. The taglist plugin will not work with 98 | the GNU ctags or the Unix ctags utility. 99 | 100 | This plugin relies on the Vim "filetype" detection mechanism to determine the 101 | type of the current file. You have to turn on the Vim filetype detection by 102 | adding the following line to your .vimrc file: 103 | > 104 | filetype on 105 | < 106 | The taglist plugin will not work if you run Vim in the restricted mode (using 107 | the -Z command-line argument). 108 | 109 | The taglist plugin uses the Vim system() function to invoke the exuberant 110 | ctags utility. If Vim is compiled without the system() function then you 111 | cannot use the taglist plugin. Some of the Linux distributions (Suse) compile 112 | Vim without the system() function for security reasons. 113 | 114 | ============================================================================== 115 | *taglist-install* 116 | 4. Installation~ 117 | 118 | 1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the 119 | $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should 120 | have the following two files (the directory structure should be preserved): 121 | 122 | plugin/taglist.vim - main taglist plugin file 123 | doc/taglist.txt - documentation (help) file 124 | 125 | Refer to the |add-plugin|and |'runtimepath'| Vim help pages for more 126 | details about installing Vim plugins. 127 | 2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc 128 | directory, start Vim and run the ":helptags ." command to process the 129 | taglist help file. Without this step, you cannot jump to the taglist help 130 | topics. 131 | 3. If the exuberant ctags utility is not present in one of the directories in 132 | the PATH environment variable, then set the 'Tlist_Ctags_Cmd' variable to 133 | point to the location of the exuberant ctags utility (not to the directory) 134 | in the .vimrc file. 135 | 4. If you are running a terminal/console version of Vim and the terminal 136 | doesn't support changing the window width then set the 137 | 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file. 138 | 5. Restart Vim. 139 | 6. You can now use the ":TlistToggle" command to open/close the taglist 140 | window. You can use the ":help taglist" command to get more information 141 | about using the taglist plugin. 142 | 143 | To uninstall the taglist plugin, remove the plugin/taglist.vim and 144 | doc/taglist.txt files from the $HOME/.vim or $HOME/vimfiles directory. 145 | 146 | ============================================================================== 147 | *taglist-using* 148 | 5. Usage~ 149 | 150 | The taglist plugin can be used in several different ways. 151 | 152 | 1. You can keep the taglist window open during the entire editing session. On 153 | opening the taglist window, the tags defined in all the files in the Vim 154 | buffer list will be displayed in the taglist window. As you edit files, the 155 | tags defined in them will be added to the taglist window. You can select a 156 | tag from the taglist window and jump to it. The current tag will be 157 | highlighted in the taglist window. You can close the taglist window when 158 | you no longer need the window. 159 | 2. You can configure the taglist plugin to process the tags defined in all the 160 | edited files always. In this configuration, even if the taglist window is 161 | closed and the taglist menu is not displayed, the taglist plugin will 162 | processes the tags defined in newly edited files. You can then open the 163 | taglist window only when you need to select a tag and then automatically 164 | close the taglist window after selecting the tag. 165 | 3. You can configure the taglist plugin to display only the tags defined in 166 | the current file in the taglist window. By default, the taglist plugin 167 | displays the tags defined in all the files in the Vim buffer list. As you 168 | switch between files, the taglist window will be refreshed to display only 169 | the tags defined in the current file. 170 | 4. In GUI Vim, you can use the Tags pull-down and popup menu created by the 171 | taglist plugin to display the tags defined in the current file and select a 172 | tag to jump to it. You can use the menu without opening the taglist window. 173 | By default, the Tags menu is disabled. 174 | 5. You can configure the taglist plugin to display the name of the current tag 175 | in the Vim window status line or in the Vim window title bar. For this to 176 | work without the taglist window or menu, you need to configure the taglist 177 | plugin to process the tags defined in a file always. 178 | 6. You can save the tags defined in multiple files to a taglist session file 179 | and load it when needed. You can also configure the taglist plugin to not 180 | update the taglist window when editing new files. You can then manually add 181 | files to the taglist window. 182 | 183 | Opening the taglist window~ 184 | You can open the taglist window using the ":TlistOpen" or the ":TlistToggle" 185 | commands. The ":TlistOpen" command opens the taglist window and jumps to it. 186 | The ":TlistToggle" command opens or closes (toggle) the taglist window and the 187 | cursor remains in the current window. If the 'Tlist_GainFocus_On_ToggleOpen' 188 | variable is set to 1, then the ":TlistToggle" command opens the taglist window 189 | and moves the cursor to the taglist window. 190 | 191 | You can map a key to invoke these commands. For example, the following command 192 | creates a normal mode mapping for the key to toggle the taglist window. 193 | > 194 | nnoremap :TlistToggle 195 | < 196 | Add the above mapping to your ~/.vimrc or $HOME/_vimrc file. 197 | 198 | To automatically open the taglist window on Vim startup, set the 199 | 'Tlist_Auto_Open' variable to 1. 200 | 201 | You can also open the taglist window on startup using the following command 202 | line: 203 | > 204 | $ vim +TlistOpen 205 | < 206 | Closing the taglist window~ 207 | You can close the taglist window from the taglist window by pressing 'q' or 208 | using the Vim ":q" command. You can also use any of the Vim window commands to 209 | close the taglist window. Invoking the ":TlistToggle" command when the taglist 210 | window is opened, closes the taglist window. You can also use the 211 | ":TlistClose" command to close the taglist window. 212 | 213 | To automatically close the taglist window when a tag or file is selected, you 214 | can set the 'Tlist_Close_On_Select' variable to 1. To exit Vim when only the 215 | taglist window is present, set the 'Tlist_Exit_OnlyWindow' variable to 1. 216 | 217 | Jumping to a tag or a file~ 218 | You can select a tag in the taglist window either by pressing the key 219 | or by double clicking the tag name using the mouse. To jump to a tag on a 220 | single mouse click set the 'Tlist_Use_SingleClick' variable to 1. 221 | 222 | If the selected file is already opened in a window, then the cursor is moved 223 | to that window. If the file is not currently opened in a window then the file 224 | is opened in the window used by the taglist plugin to show the previously 225 | selected file. If there are no usable windows, then the file is opened in a 226 | new window. The file is not opened in special windows like the quickfix 227 | window, preview window and windows containing buffer with the 'buftype' option 228 | set. 229 | 230 | To jump to the tag in a new window, press the 'o' key. To open the file in the 231 | previous window (Ctrl-W_p) use the 'P' key. You can press the 'p' key to jump 232 | to the tag but still keep the cursor in the taglist window (preview). 233 | 234 | To open the selected file in a tab, use the 't' key. If the file is already 235 | present in a tab then the cursor is moved to that tab otherwise the file is 236 | opened in a new tab. To jump to a tag in a new tab press Ctrl-t. The taglist 237 | window is automatically opened in the newly created tab. 238 | 239 | Instead of jumping to a tag, you can open a file by pressing the key 240 | or by double clicking the file name using the mouse. 241 | 242 | In the taglist window, you can use the [[ or key to jump to the 243 | beginning of the previous file. You can use the ]] or key to jump to the 244 | beginning of the next file. When you reach the first or last file, the search 245 | wraps around and the jumps to the next/previous file. 246 | 247 | Highlighting the current tag~ 248 | The taglist plugin automatically highlights the name of the current tag in the 249 | taglist window. The Vim |CursorHold| autocmd event is used for this. If the 250 | current tag name is not visible in the taglist window, then the taglist window 251 | contents are scrolled to make that tag name visible. You can also use the 252 | ":TlistHighlightTag" command to force the highlighting of the current tag. 253 | 254 | The tag name is highlighted if no activity is performed for |'updatetime'| 255 | milliseconds. The default value for this Vim option is 4 seconds. To avoid 256 | unexpected problems, you should not set the |'updatetime'| option to a very 257 | low value. 258 | 259 | To disable the automatic highlighting of the current tag name in the taglist 260 | window, set the 'Tlist_Auto_Highlight_Tag' variable to zero. 261 | 262 | When entering a Vim buffer/window, the taglist plugin automatically highlights 263 | the current tag in that buffer/window. If you like to disable the automatic 264 | highlighting of the current tag when entering a buffer, set the 265 | 'Tlist_Highlight_Tag_On_BufEnter' variable to zero. 266 | 267 | Adding files to the taglist~ 268 | When the taglist window is opened, all the files in the Vim buffer list are 269 | processed and the supported files are added to the taglist. When you edit a 270 | file in Vim, the taglist plugin automatically processes this file and adds it 271 | to the taglist. If you close the taglist window, the tag information in the 272 | taglist is retained. 273 | 274 | To process files even when the taglist window is not open, set the 275 | 'Tlist_Process_File_Always' variable to 1. 276 | 277 | You can manually add multiple files to the taglist without opening them using 278 | the ":TlistAddFiles" and the ":TlistAddFilesRecursive" commands. 279 | 280 | For example, to add all the C files in the /my/project/dir directory to the 281 | taglist, you can use the following command: 282 | > 283 | :TlistAddFiles /my/project/dir/*.c 284 | < 285 | Note that when adding several files with a large number of tags or a large 286 | number of files, it will take several seconds to several minutes for the 287 | taglist plugin to process all the files. You should not interrupt the taglist 288 | plugin by pressing . 289 | 290 | You can recursively add multiple files from a directory tree using the 291 | ":TlistAddFilesRecursive" command: 292 | > 293 | :TlistAddFilesRecursive /my/project/dir *.c 294 | < 295 | This command takes two arguments. The first argument specifies the directory 296 | from which to recursively add the files. The second optional argument 297 | specifies the wildcard matching pattern for selecting the files to add. The 298 | default pattern is * and all the files are added. 299 | 300 | Displaying tags for only one file~ 301 | The taglist window displays the tags for all the files in the Vim buffer list 302 | and all the manually added files. To display the tags for only the current 303 | active buffer, set the 'Tlist_Show_One_File' variable to 1. 304 | 305 | Removing files from the taglist~ 306 | You can remove a file from the taglist window, by pressing the 'd' key when the 307 | cursor is on one of the tags listed for the file in the taglist window. The 308 | removed file will no longer be displayed in the taglist window in the current 309 | Vim session. To again display the tags for the file, open the file in a Vim 310 | window and then use the ":TlistUpdate" command or use ":TlistAddFiles" command 311 | to add the file to the taglist. 312 | 313 | When a buffer is removed from the Vim buffer list using the ":bdelete" or the 314 | ":bwipeout" command, the taglist is updated to remove the stored information 315 | for this buffer. 316 | 317 | Updating the tags displayed for a file~ 318 | The taglist plugin keeps track of the modification time of a file. When the 319 | modification time changes (the file is modified), the taglist plugin 320 | automatically updates the tags listed for that file. The modification time of 321 | a file is checked when you enter a window containing that file or when you 322 | load that file. 323 | 324 | You can also update or refresh the tags displayed for a file by pressing the 325 | "u" key in the taglist window. If an existing file is modified, after the file 326 | is saved, the taglist plugin automatically updates the tags displayed for the 327 | file. 328 | 329 | You can also use the ":TlistUpdate" command to update the tags for the current 330 | buffer after you made some changes to it. You should save the modified buffer 331 | before you update the taglist window. Otherwise the listed tags will not 332 | include the new tags created in the buffer. 333 | 334 | If you have deleted the tags displayed for a file in the taglist window using 335 | the 'd' key, you can again display the tags for that file using the 336 | ":TlistUpdate" command. 337 | 338 | Controlling the taglist updates~ 339 | To disable the automatic processing of new files or modified files, you can 340 | set the 'Tlist_Auto_Update' variable to zero. When this variable is set to 341 | zero, the taglist is updated only when you use the ":TlistUpdate" command or 342 | the ":TlistAddFiles" or the ":TlistAddFilesRecursive" commands. You can use 343 | this option to control which files are added to the taglist. 344 | 345 | You can use the ":TlistLock" command to lock the taglist contents. After this 346 | command is executed, new files are not automatically added to the taglist. 347 | When the taglist is locked, you can use the ":TlistUpdate" command to add the 348 | current file or the ":TlistAddFiles" or ":TlistAddFilesRecursive" commands to 349 | add new files to the taglist. To unlock the taglist, use the ":TlistUnlock" 350 | command. 351 | 352 | Displaying the tag prototype~ 353 | To display the prototype of the tag under the cursor in the taglist window, 354 | press the space bar. If you place the cursor on a tag name in the taglist 355 | window, then the tag prototype is displayed at the Vim status line after 356 | |'updatetime'| milliseconds. The default value for the |'updatetime'| Vim 357 | option is 4 seconds. 358 | 359 | You can get the name and prototype of a tag without opening the taglist window 360 | and the taglist menu using the ":TlistShowTag" and the ":TlistShowPrototype" 361 | commands. These commands will work only if the current file is already present 362 | in the taglist. To use these commands without opening the taglist window, set 363 | the 'Tlist_Process_File_Always' variable to 1. 364 | 365 | You can use the ":TlistShowTag" command to display the name of the tag at or 366 | before the specified line number in the specified file. If the file name and 367 | line number are not supplied, then this command will display the name of the 368 | current tag. For example, 369 | > 370 | :TlistShowTag 371 | :TlistShowTag myfile.java 100 372 | < 373 | You can use the ":TlistShowPrototype" command to display the prototype of the 374 | tag at or before the specified line number in the specified file. If the file 375 | name and the line number are not supplied, then this command will display the 376 | prototype of the current tag. For example, 377 | > 378 | :TlistShowPrototype 379 | :TlistShowPrototype myfile.c 50 380 | < 381 | In the taglist window, when the mouse is moved over a tag name, the tag 382 | prototype is displayed in a balloon. This works only in GUI versions where 383 | balloon evaluation is supported. 384 | 385 | Taglist window contents~ 386 | The taglist window contains the tags defined in various files in the taglist 387 | grouped by the filename and by the tag type (variable, function, class, etc.). 388 | For tags with scope information (like class members, structures inside 389 | structures, etc.), the scope information is displayed in square brackets "[]" 390 | after the tag name. 391 | 392 | The contents of the taglist buffer/window are managed by the taglist plugin. 393 | The |'filetype'| for the taglist buffer is set to 'taglist'. The Vim 394 | |'modifiable'| option is turned off for the taglist buffer. You should not 395 | manually edit the taglist buffer, by setting the |'modifiable'| flag. If you 396 | manually edit the taglist buffer contents, then the taglist plugin will be out 397 | of sync with the taglist buffer contents and the plugin will no longer work 398 | correctly. To redisplay the taglist buffer contents again, close the taglist 399 | window and reopen it. 400 | 401 | Opening and closing the tag and file tree~ 402 | In the taglist window, the tag names are displayed as a foldable tree using 403 | the Vim folding support. You can collapse the tree using the '-' key or using 404 | the Vim |zc| fold command. You can open the tree using the '+' key or using 405 | the Vim |zo| fold command. You can open all the folds using the '*' key or 406 | using the Vim |zR| fold command. You can also use the mouse to open/close the 407 | folds. You can close all the folds using the '=' key. You should not manually 408 | create or delete the folds in the taglist window. 409 | 410 | To automatically close the fold for the inactive files/buffers and open only 411 | the fold for the current buffer in the taglist window, set the 412 | 'Tlist_File_Fold_Auto_Close' variable to 1. 413 | 414 | Sorting the tags for a file~ 415 | The tags displayed in the taglist window can be sorted either by their name or 416 | by their chronological order. The default sorting method is by the order in 417 | which the tags appear in a file. You can change the default sort method by 418 | setting the 'Tlist_Sort_Type' variable to either "name" or "order". You can 419 | sort the tags by their name by pressing the "s" key in the taglist window. You 420 | can again sort the tags by their chronological order using the "s" key. Each 421 | file in the taglist window can be sorted using different order. 422 | 423 | Zooming in and out of the taglist window~ 424 | You can press the 'x' key in the taglist window to maximize the taglist 425 | window width/height. The window will be maximized to the maximum possible 426 | width/height without closing the other existing windows. You can again press 427 | 'x' to restore the taglist window to the default width/height. 428 | 429 | *taglist-session* 430 | Taglist Session~ 431 | A taglist session refers to the group of files and their tags stored in the 432 | taglist in a Vim session. 433 | 434 | You can save and restore a taglist session (and all the displayed tags) using 435 | the ":TlistSessionSave" and ":TlistSessionLoad" commands. 436 | 437 | To save the information about the tags and files in the taglist to a file, use 438 | the ":TlistSessionSave" command and specify the filename: 439 | > 440 | :TlistSessionSave 441 | < 442 | To load a saved taglist session, use the ":TlistSessionLoad" command: > 443 | 444 | :TlistSessionLoad 445 | < 446 | When you load a taglist session file, the tags stored in the file will be 447 | added to the tags already stored in the taglist. 448 | 449 | The taglist session feature can be used to save the tags for large files or a 450 | group of frequently used files (like a project). By using the taglist session 451 | file, you can minimize the amount to time it takes to load/refresh the taglist 452 | for multiple files. 453 | 454 | You can create more than one taglist session file for multiple groups of 455 | files. 456 | 457 | Displaying the tag name in the Vim status line or the window title bar~ 458 | You can use the Tlist_Get_Tagname_By_Line() function provided by the taglist 459 | plugin to display the current tag name in the Vim status line or the window 460 | title bar. Similarly, you can use the Tlist_Get_Tag_Prototype_By_Line() 461 | function to display the current tag prototype in the Vim status line or the 462 | window title bar. 463 | 464 | For example, the following command can be used to display the current tag name 465 | in the status line: 466 | > 467 | :set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%) 468 | < 469 | The following command can be used to display the current tag name in the 470 | window title bar: 471 | > 472 | :set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%) 473 | < 474 | Note that the current tag name can be displayed only after the file is 475 | processed by the taglist plugin. For this, you have to either set the 476 | 'Tlist_Process_File_Always' variable to 1 or open the taglist window or use 477 | the taglist menu. For more information about configuring the Vim status line, 478 | refer to the documentation for the Vim |'statusline'| option. 479 | 480 | Changing the taglist window highlighting~ 481 | The following Vim highlight groups are defined and used to highlight the 482 | various entities in the taglist window: 483 | 484 | TagListTagName - Used for tag names 485 | TagListTagScope - Used for tag scope 486 | TagListTitle - Used for tag titles 487 | TagListComment - Used for comments 488 | TagListFileName - Used for filenames 489 | 490 | By default, these highlight groups are linked to the standard Vim highlight 491 | groups. If you want to change the colors used for these highlight groups, 492 | prefix the highlight group name with 'My' and define it in your .vimrc or 493 | .gvimrc file: MyTagListTagName, MyTagListTagScope, MyTagListTitle, 494 | MyTagListComment and MyTagListFileName. For example, to change the colors 495 | used for tag names, you can use the following command: 496 | > 497 | :highlight MyTagListTagName guifg=blue ctermfg=blue 498 | < 499 | Controlling the taglist window~ 500 | To use a horizontally split taglist window, instead of a vertically split 501 | window, set the 'Tlist_Use_Horiz_Window' variable to 1. 502 | 503 | To use a vertically split taglist window on the rightmost side of the Vim 504 | window, set the 'Tlist_Use_Right_Window' variable to 1. 505 | 506 | You can specify the width of the vertically split taglist window, by setting 507 | the 'Tlist_WinWidth' variable. You can specify the height of the horizontally 508 | split taglist window, by setting the 'Tlist_WinHeight' variable. 509 | 510 | When opening a vertically split taglist window, the Vim window width is 511 | increased to accommodate the new taglist window. When the taglist window is 512 | closed, the Vim window is reduced. To disable this, set the 513 | 'Tlist_Inc_Winwidth' variable to zero. 514 | 515 | To reduce the number of empty lines in the taglist window, set the 516 | 'Tlist_Compact_Format' variable to 1. 517 | 518 | To not display the Vim fold column in the taglist window, set the 519 | 'Tlist_Enable_Fold_Column' variable to zero. 520 | 521 | To display the tag prototypes instead of the tag names in the taglist window, 522 | set the 'Tlist_Display_Prototype' variable to 1. 523 | 524 | To not display the scope of the tags next to the tag names, set the 525 | 'Tlist_Display_Tag_Scope' variable to zero. 526 | 527 | *taglist-keys* 528 | Taglist window key list~ 529 | The following table lists the description of the keys that can be used 530 | in the taglist window. 531 | 532 | Key Description~ 533 | 534 | Jump to the location where the tag under cursor is 535 | defined. 536 | o Jump to the location where the tag under cursor is 537 | defined in a new window. 538 | P Jump to the tag in the previous (Ctrl-W_p) window. 539 | p Display the tag definition in the file window and 540 | keep the cursor in the taglist window itself. 541 | t Jump to the tag in a new tab. If the file is already 542 | opened in a tab, move to that tab. 543 | Ctrl-t Jump to the tag in a new tab. 544 | Display the prototype of the tag under the cursor. 545 | For file names, display the full path to the file, 546 | file type and the number of tags. For tag types, display the 547 | tag type and the number of tags. 548 | u Update the tags listed in the taglist window 549 | s Change the sort order of the tags (by name or by order) 550 | d Remove the tags for the file under the cursor 551 | x Zoom-in or Zoom-out the taglist window 552 | + Open a fold 553 | - Close a fold 554 | * Open all folds 555 | = Close all folds 556 | [[ Jump to the beginning of the previous file 557 | Jump to the beginning of the previous file 558 | ]] Jump to the beginning of the next file 559 | Jump to the beginning of the next file 560 | q Close the taglist window 561 | Display help 562 | 563 | The above keys will work in both the normal mode and the insert mode. 564 | 565 | *taglist-menu* 566 | Taglist menu~ 567 | When using GUI Vim, the taglist plugin can display the tags defined in the 568 | current file in the drop-down menu and the popup menu. By default, this 569 | feature is turned off. To turn on this feature, set the 'Tlist_Show_Menu' 570 | variable to 1. 571 | 572 | You can jump to a tag by selecting the tag name from the menu. You can use the 573 | taglist menu independent of the taglist window i.e. you don't need to open the 574 | taglist window to get the taglist menu. 575 | 576 | When you switch between files/buffers, the taglist menu is automatically 577 | updated to display the tags defined in the current file/buffer. 578 | 579 | The tags are grouped by their type (variables, functions, classes, methods, 580 | etc.) and displayed as a separate sub-menu for each type. If all the tags 581 | defined in a file are of the same type (e.g. functions), then the sub-menu is 582 | not used. 583 | 584 | If the number of items in a tag type submenu exceeds the value specified by 585 | the 'Tlist_Max_Submenu_Items' variable, then the submenu will be split into 586 | multiple submenus. The default setting for 'Tlist_Max_Submenu_Items' is 25. 587 | The first and last tag names in the submenu are used to form the submenu name. 588 | The menu items are prefixed by alpha-numeric characters for easy selection by 589 | keyboard. 590 | 591 | If the popup menu support is enabled (the |'mousemodel'| option contains 592 | "popup"), then the tags menu is added to the popup menu. You can access 593 | the popup menu by right clicking on the GUI window. 594 | 595 | You can regenerate the tags menu by selecting the 'Tags->Refresh menu' entry. 596 | You can sort the tags listed in the menu either by name or by order by 597 | selecting the 'Tags->Sort menu by->Name/Order' menu entry. 598 | 599 | You can tear-off the Tags menu and keep it on the side of the Vim window 600 | for quickly locating the tags. 601 | 602 | Using the taglist plugin with the winmanager plugin~ 603 | You can use the taglist plugin with the winmanager plugin. This will allow you 604 | to use the file explorer, buffer explorer and the taglist plugin at the same 605 | time in different windows. To use the taglist plugin with the winmanager 606 | plugin, set 'TagList' in the 'winManagerWindowLayout' variable. For example, 607 | to use the file explorer plugin and the taglist plugin at the same time, use 608 | the following setting: > 609 | 610 | let winManagerWindowLayout = 'FileExplorer|TagList' 611 | < 612 | Getting help~ 613 | If you have installed the taglist help file (this file), then you can use the 614 | Vim ":help taglist-" command to get help on the various taglist 615 | topics. 616 | 617 | You can press the key in the taglist window to display the help 618 | information about using the taglist window. If you again press the key, 619 | the help information is removed from the taglist window. 620 | 621 | *taglist-debug* 622 | Debugging the taglist plugin~ 623 | You can use the ":TlistDebug" command to enable logging of the debug messages 624 | from the taglist plugin. To display the logged debug messages, you can use the 625 | ":TlistMessages" command. To disable the logging of the debug messages, use 626 | the ":TlistUndebug" command. 627 | 628 | You can specify a file name to the ":TlistDebug" command to log the debug 629 | messages to a file. Otherwise, the debug messages are stored in a script-local 630 | variable. In the later case, to minimize memory usage, only the last 3000 631 | characters from the debug messages are stored. 632 | 633 | ============================================================================== 634 | *taglist-options* 635 | 6. Options~ 636 | 637 | A number of Vim variables control the behavior of the taglist plugin. These 638 | variables are initialized to a default value. By changing these variables you 639 | can change the behavior of the taglist plugin. You need to change these 640 | settings only if you want to change the behavior of the taglist plugin. You 641 | should use the |:let| command in your .vimrc file to change the setting of any 642 | of these variables. 643 | 644 | The configurable taglist variables are listed below. For a detailed 645 | description of these variables refer to the text below this table. 646 | 647 | |'Tlist_Auto_Highlight_Tag'| Automatically highlight the current tag in the 648 | taglist. 649 | |'Tlist_Auto_Open'| Open the taglist window when Vim starts. 650 | |'Tlist_Auto_Update'| Automatically update the taglist to include 651 | newly edited files. 652 | |'Tlist_Close_On_Select'| Close the taglist window when a file or tag is 653 | selected. 654 | |'Tlist_Compact_Format'| Remove extra information and blank lines from 655 | the taglist window. 656 | |'Tlist_Ctags_Cmd'| Specifies the path to the ctags utility. 657 | |'Tlist_Display_Prototype'| Show prototypes and not tags in the taglist 658 | window. 659 | |'Tlist_Display_Tag_Scope'| Show tag scope next to the tag name. 660 | |'Tlist_Enable_Fold_Column'| Show the fold indicator column in the taglist 661 | window. 662 | |'Tlist_Exit_OnlyWindow'| Close Vim if the taglist is the only window. 663 | |'Tlist_File_Fold_Auto_Close'| Close tag folds for inactive buffers. 664 | |'Tlist_GainFocus_On_ToggleOpen'| 665 | Jump to taglist window on open. 666 | |'Tlist_Highlight_Tag_On_BufEnter'| 667 | On entering a buffer, automatically highlight 668 | the current tag. 669 | |'Tlist_Inc_Winwidth'| Increase the Vim window width to accommodate 670 | the taglist window. 671 | |'Tlist_Max_Submenu_Items'| Maximum number of items in a tags sub-menu. 672 | |'Tlist_Max_Tag_Length'| Maximum tag length used in a tag menu entry. 673 | |'Tlist_Process_File_Always'| Process files even when the taglist window is 674 | closed. 675 | |'Tlist_Show_Menu'| Display the tags menu. 676 | |'Tlist_Show_One_File'| Show tags for the current buffer only. 677 | |'Tlist_Sort_Type'| Sort method used for arranging the tags. 678 | |'Tlist_Use_Horiz_Window'| Use a horizontally split window for the 679 | taglist window. 680 | |'Tlist_Use_Right_Window'| Place the taglist window on the right side. 681 | |'Tlist_Use_SingleClick'| Single click on a tag jumps to it. 682 | |'Tlist_WinHeight'| Horizontally split taglist window height. 683 | |'Tlist_WinWidth'| Vertically split taglist window width. 684 | 685 | *'Tlist_Auto_Highlight_Tag'* 686 | Tlist_Auto_Highlight_Tag~ 687 | The taglist plugin will automatically highlight the current tag in the taglist 688 | window. If you want to disable this, then you can set the 689 | 'Tlist_Auto_Highlight_Tag' variable to zero. Note that even though the current 690 | tag highlighting is disabled, the tags for a new file will still be added to 691 | the taglist window. 692 | > 693 | let Tlist_Auto_Highlight_Tag = 0 694 | < 695 | With the above variable set to 1, you can use the ":TlistHighlightTag" command 696 | to highlight the current tag. 697 | 698 | *'Tlist_Auto_Open'* 699 | Tlist_Auto_Open~ 700 | To automatically open the taglist window, when you start Vim, you can set the 701 | 'Tlist_Auto_Open' variable to 1. By default, this variable is set to zero and 702 | the taglist window will not be opened automatically on Vim startup. 703 | > 704 | let Tlist_Auto_Open = 1 705 | < 706 | The taglist window is opened only when a supported type of file is opened on 707 | Vim startup. For example, if you open text files, then the taglist window will 708 | not be opened. 709 | 710 | *'Tlist_Auto_Update'* 711 | Tlist_Auto_Update~ 712 | When a new file is edited, the tags defined in the file are automatically 713 | processed and added to the taglist. To stop adding new files to the taglist, 714 | set the 'Tlist_Auto_Update' variable to zero. By default, this variable is set 715 | to 1. 716 | > 717 | let Tlist_Auto_Update = 0 718 | < 719 | With the above variable set to 1, you can use the ":TlistUpdate" command to 720 | add the tags defined in the current file to the taglist. 721 | 722 | *'Tlist_Close_On_Select'* 723 | Tlist_Close_On_Select~ 724 | If you want to close the taglist window when a file or tag is selected, then 725 | set the 'Tlist_Close_On_Select' variable to 1. By default, this variable is 726 | set zero and when you select a tag or file from the taglist window, the window 727 | is not closed. 728 | > 729 | let Tlist_Close_On_Select = 1 730 | < 731 | *'Tlist_Compact_Format'* 732 | Tlist_Compact_Format~ 733 | By default, empty lines are used to separate different tag types displayed for 734 | a file and the tags displayed for different files in the taglist window. If 735 | you want to display as many tags as possible in the taglist window, you can 736 | set the 'Tlist_Compact_Format' variable to 1 to get a compact display. 737 | > 738 | let Tlist_Compact_Format = 1 739 | < 740 | *'Tlist_Ctags_Cmd'* 741 | Tlist_Ctags_Cmd~ 742 | The 'Tlist_Ctags_Cmd' variable specifies the location (path) of the exuberant 743 | ctags utility. If exuberant ctags is present in any one of the directories in 744 | the PATH environment variable, then there is no need to set this variable. 745 | 746 | The exuberant ctags tool can be installed under different names. When the 747 | taglist plugin starts up, if the 'Tlist_Ctags_Cmd' variable is not set, it 748 | checks for the names exuberant-ctags, exctags, ctags, ctags.exe and tags in 749 | the PATH environment variable. If any one of the named executable is found, 750 | then the Tlist_Ctags_Cmd variable is set to that name. 751 | 752 | If exuberant ctags is not present in one of the directories specified in the 753 | PATH environment variable, then set this variable to point to the location of 754 | the ctags utility in your system. Note that this variable should point to the 755 | fully qualified exuberant ctags location and NOT to the directory in which 756 | exuberant ctags is installed. If the exuberant ctags tool is not found in 757 | either PATH or in the specified location, then the taglist plugin will not be 758 | loaded. Examples: 759 | > 760 | let Tlist_Ctags_Cmd = 'd:\tools\ctags.exe' 761 | let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' 762 | < 763 | *'Tlist_Display_Prototype'* 764 | Tlist_Display_Prototype~ 765 | By default, only the tag name will be displayed in the taglist window. If you 766 | like to see tag prototypes instead of names, set the 'Tlist_Display_Prototype' 767 | variable to 1. By default, this variable is set to zero and only tag names 768 | will be displayed. 769 | > 770 | let Tlist_Display_Prototype = 1 771 | < 772 | *'Tlist_Display_Tag_Scope'* 773 | Tlist_Display_Tag_Scope~ 774 | By default, the scope of a tag (like a C++ class) will be displayed in 775 | square brackets next to the tag name. If you don't want the tag scopes 776 | to be displayed, then set the 'Tlist_Display_Tag_Scope' to zero. By default, 777 | this variable is set to 1 and the tag scopes will be displayed. 778 | > 779 | let Tlist_Display_Tag_Scope = 0 780 | < 781 | *'Tlist_Enable_Fold_Column'* 782 | Tlist_Enable_Fold_Column~ 783 | By default, the Vim fold column is enabled and displayed in the taglist 784 | window. If you wish to disable this (for example, when you are working with a 785 | narrow Vim window or terminal), you can set the 'Tlist_Enable_Fold_Column' 786 | variable to zero. 787 | > 788 | let Tlist_Enable_Fold_Column = 1 789 | < 790 | *'Tlist_Exit_OnlyWindow'* 791 | Tlist_Exit_OnlyWindow~ 792 | If you want to exit Vim if only the taglist window is currently opened, then 793 | set the 'Tlist_Exit_OnlyWindow' variable to 1. By default, this variable is 794 | set to zero and the Vim instance will not be closed if only the taglist window 795 | is present. 796 | > 797 | let Tlist_Exit_OnlyWindow = 1 798 | < 799 | *'Tlist_File_Fold_Auto_Close'* 800 | Tlist_File_Fold_Auto_Close~ 801 | By default, the tags tree displayed in the taglist window for all the files is 802 | opened. You can close/fold the tags tree for the files manually. To 803 | automatically close the tags tree for inactive files, you can set the 804 | 'Tlist_File_Fold_Auto_Close' variable to 1. When this variable is set to 1, 805 | the tags tree for the current buffer is automatically opened and for all the 806 | other buffers is closed. 807 | > 808 | let Tlist_File_Fold_Auto_Close = 1 809 | < 810 | *'Tlist_GainFocus_On_ToggleOpen'* 811 | Tlist_GainFocus_On_ToggleOpen~ 812 | When the taglist window is opened using the ':TlistToggle' command, this 813 | option controls whether the cursor is moved to the taglist window or remains 814 | in the current window. By default, this option is set to 0 and the cursor 815 | remains in the current window. When this variable is set to 1, the cursor 816 | moves to the taglist window after opening the taglist window. 817 | > 818 | let Tlist_GainFocus_On_ToggleOpen = 1 819 | < 820 | *'Tlist_Highlight_Tag_On_BufEnter'* 821 | Tlist_Highlight_Tag_On_BufEnter~ 822 | When you enter a Vim buffer/window, the current tag in that buffer/window is 823 | automatically highlighted in the taglist window. If the current tag name is 824 | not visible in the taglist window, then the taglist window contents are 825 | scrolled to make that tag name visible. If you like to disable the automatic 826 | highlighting of the current tag when entering a buffer, you can set the 827 | 'Tlist_Highlight_Tag_On_BufEnter' variable to zero. The default setting for 828 | this variable is 1. 829 | > 830 | let Tlist_Highlight_Tag_On_BufEnter = 0 831 | < 832 | *'Tlist_Inc_Winwidth'* 833 | Tlist_Inc_Winwidth~ 834 | By default, when the width of the window is less than 100 and a new taglist 835 | window is opened vertically, then the window width is increased by the value 836 | set in the 'Tlist_WinWidth' variable to accommodate the new window. The value 837 | of this variable is used only if you are using a vertically split taglist 838 | window. 839 | 840 | If your terminal doesn't support changing the window width from Vim (older 841 | version of xterm running in a Unix system) or if you see any weird problems in 842 | the screen due to the change in the window width or if you prefer not to 843 | adjust the window width then set the 'Tlist_Inc_Winwidth' variable to zero. 844 | CAUTION: If you are using the MS-Windows version of Vim in a MS-DOS command 845 | window then you must set this variable to zero, otherwise the system may hang 846 | due to a Vim limitation (explained in :help win32-problems) 847 | > 848 | let Tlist_Inc_Winwidth = 0 849 | < 850 | *'Tlist_Max_Submenu_Items'* 851 | Tlist_Max_Submenu_Items~ 852 | If a file contains too many tags of a particular type (function, variable, 853 | class, etc.), greater than that specified by the 'Tlist_Max_Submenu_Items' 854 | variable, then the menu for that tag type will be split into multiple 855 | sub-menus. The default setting for the 'Tlist_Max_Submenu_Items' variable is 856 | 25. This can be changed by setting the 'Tlist_Max_Submenu_Items' variable: 857 | > 858 | let Tlist_Max_Submenu_Items = 20 859 | < 860 | The name of the submenu is formed using the names of the first and the last 861 | tag entries in that submenu. 862 | 863 | *'Tlist_Max_Tag_Length'* 864 | Tlist_Max_Tag_Length~ 865 | Only the first 'Tlist_Max_Tag_Length' characters from the tag names will be 866 | used to form the tag type submenu name. The default value for this variable is 867 | 10. Change the 'Tlist_Max_Tag_Length' setting if you want to include more or 868 | less characters: 869 | > 870 | let Tlist_Max_Tag_Length = 10 871 | < 872 | *'Tlist_Process_File_Always'* 873 | Tlist_Process_File_Always~ 874 | By default, the taglist plugin will generate and process the tags defined in 875 | the newly opened files only when the taglist window is opened or when the 876 | taglist menu is enabled. When the taglist window is closed, the taglist plugin 877 | will stop processing the tags for newly opened files. 878 | 879 | You can set the 'Tlist_Process_File_Always' variable to 1 to generate the list 880 | of tags for new files even when the taglist window is closed and the taglist 881 | menu is disabled. 882 | > 883 | let Tlist_Process_File_Always = 1 884 | < 885 | To use the ":TlistShowTag" and the ":TlistShowPrototype" commands without the 886 | taglist window and the taglist menu, you should set this variable to 1. 887 | 888 | *'Tlist_Show_Menu'* 889 | Tlist_Show_Menu~ 890 | When using GUI Vim, you can display the tags defined in the current file in a 891 | menu named "Tags". By default, this feature is turned off. To turn on this 892 | feature, set the 'Tlist_Show_Menu' variable to 1: 893 | > 894 | let Tlist_Show_Menu = 1 895 | < 896 | *'Tlist_Show_One_File'* 897 | Tlist_Show_One_File~ 898 | By default, the taglist plugin will display the tags defined in all the loaded 899 | buffers in the taglist window. If you prefer to display the tags defined only 900 | in the current buffer, then you can set the 'Tlist_Show_One_File' to 1. When 901 | this variable is set to 1, as you switch between buffers, the taglist window 902 | will be refreshed to display the tags for the current buffer and the tags for 903 | the previous buffer will be removed. 904 | > 905 | let Tlist_Show_One_File = 1 906 | < 907 | *'Tlist_Sort_Type'* 908 | Tlist_Sort_Type~ 909 | The 'Tlist_Sort_Type' variable specifies the sort order for the tags in the 910 | taglist window. The tags can be sorted either alphabetically by their name or 911 | by the order of their appearance in the file (chronological order). By 912 | default, the tag names will be listed by the order in which they are defined 913 | in the file. You can change the sort type (from name to order or from order to 914 | name) by pressing the "s" key in the taglist window. You can also change the 915 | default sort order by setting 'Tlist_Sort_Type' to "name" or "order": 916 | > 917 | let Tlist_Sort_Type = "name" 918 | < 919 | *'Tlist_Use_Horiz_Window'* 920 | Tlist_Use_Horiz_Window~ 921 | Be default, the tag names are displayed in a vertically split window. If you 922 | prefer a horizontally split window, then set the 'Tlist_Use_Horiz_Window' 923 | variable to 1. If you are running MS-Windows version of Vim in a MS-DOS 924 | command window, then you should use a horizontally split window instead of a 925 | vertically split window. Also, if you are using an older version of xterm in a 926 | Unix system that doesn't support changing the xterm window width, you should 927 | use a horizontally split window. 928 | > 929 | let Tlist_Use_Horiz_Window = 1 930 | < 931 | *'Tlist_Use_Right_Window'* 932 | Tlist_Use_Right_Window~ 933 | By default, the vertically split taglist window will appear on the left hand 934 | side. If you prefer to open the window on the right hand side, you can set the 935 | 'Tlist_Use_Right_Window' variable to 1: 936 | > 937 | let Tlist_Use_Right_Window = 1 938 | < 939 | *'Tlist_Use_SingleClick'* 940 | Tlist_Use_SingleClick~ 941 | By default, when you double click on the tag name using the left mouse 942 | button, the cursor will be positioned at the definition of the tag. You 943 | can set the 'Tlist_Use_SingleClick' variable to 1 to jump to a tag when 944 | you single click on the tag name using the mouse. By default this variable 945 | is set to zero. 946 | > 947 | let Tlist_Use_SingleClick = 1 948 | < 949 | Due to a bug in Vim, if you set 'Tlist_Use_SingleClick' to 1 and try to resize 950 | the taglist window using the mouse, then Vim will crash. This problem is fixed 951 | in Vim 6.3 and above. In the meantime, instead of resizing the taglist window 952 | using the mouse, you can use normal Vim window resizing commands to resize the 953 | taglist window. 954 | 955 | *'Tlist_WinHeight'* 956 | Tlist_WinHeight~ 957 | The default height of the horizontally split taglist window is 10. This can be 958 | changed by modifying the 'Tlist_WinHeight' variable: 959 | > 960 | let Tlist_WinHeight = 20 961 | < 962 | The |'winfixheight'| option is set for the taglist window, to maintain the 963 | height of the taglist window, when new Vim windows are opened and existing 964 | windows are closed. 965 | 966 | *'Tlist_WinWidth'* 967 | Tlist_WinWidth~ 968 | The default width of the vertically split taglist window is 30. This can be 969 | changed by modifying the 'Tlist_WinWidth' variable: 970 | > 971 | let Tlist_WinWidth = 20 972 | < 973 | Note that the value of the |'winwidth'| option setting determines the minimum 974 | width of the current window. If you set the 'Tlist_WinWidth' variable to a 975 | value less than that of the |'winwidth'| option setting, then Vim will use the 976 | value of the |'winwidth'| option. 977 | 978 | When new Vim windows are opened and existing windows are closed, the taglist 979 | plugin will try to maintain the width of the taglist window to the size 980 | specified by the 'Tlist_WinWidth' variable. 981 | 982 | ============================================================================== 983 | *taglist-commands* 984 | 7. Commands~ 985 | 986 | The taglist plugin provides the following ex-mode commands: 987 | 988 | |:TlistAddFiles| Add multiple files to the taglist. 989 | |:TlistAddFilesRecursive| 990 | Add files recursively to the taglist. 991 | |:TlistClose| Close the taglist window. 992 | |:TlistDebug| Start logging of taglist debug messages. 993 | |:TlistLock| Stop adding new files to the taglist. 994 | |:TlistMessages| Display the logged taglist plugin debug messages. 995 | |:TlistOpen| Open and jump to the taglist window. 996 | |:TlistSessionSave| Save the information about files and tags in the 997 | taglist to a session file. 998 | |:TlistSessionLoad| Load the information about files and tags stored 999 | in a session file to taglist. 1000 | |:TlistShowPrototype| Display the prototype of the tag at or before the 1001 | specified line number. 1002 | |:TlistShowTag| Display the name of the tag defined at or before the 1003 | specified line number. 1004 | |:TlistHighlightTag| Highlight the current tag in the taglist window. 1005 | |:TlistToggle| Open or close (toggle) the taglist window. 1006 | |:TlistUndebug| Stop logging of taglist debug messages. 1007 | |:TlistUnlock| Start adding new files to the taglist. 1008 | |:TlistUpdate| Update the tags for the current buffer. 1009 | 1010 | *:TlistAddFiles* 1011 | :TlistAddFiles {file(s)} [file(s) ...] 1012 | Add one or more specified files to the taglist. You can 1013 | specify multiple filenames using wildcards. To specify a 1014 | file name with space character, you should escape the space 1015 | character with a backslash. 1016 | Examples: 1017 | > 1018 | :TlistAddFiles *.c *.cpp 1019 | :TlistAddFiles file1.html file2.html 1020 | < 1021 | If you specify a large number of files, then it will take some 1022 | time for the taglist plugin to process all of them. The 1023 | specified files will not be edited in a Vim window and will 1024 | not be added to the Vim buffer list. 1025 | 1026 | *:TlistAddFilesRecursive* 1027 | :TlistAddFilesRecursive {directory} [ {pattern} ] 1028 | Add files matching {pattern} recursively from the specified 1029 | {directory} to the taglist. If {pattern} is not specified, 1030 | then '*' is assumed. To specify the current directory, use "." 1031 | for {directory}. To specify a directory name with space 1032 | character, you should escape the space character with a 1033 | backslash. 1034 | Examples: 1035 | > 1036 | :TlistAddFilesRecursive myproject *.java 1037 | :TlistAddFilesRecursive smallproject 1038 | < 1039 | If large number of files are present in the specified 1040 | directory tree, then it will take some time for the taglist 1041 | plugin to process all of them. 1042 | 1043 | *:TlistClose* 1044 | :TlistClose Close the taglist window. This command can be used from any 1045 | one of the Vim windows. 1046 | 1047 | *:TlistDebug* 1048 | :TlistDebug [filename] 1049 | Start logging of debug messages from the taglist plugin. 1050 | If {filename} is specified, then the debug messages are stored 1051 | in the specified file. Otherwise, the debug messages are 1052 | stored in a script local variable. If the file {filename} is 1053 | already present, then it is overwritten. 1054 | 1055 | *:TlistLock* 1056 | :TlistLock 1057 | Lock the taglist and don't process new files. After this 1058 | command is executed, newly edited files will not be added to 1059 | the taglist. 1060 | 1061 | *:TlistMessages* 1062 | :TlistMessages 1063 | Display the logged debug messages from the taglist plugin 1064 | in a window. This command works only when logging to a 1065 | script-local variable. 1066 | 1067 | *:TlistOpen* 1068 | :TlistOpen Open and jump to the taglist window. Creates the taglist 1069 | window, if the window is not opened currently. After executing 1070 | this command, the cursor is moved to the taglist window. When 1071 | the taglist window is opened for the first time, all the files 1072 | in the buffer list are processed and the tags defined in them 1073 | are displayed in the taglist window. 1074 | 1075 | *:TlistSessionSave* 1076 | :TlistSessionSave {filename} 1077 | Saves the information about files and tags in the taglist to 1078 | the specified file. This command can be used to save and 1079 | restore the taglist contents across Vim sessions. 1080 | 1081 | *:TlistSessionLoad* 1082 | :TlistSessionLoad {filename} 1083 | Load the information about files and tags stored in the 1084 | specified session file to the taglist. 1085 | 1086 | *:TlistShowPrototype* 1087 | :TlistShowPrototype [filename] [linenumber] 1088 | Display the prototype of the tag at or before the specified 1089 | line number. If the file name and the line number are not 1090 | specified, then the current file name and line number are 1091 | used. A tag spans multiple lines starting from the line where 1092 | it is defined to the line before the next tag. This command 1093 | displays the prototype for the tag for any line number in this 1094 | range. 1095 | 1096 | *:TlistShowTag* 1097 | :TlistShowTag [filename] [linenumber] 1098 | Display the name of the tag defined at or before the specified 1099 | line number. If the file name and the line number are not 1100 | specified, then the current file name and line number are 1101 | used. A tag spans multiple lines starting from the line where 1102 | it is defined to the line before the next tag. This command 1103 | displays the tag name for any line number in this range. 1104 | 1105 | *:TlistHighlightTag* 1106 | :TlistHighlightTag 1107 | Highlight the current tag in the taglist window. By default, 1108 | the taglist plugin periodically updates the taglist window to 1109 | highlight the current tag. This command can be used to force 1110 | the taglist plugin to highlight the current tag. 1111 | 1112 | *:TlistToggle* 1113 | :TlistToggle Open or close (toggle) the taglist window. Opens the taglist 1114 | window, if the window is not opened currently. Closes the 1115 | taglist window, if the taglist window is already opened. When 1116 | the taglist window is opened for the first time, all the files 1117 | in the buffer list are processed and the tags are displayed in 1118 | the taglist window. After executing this command, the cursor 1119 | is not moved from the current window to the taglist window. 1120 | 1121 | *:TlistUndebug* 1122 | :TlistUndebug 1123 | Stop logging of debug messages from the taglist plugin. 1124 | 1125 | *:TlistUnlock* 1126 | :TlistUnlock 1127 | Unlock the taglist and start processing newly edited files. 1128 | 1129 | *:TlistUpdate* 1130 | :TlistUpdate Update the tags information for the current buffer. This 1131 | command can be used to re-process the current file/buffer and 1132 | get the tags information. As the taglist plugin uses the file 1133 | saved in the disk (instead of the file displayed in a Vim 1134 | buffer), you should save a modified buffer before you update 1135 | the taglist. Otherwise the listed tags will not include the 1136 | new tags created in the buffer. You can use this command even 1137 | when the taglist window is not opened. 1138 | 1139 | ============================================================================== 1140 | *taglist-functions* 1141 | 8. Global functions~ 1142 | 1143 | The taglist plugin provides several global functions that can be used from 1144 | other Vim plugins to interact with the taglist plugin. These functions are 1145 | described below. 1146 | 1147 | |Tlist_Update_File_Tags()| Update the tags for the specified file 1148 | |Tlist_Get_Tag_Prototype_By_Line()| Return the prototype of the tag at or 1149 | before the specified line number in the 1150 | specified file. 1151 | |Tlist_Get_Tagname_By_Line()| Return the name of the tag at or 1152 | before the specified line number in 1153 | the specified file. 1154 | |Tlist_Set_App()| Set the name of the application 1155 | controlling the taglist window. 1156 | 1157 | *Tlist_Update_File_Tags()* 1158 | Tlist_Update_File_Tags({filename}, {filetype}) 1159 | Update the tags for the file {filename}. The second argument 1160 | specifies the Vim filetype for the file. If the taglist plugin 1161 | has not processed the file previously, then the exuberant 1162 | ctags tool is invoked to generate the tags for the file. 1163 | 1164 | *Tlist_Get_Tag_Prototype_By_Line()* 1165 | Tlist_Get_Tag_Prototype_By_Line([{filename}, {linenumber}]) 1166 | Return the prototype of the tag at or before the specified 1167 | line number in the specified file. If the filename and line 1168 | number are not specified, then the current buffer name and the 1169 | current line number are used. 1170 | 1171 | *Tlist_Get_Tagname_By_Line()* 1172 | Tlist_Get_Tagname_By_Line([{filename}, {linenumber}]) 1173 | Return the name of the tag at or before the specified line 1174 | number in the specified file. If the filename and line number 1175 | are not specified, then the current buffer name and the 1176 | current line number are used. 1177 | 1178 | *Tlist_Set_App()* 1179 | Tlist_Set_App({appname}) 1180 | Set the name of the plugin that controls the taglist plugin 1181 | window and buffer. This can be used to integrate the taglist 1182 | plugin with other Vim plugins. 1183 | 1184 | For example, the winmanager plugin and the Cream package use 1185 | this function and specify the appname as "winmanager" and 1186 | "cream" respectively. 1187 | 1188 | By default, the taglist plugin is a stand-alone plugin and 1189 | controls the taglist window and buffer. If the taglist window 1190 | is controlled by an external plugin, then the appname should 1191 | be set appropriately. 1192 | 1193 | ============================================================================== 1194 | *taglist-extend* 1195 | 9. Extending~ 1196 | 1197 | The taglist plugin supports all the languages supported by the exuberant ctags 1198 | tool, which includes the following languages: Assembly, ASP, Awk, Beta, C, 1199 | C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, Lua, 1200 | Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, SML, Sql, 1201 | TCL, Verilog, Vim and Yacc. 1202 | 1203 | You can extend the taglist plugin to add support for new languages and also 1204 | modify the support for the above listed languages. 1205 | 1206 | You should NOT make modifications to the taglist plugin script file to add 1207 | support for new languages. You will lose these changes when you upgrade to the 1208 | next version of the taglist plugin. Instead you should follow the below 1209 | described instructions to extend the taglist plugin. 1210 | 1211 | You can extend the taglist plugin by setting variables in the .vimrc or _vimrc 1212 | file. The name of these variables depends on the language name and is 1213 | described below. 1214 | 1215 | Modifying support for an existing language~ 1216 | To modify the support for an already supported language, you have to set the 1217 | tlist_xxx_settings variable in the ~/.vimrc or $HOME/_vimrc file. Replace xxx 1218 | with the Vim filetype name for the language file. For example, to modify the 1219 | support for the perl language files, you have to set the tlist_perl_settings 1220 | variable. To modify the support for java files, you have to set the 1221 | tlist_java_settings variable. 1222 | 1223 | To determine the filetype name used by Vim for a file, use the following 1224 | command in the buffer containing the file: 1225 | 1226 | :set filetype 1227 | 1228 | The above command will display the Vim filetype for the current buffer. 1229 | 1230 | The format of the value set in the tlist_xxx_settings variable is 1231 | 1232 | ;flag1:name1;flag2:name2;flag3:name3 1233 | 1234 | The different fields in the value are separated by the ';' character. 1235 | 1236 | The first field 'language_name' is the name used by exuberant ctags to refer 1237 | to this language file. This name can be different from the file type name used 1238 | by Vim. For example, for C++, the language name used by ctags is 'c++' but the 1239 | filetype name used by Vim is 'cpp'. To get the list of language names 1240 | supported by exuberant ctags, use the following command: 1241 | 1242 | $ ctags --list-maps=all 1243 | 1244 | The remaining fields follow the format "flag:name". The sub-field 'flag' is 1245 | the language specific flag used by exuberant ctags to generate the 1246 | corresponding tags. For example, for the C language, to list only the 1247 | functions, the 'f' flag is used. To get the list of flags supported by 1248 | exuberant ctags for the various languages use the following command: 1249 | 1250 | $ ctags --list-kinds=all 1251 | 1252 | The sub-field 'name' specifies the title text to use for displaying the tags 1253 | of a particular type. For example, 'name' can be set to 'functions'. This 1254 | field can be set to any text string name. 1255 | 1256 | For example, to list only the classes and functions defined in a C++ language 1257 | file, add the following line to your .vimrc file: 1258 | 1259 | let tlist_cpp_settings = 'c++;c:class;f:function' 1260 | 1261 | In the above setting, 'cpp' is the Vim filetype name and 'c++' is the name 1262 | used by the exuberant ctags tool. 'c' and 'f' are the flags passed to 1263 | exuberant ctags to list C++ classes and functions and 'class' is the title 1264 | used for the class tags and 'function' is the title used for the function tags 1265 | in the taglist window. 1266 | 1267 | For example, to display only functions defined in a C file and to use "My 1268 | Functions" as the title for the function tags, use 1269 | 1270 | let tlist_c_settings = 'c;f:My Functions' 1271 | 1272 | When you set the tlist_xxx_settings variable, you will override the default 1273 | setting used by the taglist plugin for the 'xxx' language. You cannot add to 1274 | the default options used by the taglist plugin for a particular file type. To 1275 | add to the options used by the taglist plugin for a language, copy the option 1276 | values from the taglist plugin file to your .vimrc file and modify it. 1277 | 1278 | Adding support for a new language~ 1279 | If you want to add support for a new language to the taglist plugin, you need 1280 | to first extend the exuberant ctags tool. For more information about extending 1281 | exuberant ctags, visit the following page: 1282 | 1283 | http://ctags.sourceforge.net/EXTENDING.html 1284 | 1285 | To add support for a new language, set the tlist_xxx_settings variable in the 1286 | ~/.vimrc file appropriately as described above. Replace 'xxx' in the variable 1287 | name with the Vim filetype name for the new language. 1288 | 1289 | For example, to extend the taglist plugin to support the latex language, you 1290 | can use the following line (assuming, you have already extended exuberant 1291 | ctags to support the latex language): 1292 | 1293 | let tlist_tex_settings='latex;b:bibitem;c:command;l:label' 1294 | 1295 | With the above line, when you edit files of filetype "tex" in Vim, the taglist 1296 | plugin will invoke the exuberant ctags tool passing the "latex" filetype and 1297 | the flags b, c and l to generate the tags. The text heading 'bibitem', 1298 | 'command' and 'label' will be used in the taglist window for the tags which 1299 | are generated for the flags b, c and l respectively. 1300 | 1301 | ============================================================================== 1302 | *taglist-faq* 1303 | 10. Frequently Asked Questions~ 1304 | 1305 | Q. The taglist plugin doesn't work. The taglist window is empty and the tags 1306 | defined in a file are not displayed. 1307 | A. Are you using Vim version 6.0 and above? The taglist plugin relies on the 1308 | features supported by Vim version 6.0 and above. You can use the following 1309 | command to get the Vim version: 1310 | > 1311 | $ vim --version 1312 | < 1313 | Are you using exuberant ctags version 5.0 and above? The taglist plugin 1314 | relies on the features supported by exuberant ctags and will not work with 1315 | GNU ctags or the Unix ctags utility. You can use the following command to 1316 | determine whether the ctags installed in your system is exuberant ctags: 1317 | > 1318 | $ ctags --version 1319 | < 1320 | Is exuberant ctags present in one of the directories in your PATH? If not, 1321 | you need to set the Tlist_Ctags_Cmd variable to point to the location of 1322 | exuberant ctags. Use the following Vim command to verify that this is setup 1323 | correctly: 1324 | > 1325 | :echo system(Tlist_Ctags_Cmd . ' --version') 1326 | < 1327 | The above command should display the version information for exuberant 1328 | ctags. 1329 | 1330 | Did you turn on the Vim filetype detection? The taglist plugin relies on 1331 | the filetype detected by Vim and passes the filetype to the exuberant ctags 1332 | utility to parse the tags. Check the output of the following Vim command: 1333 | > 1334 | :filetype 1335 | < 1336 | The output of the above command should contain "filetype detection:ON". 1337 | To turn on the filetype detection, add the following line to the .vimrc or 1338 | _vimrc file: 1339 | > 1340 | filetype on 1341 | < 1342 | Is your version of Vim compiled with the support for the system() function? 1343 | The following Vim command should display 1: 1344 | > 1345 | :echo exists('*system') 1346 | < 1347 | In some Linux distributions (particularly Suse Linux), the default Vim 1348 | installation is built without the support for the system() function. The 1349 | taglist plugin uses the system() function to invoke the exuberant ctags 1350 | utility. You need to rebuild Vim after enabling the support for the 1351 | system() function. If you use the default build options, the system() 1352 | function will be supported. 1353 | 1354 | Do you have the |'shellslash'| option set? You can try disabling the 1355 | |'shellslash'| option. When the taglist plugin invokes the exuberant ctags 1356 | utility with the path to the file, if the incorrect slashes are used, then 1357 | you will see errors. 1358 | 1359 | Check the shell related Vim options values using the following command: 1360 | > 1361 | :set shell? shellcmdflag? shellpipe? 1362 | :set shellquote? shellredir? shellxquote? 1363 | < 1364 | If these options are set in your .vimrc or _vimrc file, try removing those 1365 | lines. 1366 | 1367 | Are you using a Unix shell in a MS-Windows environment? For example, 1368 | the Unix shell from the MKS-toolkit. Do you have the SHELL environment 1369 | set to point to this shell? You can try resetting the SHELL environment 1370 | variable. 1371 | 1372 | If you are using a Unix shell on MS-Windows, you should try to use 1373 | exuberant ctags that is compiled for Unix-like environments so that 1374 | exuberant ctags will understand path names with forward slash characters. 1375 | 1376 | Is your filetype supported by the exuberant ctags utility? The file types 1377 | supported by the exuberant ctags utility are listed in the ctags help. If a 1378 | file type is not supported, you have to extend exuberant ctags. You can use 1379 | the following command to list the filetypes supported by exuberant ctags: 1380 | > 1381 | ctags --list-languages 1382 | < 1383 | Run the following command from the shell prompt and check whether the tags 1384 | defined in your file are listed in the output from exuberant ctags: 1385 | > 1386 | ctags -f - --format=2 --excmd=pattern --fields=nks 1387 | < 1388 | If you see your tags in the output from the above command, then the 1389 | exuberant ctags utility is properly parsing your file. 1390 | 1391 | Do you have the .ctags or _ctags or the ctags.cnf file in your home 1392 | directory for specifying default options or for extending exuberant ctags? 1393 | If you do have this file, check the options in this file and make sure 1394 | these options are not interfering with the operation of the taglist plugin. 1395 | 1396 | If you are using MS-Windows, check the value of the TEMP and TMP 1397 | environment variables. If these environment variables are set to a path 1398 | with space characters in the name, then try using the DOS 8.3 short name 1399 | for the path or set them to a path without the space characters in the 1400 | name. For example, if the temporary directory name is "C:\Documents and 1401 | Settings\xyz\Local Settings\Temp", then try setting the TEMP variable to 1402 | the following: 1403 | > 1404 | set TEMP=C:\DOCUMEN~1\xyz\LOCALS~1\Temp 1405 | < 1406 | If exuberant ctags is installed in a directory with space characters in the 1407 | name, then try adding the directory to the PATH environment variable or try 1408 | setting the 'Tlist_Ctags_Cmd' variable to the shortest path name to ctags 1409 | or try copying the exuberant ctags to a path without space characters in 1410 | the name. For example, if exuberant ctags is installed in the directory 1411 | "C:\Program Files\Ctags", then try setting the 'Tlist_Ctags_Cmd' variable 1412 | as below: 1413 | > 1414 | let Tlist_Ctags_Cmd='C:\Progra~1\Ctags\ctags.exe' 1415 | < 1416 | If you are using a cygwin compiled version of exuberant ctags on MS-Windows, 1417 | make sure that either you have the cygwin compiled sort utility installed 1418 | and available in your PATH or compile exuberant ctags with internal sort 1419 | support. Otherwise, when exuberant ctags sorts the tags output by invoking 1420 | the sort utility, it may end up invoking the MS-Windows version of 1421 | sort.exe, thereby resulting in failure. 1422 | 1423 | Q. When I try to open the taglist window, I am seeing the following error 1424 | message. How do I fix this problem? 1425 | 1426 | Taglist: Failed to generate tags for /my/path/to/file 1427 | ctags: illegal option -- -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file ... 1428 | 1429 | A. The taglist plugin will work only with the exuberant ctags tool. You 1430 | cannot use the GNU ctags or the Unix ctags program with the taglist plugin. 1431 | You will see an error message similar to the one shown above, if you try 1432 | use a non-exuberant ctags program with Vim. To fix this problem, either add 1433 | the exuberant ctags tool location to the PATH environment variable or set 1434 | the 'Tlist_Ctags_Cmd' variable. 1435 | 1436 | Q. A file has more than one tag with the same name. When I select a tag name 1437 | from the taglist window, the cursor is positioned at the incorrect tag 1438 | location. 1439 | A. The taglist plugin uses the search pattern generated by the exuberant ctags 1440 | utility to position the cursor at the location of a tag definition. If a 1441 | file has more than one tag with the same name and same prototype, then the 1442 | search pattern will be the same. In this case, when searching for the tag 1443 | pattern, the cursor may be positioned at the incorrect location. 1444 | 1445 | Q. I have made some modifications to my file and introduced new 1446 | functions/classes/variables. I have not yet saved my file. The taglist 1447 | plugin is not displaying the new tags when I update the taglist window. 1448 | A. The exuberant ctags utility will process only files that are present in the 1449 | disk. To list the tags defined in a file, you have to save the file and 1450 | then update the taglist window. 1451 | 1452 | Q. I have created a ctags file using the exuberant ctags utility for my source 1453 | tree. How do I configure the taglist plugin to use this tags file? 1454 | A. The taglist plugin doesn't use a tags file stored in disk. For every opened 1455 | file, the taglist plugin invokes the exuberant ctags utility to get the 1456 | list of tags dynamically. The Vim system() function is used to invoke 1457 | exuberant ctags and get the ctags output. This function internally uses a 1458 | temporary file to store the output. This file is deleted after the output 1459 | from the command is read. So you will never see the file that contains the 1460 | output of exuberant ctags. 1461 | 1462 | Q. When I set the |'updatetime'| option to a low value (less than 1000) and if 1463 | I keep pressing a key with the taglist window open, the current buffer 1464 | contents are changed. Why is this? 1465 | A. The taglist plugin uses the |CursorHold| autocmd to highlight the current 1466 | tag. The CursorHold autocmd triggers for every |'updatetime'| milliseconds. 1467 | If the |'updatetime'| option is set to a low value, then the CursorHold 1468 | autocmd will be triggered frequently. As the taglist plugin changes 1469 | the focus to the taglist window to highlight the current tag, this could 1470 | interfere with the key movement resulting in changing the contents of 1471 | the current buffer. The workaround for this problem is to not set the 1472 | |'updatetime'| option to a low value. 1473 | 1474 | ============================================================================== 1475 | *taglist-license* 1476 | 11. License~ 1477 | Permission is hereby granted to use and distribute the taglist plugin, with or 1478 | without modifications, provided that this copyright notice is copied with it. 1479 | Like anything else that's free, taglist.vim is provided *as is* and comes with 1480 | no warranty of any kind, either expressed or implied. In no event will the 1481 | copyright holder be liable for any damamges resulting from the use of this 1482 | software. 1483 | 1484 | ============================================================================== 1485 | *taglist-todo* 1486 | 12. Todo~ 1487 | 1488 | 1. Group tags according to the scope and display them. For example, 1489 | group all the tags belonging to a C++/Java class 1490 | 2. Support for displaying tags in a modified (not-yet-saved) file. 1491 | 3. Automatically open the taglist window only for selected filetypes. 1492 | For other filetypes, close the taglist window. 1493 | 4. When using the shell from the MKS toolkit, the taglist plugin 1494 | doesn't work. 1495 | 5. The taglist plugin doesn't work with files edited remotely using the 1496 | netrw plugin. The exuberant ctags utility cannot process files over 1497 | scp/rcp/ftp, etc. 1498 | 1499 | ============================================================================== 1500 | 1501 | vim:tw=78:ts=8:noet:ft=help: 1502 | --------------------------------------------------------------------------------