Skip to content

Instantly share code, notes, and snippets.

@vishwassharma
Created March 25, 2012 00:10
Show Gist options
  • Save vishwassharma/2189823 to your computer and use it in GitHub Desktop.
Save vishwassharma/2189823 to your computer and use it in GitHub Desktop.
Biggest vimfile ever
" =========================
" _ __(_)__ _ ________
" _| |/ / // ' \/ __/ __/
" (_)___/_//_/_/_/_/ \__/
" =========================
" Author: stardiviner ( numbchild at gmail dot com )
" [[ vim Settings ]] {{{2
" :echo $MYVIMRC
set nocompatible " not vim compatible. must be first one, will affect other options.
set ttyfast " for tmux, screen. when TERM=screen, rxvt etc.
" [ updating vimrc file on the fly ] {{{
"if has("autocmd")
"autocmd bufwritepost .vimrc source $MYVIMRC
"endif
nnoremap <Leader>ev :vsplit $MYVIMRC<CR>
" Edit my Vimrc file.
nnoremap <Leader>sv :source $MYVIMRC<CR>
" }}}
" [ system detection ] {{{
"if system('uname -v') =~ 'Ubuntu'
"endif
" }}}
" [ GUI ] {{{
" :help gui.txt :help gui_x11.txt
if has("gui")
set t_Co=256
colorscheme molokai
set guifont=Monospace\ 9,DejaVu\ Sans\ 9,Ubuntu\ 9,Monaco\ 9
set guioptions-=mTrRlLb
" m - Display a menu bar.
" T - Display a toolbar.
" r - Always display the right-hand scrollbar.
" R - Display the right-hand scrollbar if the window is split vertically.
" l - Always display left-hand scrollbar.
" L - Display the left-hand scrollbar if the window is split vertically.
" b - Display the horizontal scrollbar.
endif
" }}}
" [ mouse ] {{{ In many terminal emulators the mouse works just fine, thus enable it.
set mouse="" " disable mouse
"if has('mouse')
"set mouse=a
"endif
" }}}
" [ help ] {{{ vim internal HELP
" nnoremap K <ESC>:exec "help".expand("<cWORD>")<CR>
" nnoremap K <ESC>:exec "help" expand("<cword>")<CR>
" autocmd FileType tex nnoremap <buffer> K :exec "help" expand("<cword>")<CR>
autocmd FileType sh,vimwiki,config,none
\ setlocal keywordprg="man"
autocmd FileType vim,help
\ let &keywordprg=":help"
" }}}
" [ history ] {{{
set history=256 " history lines
" undo
set undolevels=1000
" }}}
" [ command line ] {{{ :help cmdline-completion
set wildmenu " show matches above the command line, ( overwriting status line. )
set wildchar=<Tab> " <Tab> to complete in cmdline.
set wildignorecase " ignore case when completing file names and directories.
set wildmode=list:full " or use list,longest
" }}}
" [ encode ] {{{
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,ucs-bom,enc-cn,cp936,gbk,latin1
" "set isfname+=32 " let vim support filename with white spaces when using "gf".
" }}}
" [ register ] {{{
" you can use ["+p and "+y] to paste and yank
set clipboard+=unnamed " "* is the clipboard register,
" set pastetoggle=<F8> " toggle between paste and normal: for 'safer' pasting from keyboard
" }}}
" [ modeline ] {{{
set modeline " =/* vim: set ai ft=config: */
set modelines=2 " the number of lines that is checked for set commands.
set colorcolumn=80 " highlight column after 'textwidth', a red line.
" set cc=+1,+2,+3 " highlight three columns after 'textwidth'
" set colorcolumn=4,+1
" add bellowing to colorscheme file.
" hi ColorColumn ctermfg=000 ctermbg=220
" }}}
" [ buffer ] {{{
set autowrite " auto write when changed
set autoread " auto read changed files
set updatetime=4000 " Bundle showmarks need lower updatetime to refresh marks.
set confirm " confirm current buffer.
set backup " keep a backup file
set backupdir=$HOME/backup-vim/ " backup dir
set backupcopy=auto
set dir=.,~/.tmp,/var/tmp,/tmp " swap file dir
" }}}
" [ tags ] {{{
set tags=./.tags " walk directory tree upto $HOME looking for tags
set backspace=2 " more powerful backspace
" }}}
" [ search ] {{{
set incsearch hlsearch wrapscan " do incremental searching, wrapscan used for ]s and [s spelling mistake.
set ignorecase smartcase " smartcase will override ignorecase when type with upper case characters.
set showmatch
" }}}
" [ spell check ] {{{ C-X,C-N,C-P ]s [s zg zw zuw zug z= :help spell.txt
set nospell
autocmd FileType mail,tex,markdown,org,tpp setlocal spell " vim default spellcheck
" FIXME it will check vim help file.
autocmd FileType help setlocal nospell
set spelllang=en_us
set spellcapcheck="[.?!]\_[\])\" \t]\+"
set spellsuggest=best " default and fast list.
set spellfile=~/.vim/spell/en.utf-8.add " 'zg' add to this file.
nnoremap <silent> <Leader>sc :set spell!<CR>
" }}}
" [ completion ] {{{ AutoPop Tab Ctrl-Y Ctrl-E
set mousemodel=extend
" TODO set mouseshape=
set cmdheight=1 " command line height
set autochdir " auto change dir
set dictionary=~/.vim/misc/words " dictionary for "k", '/usr/share/dict/words'
set complete=".,w,b,t,i,u,kspell" " completion buffers
" set complete=.,w,b,u,k,t,i " completion buffers
" | | | | | | |
" | | | | | | `-current and included files
" | | | | | `-tags completion
" | | | | `-dict
" | | | `-unloaded buffers
" | | `-other loaded buffers
" | `-buffers in other windows
" `-the current buffer
" set file path completion.
set path+=.,/usr/local/include,/usr/include,,
set showcmd " show (partial) command in the last line of screen.
" ignore those files when completion.
set wildignore+=*.swp,*.svn,*.git,cvs,*.o,*.obj,*.pyc,*.pyo,*.png,*.gif,*.jpg,*.jpeg,*.bmp,*.tiff
set report=0 " always report changed lines
" new-omni-completion ( internal ) Ctrl-X,Ctrl-*
set completeopt=menu,preview
" set pumheight= " set popup menu height.
" set completefunc " actually find the matches.
" [ omni ] {{{ complete things with "<C-X><C-O>"
set omnifunc=syntaxcomplete#Complete " for other languages
" inoremap <C-space> <C-x><C-o>
" SuperCleverTab() for omni-completion or insert <Tab> {{{
function! SuperCleverTab()
if strpart(getline('.'), 0, col('.') - 1) =~ '^\s*$'
return "\"
else
if &omnifunc != ''
return "\\"
elseif &dictionary != ''
return "\"
else
return "\"
endif
endif
endfunction
inoremap <Tab> <C-R>=SuperCleverTab()<cr>
" }}}
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd FileType c setlocal omnifunc=ccomplete#Complete
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP
autocmd FileType sql setlocal omnifunc=sqlcomplete#Map('sqlKeyword') " FIXME sqlcomplete#???
let g:ftplugin_sql_omni_key = '<C-c>'
" <C-c>[akfoTsvclLR]
" (All items, Keyword, Function, Option, Type, Statement, View, columns, list, list, Regenerate.)
" }}}
" }}}
" [ session ] {{{
" set sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize " for :mksession
au BufReadPost *
\if line("'\"") > 1 && line("'\"") <= line("$")
\| exe "normal! g`\""
\| endif
set viminfo='10,\"100,:20,%,n~/.viminfo " help :viminfo , notice permission is wrong on viminfo
" }}}
" [ bell ] {{{
set errorbells " error bells
set visualbell " visual bells
" }}}
" }}}
" [[ looks ]] {{{2
" [ basic looks ] {{{
set number " show number
" set relativenumber
set numberwidth=3 " minimal number of columns for line number.
set wrap " how text displayed.
set sidescroll=1
set scrolloff=10 " show some lines up and down of cursor, 999 will let cursor always in middle.
set magic " to avoid portability problems with using patterns. always keep this option on.
" }}}
" [ colorscheme ] {{{
" if $COLORTERM == 'gnome-terminal'
if $TERM == "rxvt-unicode-256color" || $TERM == "screen-256color" || $TERM == "xterm-256color"
set t_Co=256
"colorscheme molokai
else
colorscheme wombat256mod
endif
" }}}
" [ cursor ] {{{ :help terminal-options
" color from /etc/x11/rgb.txt
" [ cursor color ]
"if &term =~ "rxvt-unicode-256color\\|rxvt-unicode"
" set ttyfast
"let &t_EI = "\<Esc>]12;RoyalBlue1\x9c"
"let &t_SI = "\<Esc>]12;IndianRed1\x9c"
"silent !echo -e "\e]12;orange\x9c"
"elseif &term =~ "screen" " screen in urxvt or xterm
":silent !echo -ne "\eP\e]12;IndianRed2\007\e\\"
"let &t_SI = "\eP\e]12;RoyalBlue1\007\e\\"
"let &t_EI = "\eP\e]12;IndianRed2\007\e\\"
"autocmd VimLeave * :!echo -ne "\eP\e]12;green\007\e\\"
"elseif &term =~ "xterm"
":silent !echo -ne "\e]12;IndianRed2\007"
"let &t_SI = "\e]12;RoyalBlue1\007"
"let &t_EI = "\e]12;IndianRed2\007"
"autocmd VimLeave * :!echo -ne "\e]12;green\007"
"elseif &term =~ "xterm\\|rxvt"
"let &t_SI = "\<Esc>]12;orange\x7"
"let &t_EI = "\<Esc>]12;red\x7"
"silent !echo -ne "\033]12;red\007"
"" reset cursor when vim exits
"autocmd VimLeave * silent !echo -ne "\033]112\007"
"" use \003]12;gray\007 for gnome-terminal
" endif
" [ cursor shape ]
" = '\<Esc>[1 q' . 1 or 0 > blinking block, 2 > solid block, 3 > blinking underscore, 4 > " solid underscore.
"if &term =~ 'rxvt-unicode-256color\\|rxvt-unicode'
"let &t_SI = "\<Esc>[1 q"
"let &t_EI = "\<Esc>[3 q"
"elseif &term =~ '^xterm'
"let &t_SI .= "\<Esc>[4 q"
"let &t_EI .= "\<Esc>[2 q"
"" =~ "^xterm"
"" let &t_SI = "\<Esc>]12;purple\x7"
"" let &t_EI = "\<Esc>]12;blue\x7"
"else
"let &t_SI = "\<Esc>]50;CursorShape=2\x7"
"let &t_EI = "\<Esc>]50;CursorShape=4\x7"
"endif
" }}}
" hilight current line {{{
autocmd InsertLeave * set cursorline
autocmd InsertEnter * set cursorline
" only highlight column in current window.
au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
set cursorline
set cursorcolumn " set uplight cursorline
" }}}
" [ fold ] {{{3
set foldenable " enable fold
set foldmethod=indent " indent, syntax, manual, expr, diff, marker
set foldnestmax=3 " maximum nesting of fold
set foldlevel=2 " fold start from which level
set foldlevelstart=1 " default which foldlevel to start fold.
set foldmarker={{{,}}} " fold marker
set foldminlines=3 " fold minlines
set foldcolumn=0 " 3 colums ahead of line number.
nnoremap <SPACE> za
"set foldtext=VimrcFoldText() " {{{
"function! VimrcFoldText()
"let line = foldtext()
"let foldSize = 1 + v:foldend - v:foldstart
"let lineCount = line("$")
"let foldPercentage = printf("%4.1f", (foldSize*1.0)/lineCount*100)
"" Show fold Percentage along with # of lines
"return substitute(line, '^\([-+]\+\)\(\s\+\)\(\d\+\) lines', '\1 '.foldPercentage.'%\2(\3 lines)', 'g')
"endfunction " }}}
set foldtext=VimrcFoldText() " {{{
function! VimrcFoldText()
" get first non-blank line
let fs = v:foldstart
while getline(fs) =~ '^\s*$'
let fs = nextnonblank(fs + 1)
endwhile
if fs > v:foldend
let line = getline(v:foldstart)
else
let line = getline(fs)
endif
let line = substitute(line, '/\*\|\*/\|{'.'{{\d\=', '', 'g')." "
let w = winwidth(0) - &foldcolumn - (&number ? 8 : 0)
let foldSize = 1 + v:foldend - v:foldstart
let foldSizeStr = " " . foldSize . " lines "
let foldLevelStr = repeat("+--", v:foldlevel)
let lineCount = line("$")
let foldPercentage = "[" . printf("%4.1f", (foldSize*1.0)/lineCount*100) . "%] "
" let expansionString = repeat("-", w - strlen(foldSizeStr) - strlen(line) - strlen(foldLevelStr) - strlen(foldPercentage))
let expansionString = repeat(" ", w - strlen(foldSizeStr) - strlen(line) - strlen(foldLevelStr) - strlen(foldPercentage))
return line . foldSizeStr . foldLevelStr . expansionString . foldPercentage
endfunction
" }}}
" }}}
" [ syntax ] {{{
syntax enable " enable syntax highlighting
syntax on " follows colorscheme to highlight.
" }}}
" [ indent ] {{{
set autoindent " smartindent is stupid cause 'cindent'
" set whichwrap=b,s,h,l,<,>,~,[,] " everything wraps
" | | | | | | | | |
" | | | | | | | | +-- "]" Insert and Replace
" | | | | | | | +-- "[" Insert and Replace
" | | | | | | +-- "~" Normal
" | | | | | +-- <Right> Normal and Visual
" | | | | +-- <Left> Normal and Visual
" | | | +-- "l" Normal and Visual (not recommended)
" | | +-- "h" Normal and Visual (not recommended)
" | +-- <Space> Normal and Visual
" +-- <BS> Normal and Visual
" }}}
" [ filetype ] {{{
filetype plugin indent on " combine three into one.
" filetype on " enables filetype detection
" filetype plugin on " enables filetype specific plugins
" filetype indent on "
" }}}
" [ tab ] {{{
set tabstop=4
set expandtab
set softtabstop=4
set shiftwidth=4
set smarttab
" }}}
" [ text ] {{{
set textwidth=100 " =0:unlimited, limit textwidth to prevent your from nesting more code blocks.
set formatprg="" " default is ""
set formatoptions=tcq " vim default is "tcq".
set commentstring=/*%s*/ " OR #%s
" set listchars=tab:>-,trail:·,eol:$
" nnoremap <silent> <Leader>s :set nolist!<CR>
" }}}
" [ conceal ] {{{
set conceallevel=2 " 0,1,2,3
set concealcursor="nc" " n: normal, v: visual, i: insert, c: command line editing.
" }}}
" [ title ] {{{
" set title " dynamic title
set notitle " for tmux session can set window name.
set titleold="Hack Opened Vim"
set titlestring=%F\ -\ Vim
" set titlelen=95
" }}}
" [ statusline ] {{{
set laststatus=2 " show a nicer status bar.
" item form: %-0{minwid}.{maxwid}{item} --> minwid: min-width,
" %4 width, %-4 padding on the right instead of the left. %= switch to right side.
" %04l pad with zeros instead of spaces. like 0012.
" %.20F change the maximum width. The path will be truncated if necessary: <hapters/17.markdown.
set statusline=\%#StatusSeparator#\|\%#StatusBufferNumber#\b\:%n\%#StatusSeparator#\|
\\%#StatusReadOnly#\ \%r\ \%#StatusModFlag#\%m\ \%#StatusList#\%q
\\ \%#StatusChar#\♪\ \»\ \%#StatusFileType#\%y
\\ \%#StatusFugitive#\%{fugitive#statusline()}
\\ \%#StatusFilePath#\%<%F\ \%#StatusHELP#\%H
\\ %=\ %<%-15(\%#StatusNormal#\%{&ff}\%#StatusChar#\•\%#StatusNormal#\%{&fenc}%)
\\ \%#StatusChar#\⌘\ \%#StatusLineNumber#\%-(L:%l/%L\ C:%c%V%)\ \%#StatusPercent#\%P
set shortmess="lnxtT" " short on status line message : default is "filnxtToO"
set ruler " show the cursor position all the time in status line.
set showmode " show editing mode.
" }}}
" }}}
" [[ key bindings ]] {{{2
" NOTICE use nonrecursive mapping.
" Each of the *map commands has a *noremap counterpart that ignores other mappings:
" nnoremap, vnoremap, and inoremap. onoremap(operator).
" mapping a sequence of multiple keys. like: nnoremap jk dd
" buffer-local options and mapping. like: inoremap <buffer> <leader>d dd
" Operator-Pending mapping, like dw (d: Operator, w: movement),
" [ key prefix -> Leader ] {{{
let mapleader = '\'
"let g:mapleader=","
" local leader <LocalLeader> for (specific buffers) certain types of files like Python or HTML.
let maplocalleader = '\'
" }}}
" speed up pressing
" inoremap jk <esc>
" inoremap <esc> <nop> " (no operation)
" F1~12 {{{
" TODO write a function to display this list in a window or prompt. use FunctionKeyToggle.
" F1 -- pyref
" F2 -- vim internal help.
" F6 -- VimRoom
" F7 -- Gundo Toggle
" F8 -- TagmaBufMgr (buffers)
" F9 -- SingleCompile
" F10 -- :make / SingleCompileRun
" F11 -- NERDTree Toggle
" F12 -- Taglist
" }}}
" [ ins-completion ] {{{ CTRL-E: stop, CTRL-Y: accept.
" i_CTRL-X_CTRL-L -- whole lines
" i_CTRL-X_CTRL-N -- keywords in current file
" i_CTRL-X_CTRL-K -- keywords in dictionary
" i_CTRL-X_CTRL-T -- keywords in thesaurus, thesaurus-style
" i_CTRL-X_CTRL-I -- keywords in the current and included files
" i_CTRL-X_CTRL-] -- tags
" i_CTRL-X_CTRL-F -- file names
" i_CTRL-X_CTRL-D -- definitions or macros
" i_CTRL-X_CTRL-V -- vim command-line
" i_CTRL-X_CTRL-U -- user defined completion
" i_CTRL-X_CTRL-O -- omni completion
" i_CTRL-X_s -- spelling suggestions
" i_CTRL-N -- keyword in 'complete'
" }}}
" TODO add an if condition to detect cwindow or lwindow, and bind this function into one key.
" so that you can use same <A-n/p> for next and previous.
"if (empty(getloclist(0))=='1')
"" command: :copen QuickFix window.
" nnoremap <F3> :botright cwindow<CR>
"help eval.txt
"elseif (empty(getqflist()
"" command: :lopen LocationList window.
" nnoremap <F4> :botright lwindow<CR>
"endif
"nnoremap <expr> <A-n> (&buftype=='quickfix'?':cn':':lnext')."\n"
"nnoremap <expr> <A-p> (&buftype=='quickfix'?':cp':':lprev')."\n"
" }}}
" [[ functions ]] {{{2
" Vimscript functions must start with a capital letter if they are unscoped!
" you can call function with ":source file.vim" then ":call"
" [ complete dictionary words ] {{{ <Tab> OR <c-j> to complete words.
"function! Tab_Or_Complete()
"if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w'
"return "\<c-j>"
"else
"return "\<Tab>"
"endif
"endfunction
"inoremap <Tab> <C-R>=Tab_Or_Complete()<CR>
"autocmd FileType text,mail,vimwiki,markdown,none
"\ inoremap <Tab> <C-R>=Tab_Or_Complete()<CR>
" }}}
" auto remove any extra whitespaces from the ends of lines
" autocmd BufWritePre *.py normal m`:%s/\s\+$//e``
" NOTICE autocmd group to avoid many times of autocmd when source file again.
"augroup testgroup
"autocmd! " used to clean augroup, because vim will combine many augroups.
"autocmd BufWrite * :echom "Foo"
"autocmd BufWrite * :echom "Bar"
"augroup END
" execute mode {{{
"function! ScriptExecute()
":!chmod u+x %
":w
"endfunction
"autocmd BufWritePost *.sh :call ScriptExecute()
"autocmd BufWritePost *.pl :call ScriptExecute()
" }}}
" auto remove any extra whitespaces from the ends of lines, to do it when
" autocmd BufWritePre *.py normal m`:%s/\s\+$//e``
" {{{ Visual OR :10,50TOhtml :TOhtml
" convert code to HTML used for website or paste
" let g:html_no_progress = 1 " disable progress.
let g:html_number_lines = 1 " 1: enable linenumber, 0: no linenumber. (default: unlet g:html_number_lines)
let g:html_use_css = 1 " generate CSS file.
let g:html_ignore_folding = 0 " does not ignore fold.
let g:html_dynamic_folds = 1 " mouse over will expand fold on html
let g:html_no_foldcolumn = 0 " show foldcolumn too for dynamic_folds.
let g:html_hover_unfold = 1 " unfold when mouse hover.
" let g:html_no_pre = 1 " do not use <pre>
let g:html_expand_tabs = 1
" let g:html_diff_one_file = 1 " disable diff when in diff mode.
" let g:html_whole_filler = 1
let g:html_use_encoding = "UTF-8"
" let g:html_use_xhtml = 1 " use XHTML instead of HTML.
" script:
" for f in *.[ch]; do gvim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" $f; done
" command :MyToHtml
" Now you can select a range of lines, type :MyToHtml and use the result to post your code
" to an HTML-enabled web forum.
function! MyToHtml(line1, line2)
" make sure to generate in the correct format
let old_css = 1
if exists('g:html_use_css')
let old_css = g:html_use_css
endif
let g:html_use_css = 0
" generate and delete unneeded lines
exec a:line1.','.a:line2.'TOhtml'
%g/<body/normal k$dgg
" convert body to a table
%s/<body\s*\(bgcolor="[^"]*"\)\s*text=\("[^"]*"\)\s*>/<table \1 cellPadding=0><tr><td><font color=\2>/
%s#</body>\(.\|\n\)*</html>#\='</font></td></tr></table>'#i
" restore old setting
let g:html_use_css = old_css
endfunction
command! -range=% MyToHtml :call MyToHtml(<line1>,<line2>)
" }}}
" Insert Time
" strftime("%Y-%m-%d")
" [ matchit ] {{{
" configure % to match more than just " single characters.
" You can match words and even regular expressions.
" :help matchit-install. help matchit.txt
" or :runtime macros/matchit.vim to load it.
" }}}
" }}}
" [[ Misc ]] {{{2
" [ abbreviations ] {{{
source ~/.vim/sources/abbreviations.vim
" }}}
au FileType vim,conf,muttrc,fvwm
\ setlocal foldmethod=marker
" FIXME write large file options, you can autocmd file... set ro " readonly mode
" [ large file ]
" for Awesome Mod4-d sdcv ( OR replace viw with "vaw" )
" }}}
" [[ vundle ]] {{{1
" [ vundle settings ] {{{2
" :BundleInstall! ( notice bang(!), to update all vundles ) :BundleClean
" [ advanced way ] {{{
" let root = '/tmp/vundle_bundles/'
" let src = 'http://github.com/gmarik/vundle.git'
" let src = '~/.vim/bundle/vundle/.git'
"if !isdirectory(expand(root).'/vundle')
"exec '!git clone '.src.' '.root.'/vundle'
"endif
"filetype off
"syntax on
"runtime macros/matchit.vim
"exec 'set rtp+='.root.'/vundle'
"call vundle#rc(root)
"Bundle "gmarik/vundle"
" }}}
" [ simple way ] {{{
syntax on
filetype off
set runtimepath+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
Bundle 'gmarik/vundle'
" }}}
" [ vundle examples ] {{{
" Example: github username with dashes.
" https://github.com/trapd00r/x11colors.vim.git
" Bundle 'trapd00r/x11colors.vim'
" Example: vim-scripts name
" Bundle 'minibufexplorerpp'
" Example: full uri.
" Bundle 'git://git.wincent.com/command-t.git'
" Bundle 'https://github.com/vim-scripts/vim-game-of-life'
" Example: short uri
" Bundle 'gh:gmarik/snipmate.vim.git'
" Bundle 'github:mattn/gist-vim.git'
" Example: local uri stuff
" Bundle '~/Dropbox/.gitrepos/utilz.vim.git'
" Bundle 'file://Dropbox/.gitrepos/utilz.vim.git'
" Example: with options
" Bundle 'rstacruz/sparkup.git', {'rtp': 'vim/'}
" Example: Camel case
" Bundle 'vim-scripts/RubySinatra'
" }}}
" }}}
" [ Program ] {{{
" [ Completion ] {{{
" TODO better combine SuperTab-continued. with AutoComplPop into one.
" [ auto popup ] {{{
" Bundle 'AutoComplPop'
" FIXME most places AutoComplPop can not complete like <Tab>
" {{{ Ctrl-y: yes. NOT ENTER !!! ( enter will jump to next line. )
let g:acp_enableAtStartup = 1 " disable run at startup for NeoCompleCache.vim
" let g:acp_mappingDriven = 0 " non-zero: triggered by key mappings instead of CursorMovedI event
" TODO add snipMate into g:acp_completeOption popup menu list.
let g:acp_completeOption = '.,w,b,t,i,u' " set to 'complete'.
"| | | | | | `-dictionary.
"| | | | | `-unloaded buffers.
"| | | | `-current and included files.
"| | | `-tag completion.
"| | `-other loaded buffers that are in buffer list.
"| `-buffers from other widnows.
"`-current buffer.
autocmd FileType mail,tex,markdown,org,tpp,cvs,none
\ let g:acp_completeOption = '.,kspell'
let g:acp_completeoptPreview = 0 " python etc show preview window when completion.
" let g:acp_behaviorKeywordCommand = "\<C-p>" " command for keyword completion.
let g:acp_behaviorKeywordLength = 2 " NOTE: if this value <= other length, will not complete.
let g:acp_behaviorFileLength = 1 " file
let g:acp_behaviorPythonOmniLength = 0 " Python. disable acp_behaviorKeywordLength if you want to enable this.
let g:acp_behaviorPerlOmniLength = 0 " Perl
let g:acp_behaviorXmlOmniLength = 0 " XML
let g:acp_behaviorHtmlOmniLength = 1 " HTML
let g:acp_behaviorCssOmniPropertyLength = 1 " CSS
let g:acp_behaviorCssOmniValueLength = 0 " CSS
" let g:acp_behavior = {} " for advanced users.
" let g:acp_behaviorSnipmateLength = 1 " =0 will ONLY popup complete snipMate.
" for snipMate.vim {{{ " add following to plugin/snipMate.vim
"fun! GetSnipsInCurrentScope()
"let snips = {}
"for scope in [bufnr('%')] + split(&ft, '\.') + ['_']
"call extend(snips, get(s:snippets, scope, {}), 'keep')
"call extend(snips, get(s:multi_snips, scope, {}), 'keep')
"endfor
"return snips
"endf
"There is the restriction on this auto-popup, that the word before cursor must
"consist only of uppercase characters.
"}}}
" }}}
Bundle 'Shougo/neocomplcache.git'
" {{{ <C-y>, <Tab>, <C-[n/p|j/k]>, <C-e>, <C-g>, <C-h>,
let g:acp_enableAtStartup = 0 " disable AutoComplPop
let g:neocomplcache_enable_at_startup = 1 " use neocomplcache
let g:neocomplcache_max_list = 20
let g:neocomplcache_max_keyword_width = 50
let g:neocomplcache_max_menu_width = 15
let g:neocomplcache_auto_completion_start_length = 2 " auto completion word length.
let g:neocomplcache_manual_completion_start_length = 2 " manual completion word length.
let g:neocomplcache_min_keyword_length = 3
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_enable_ignore_case = 1 " use ignorecase
let g:neocomplcache_enable_smart_case = 1 " use Smartcase
let g:neocomplcache_disable_auto_complete = 0 " if 1 to disable, can manual completion by <C-x><C-u>
let g:neocomplcache_enable_wildcard = 1 " enable wildcard like *
let g:neocomplcache_enable_cursor_hold_i = 1 " relative with updatetime event
let g:neocomplcache_enable_auto_select = 0 " =1 -> AutoComplPop like behavior.
let g:neocomplcache_enable_auto_delimiter = 0
let g:neocomplcache_cursor_hold_i_time = 100 " completion time
" ambiguous searching match
let g:neocomplcache_enable_camel_case_completion = 0 " disable camel case completion.
let g:neocomplcache_enable_underbar_completion = 0
let g:neocomplcache_enable_fuzzy_completion = 0
let g:neocomplcache_enable_caching_message = 1
let g:neocomplcache_caching_limit_file_size = 500000
let g:neocomplcache_disable_caching_file_path_pattern = ''
" let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
let g:neocomplcache_compare_function = 'neocomplcache#compare_rank'
let g:neocomplcache_enable_prefetch = 1
let g:neocomplcache_snippets_dir = '~/.vim/bundle/snipmate.vim/snippets/'
let g:neocomplcache_temporary_dir = '.neocon'
" Define keyword.
if !exists('g:neocomplcache_keyword_patterns')
let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
" let g:neocomplcache_next_keyword_patterns =
" let g:neocomplcache_omni_patterns =
" let g:neocomplcache_tags_filter_patterns
" let g:neocomplcache_same_filetype_lists
" Define dictionary.
let g:neocomplcache_dictionary_filetype_lists = {
\ 'default' : '',
\ 'vimshell' : $HOME.'/.vimshell_hist',
\ 'scheme' : $HOME.'/.gosh_completions'
\ }
" let g:neocomplcache_dictionary_patterns
" let g:neocomplcache_filetype_include_lists
" let g:neocomplcache_text_mode_filetypes
let g:neocomplcache_disable_select_mode_mappings = 1
let g:neocomplcache_ctags_program = "ctags"
" let g:neocomplcache_ctags_arguments_list
" let g:neocomplcache_include_paths
" let g:neocomplcache_include_exprs
" let g:neocomplcache_include_patterns
" let g:g:neocomplcache_include_functions
" let g:neocomplcache_include_max_processes = 20
" let g:neocomplcache_filename_include_exprs
" let g:neocomplcache_filename_include_exts
" let g:neocomplcache_member_prefix_patterns
" let g:neocomplcache_member_patterns
" let g:neocomplcache_delimiter_patterns
" let g:neocomplcache_omni_functions
" let g:neocomplcache_vim_completefuncs
" let g:neocomplcache_plugin_disable
" let g:neocomplcache_plugin_completion_length
" let g:neocomplcache_plugin_rank
" let g:neocomplcache_force_overwrite_completefunc
let g:neocomplcache_snippets_disable_runtime_snippets = 0 " =1 avoid conflicting snippets.
"autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
"autocmd FileType c setlocal omnifunc=ccomplete#Complete
"autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
"autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
"autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
"autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
"autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP
" Enable heavy omni completion.
if !exists('g:neocomplcache_omni_patterns')
let g:neocomplcache_omni_patterns = {}
endif
let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\h\w*\|\h\w*::'
let g:neocomplcache_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
let g:neocomplcache_omni_patterns.c = '\%(\.\|->\)\h\w*'
let g:neocomplcache_omni_patterns.cpp = '\h\w*\%(\.\|->\)\h\w*\|\h\w*::'
" For snippet_complete marker.
if has('conceal')
set conceallevel=2 concealcursor=i
endif
" Plugin key-mappings.
" <CR>: close popup and save indent.
inoremap <expr><CR> neocomplcache#close_popup() . "\<CR>"
" <TAB>: completion.
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
" <C-h>, <BS>: close popup and delete backword char.
inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><C-y> neocomplcache#close_popup()
inoremap <expr><C-e> neocomplcache#cancel_popup()
inoremap <expr><C-g> neocomplcache#undo_completion()
" FIXME use <C-n>, <C-p> or <C-j>, <C-k> to select from popup on HTML filetype.
inoremap <expr><C-j> pumvisible()? "\<C-n>" : "\<C-j>"
inoremap <expr><C-k> pumvisible()? "\<C-p>" : "\<C-k>"
inoremap <expr><C-x><C-f> neocomplcache#manual_filename_complete()
inoremap <expr><C-j> neocomplcache#manual_omni_complete()
" inoremap <expr><C-n> pumvisible() ? "\<C-n>" : neocomplcache#manual_keyword_complete()
inoremap <expr><C-l> neocomplcache#complete_common_string()
imap <expr><C-s> neocomplcache#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : "\<C-n>"
" inoremap <expr><Tab> neocomplcache#start_manual_complete()
" SuperTab like snippets behavior.
" imap <expr><TAB> neocomplcache#sources#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : pumvisible() ? "\<C-n>" : "\<TAB>"
" imap <C-k> <Plug>(neocomplcache_snippets_expand)
" smap <C-k> <Plug>(neocomplcache_snippets_expand)
" [ plugins ] {{{ autoload/neocomplcache/sources/
" }}}
" Require:
Bundle 'Shougo/vimproc.git'
" $ make -f make_gcc.mak (make proc.so)
" }}}
" Bundle 'neco-look'
" A neocomplcache plugin for `/usr/bin/look` for completing words in English.
" }}}
" [ Tab ] {{{
" Bundle 'SuperTab-continued.'
" {{{ <Tab>
" perform all your insert completion using the "Tab" key.
" let SuperTab decide which completion mode to use and should play with OmniCompletion
let g:SuperTabMappingTabLiteral = '<c-tab>' " insert true TAB
let g:SuperTabDefaultCompletionType = "context" "
let g:SuperTabContextDefaultCompletionType = "<c-x><c-o>"
" let g:SuperTabCompletionContexts = ['s:ContextText', 's:ContextDiscover']
" let g:SuperTabContextTextOmniPrecedence = ['&omnifunc', '&completefunc']
" let g:SuperTabContextDiscoverDiscovery =
" \ ["&completefunc:<c-x><c-u>", "&omnifunc:<c-x><c-o>"]
" let g:SuperTabMappingForword = '<c-space>' " replace default <Tab>
let g:SuperTabLongestEnhanced = 1 " when you have 'longest' in completeopt, enhanced longest.
let g:SuperTabLongestHighlight = 0 " highlight first one in popup menu let you hit <enter>.
let g:SuperTabCrMapping = 1 " <Enter> will not jump to next line.
" }}}
" }}}
" [ Omni ] {{{
" }}}
" }}}
" [ snippets ] {{{
Bundle 'msanders/snipmate.vim'
" {{{ snipMate -> Tab, C-j / C-k to complete. <c-r><tab> to pop available list.
let g:snips_author = 'stardiviner'
" { change default <Tab> complete into <C-J> in /after/plugin/snipMate.vim
"ino <c-j> <c-r>=TriggerSnippet()<cr>
"snor <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr>
" }
" }}}
" Bundle 'UltiSnips'
" {{{ Tab, Ctrl-h(remove forward one step),
" UltiSnips is an implementation that is developed with in the philosophy of TDD (Test driven development).
" g:UltiSnipsExpandTrigger <tab>
" g:UltiSnipsListSnippets <c-tab>
" g:UltiSnipsJumpForwardTrigger <c-j>
" g:UltiSnipsJumpBackwardTrigger <c-k>
" FIXME whether add this line under vundle.
" set runtimepath+=~/.vim/UltiSnips/
" }}}
" Bundle 'snippetsEmu'
" Bundle 'snippets.vim'
" manage snippets
" }}}
" [ tags ] {{{ F12
" Bundle 'taglist.vim'
" {{{ <F12>
" let Tlist_Ctags_Cmd='/usr/bin/ctags'
" let g:ctags_statusline = 1 " Display function name in status bar:
" let generate_tags = 1 " Automatically start script
" let Tlist_Show_One_File = 1 " only show tags about current file. not all files.
" let Tlist_Use_Horiz_Window = 0 " Displays taglist results in a vertical window:
" let Tlist_WinWidth = 20 " window width
" let Tlist_Inc_Winwidth = 0 " for console/terminal vim.
" let Tlist_Compact_Format = 1 " empty lines are used to separate different tag types.
" let Tlist_GainFocus_On_ToggleOpen = 1 " move cursor to taglist window when you open taglist window.
" let Tlist_File_Fold_Auto_Close = 1 " open tags tree for current buffer, close others.
" let Tlist_Process_File_Always = 1 " use these commands without opening the taglist window.
" let Tlist_Enable_Fold_Column = 0 " not display vim fold column in the taglist window.
" " let Tlist_Display_Prototype = 1 " display tag prototypees instead of the tag name.
" " let Tlist_Display_Tag_Scope = 0 " not display the scope of the tags next to the tag names
" " let Tlist_Use_Right_Window = 1 " window will appear on the right hand side.
" " let Tlist_Exit_OnlyWindow = 1 " only taglist window opend, and you want to close vim.
" nnoremap <F12> :TlistToggle<CR>
" " }}}
Bundle 'vim-scripts/Tagbar.git'
" {{{ <F12>
let g:tagbar_ctags_bin = '/usr/bin/ctags' " default empty | '/usr/bin/ctags'.
let g:tagbar_width = 20
let g:tagbar_compact = 1 " omitting blank lines.
let g:tagbar_left = 0
let g:tagbar_autoshowtag = 1 " auto open folds when tag in folds.
let g:tagbar_autofocus = 1 " autofocus to tagbar window when opened.
let g:tagbar_autoclose = 0 " auto close tagbar when you jump to tag
let g:tagbar_sort = 1 " sort according to their name.
let g:tagbar_expand = 0 " vim window will be expanded by the width of tagbar window if using GUI vim.
let g:tagbar_foldlevel = 99 " initial foldlevel for folds in tagbar.
let g:tagbar_usearrows = 0 " { Windows only }
" let g:tagbar_systemenc = "utf-8" " value of 'encoding'.
nnoremap <F12> :TagbarToggle<CR>
" autocmd VimEnter * nested TagbarOpen
" change tagbar color.
" highlight TagbarScope guifg=Green ctermfg=Green
" }}}
" Bundle 'indexer.tar.gz'
Bundle 'AutoTag'
Bundle 'xolox/vim-easytags.git'
" :UpdateTags [-R /path], :HighlightTags
" }}}
" [ template ] {{{
" }}}
" [ buffers ] {{{
" Bundle 'fholgado/minibufexpl.vim'
" {{{ buffers navigation, h/l, s/v splitv/h
" let g:miniBufExplMinSize = 1 " enable min height
let g:miniBufExplForceSyntaxEnable = 1 " enable syntax
let g:miniBufExplMapWindowNavVim = 1 " enable C-h/j/k/l to Navi windows.
let g:miniBufExplModSelTarget = 1 " if you use other explorer like taglist
" let g:miniBufExplCloseOnSelect = 1 " close after you selected one buffer.
" MiniBufExpl Color Examples, [ load before colorscheme ]
hi link MBEVisibleChanged Error
hi MBEVisibleNormal guifg=#5DC2D6 ctermfg=081 ctermbg=081
hi MBEVisibleActive guifg=#A6DB29 ctermfg=154 ctermbg=154
hi MBEVisibleChanged guifg=#F1266F ctermfg=203 ctermbg=203
hi MBEVisibleChangedActive guifg=#F1266F ctermfg=203 ctermbg=203
" }}}
Bundle 'LStinson/TagmaBufMgr.git'
" {{{ <F8> h/<Tab> , l/<S-Tab>. <Cr>/o S/s V/v Ctrl-[hjkl] :MgrToggle :help TagmaBufMgr
let g:TagmaBufMgrAutoDisplay = 1 " =0 to disable autodisplay.
let g:TagmaBufMgrBufferNumbers = 1 " buffer number
let g:TagmaBufMgrCloseSelect = 0 " close buffer when selected.
let g:TagmaBufMgrLastWindow = 1 " default =0.
let g:TagmaBufMgrLocation = 'T' " Top, Bottom, Left, Right, Float
let g:TagmaBufMgrMapCArrow = 1 " Ctrl-Arrow
let g:TagmaBufMgrMapChjkl = 1 " Ctrl-[hjkl] to nav buffers.
let g:TagmaBufMgrPrefix = '<Leader>tb' " prefix for all commands. empty to disable keymaps.
let g:TagmaBufMgrPopUp = 1 " Right-Click PopUp menu
let g:TagmaBufMgrWidth = 25 " when at the Left or Right.
nnoremap <silent> <F8> :MgrToggle<CR>
"nnoremap <C-h> <C-w>h
"nnoremap <C-j> <C-w>j
"nnoremap <C-k> <C-w>k
"nnoremap <C-l> <C-w>l
" }}}
" }}}
" [ Navigation ] {{{ F11
" Bundle 'Command-T'
Bundle 'The-NERD-tree'
" {{{ <F11> :NERDTree [dir|bookmark-name]
" let loaded_nerd_tree=1 " let vim can not load NERDTree.
let NERDChristmasTree = 1 " colourful. =0 for more vanilla looking tree.
let NERDTreeAutoCenter = 1 " default = 1.
let NERDTreeAutoCenterThreshold = 3 " default = 3.
let NERDTreeCaseSensitiveSort = 0 " default = 0.
let NERDTreeChDirMode = 1 " 0/1/2
let NERDTreeHighlightCursorline = 1 " highlight cursorline.
let NERDTreeHijackNetrw = 1 " for :edit <dir> open 'secondary' NERD tree.
let NERDTreeIgnore = ['\~$', '\.log', '\.pyo', '\.pyc', '\.swp', '\.bak', '\.git', '\.hg']
let NERDTreeBookmarksFile="$HOME/.vim/NERDTreeBookmarks" " where Bookmarks are saved.
let NERDTreeQuitOnOpen = 0 " does not close after open. default=0.
let NERDTreeShowBookmarks = 1 " show Bookmarks when open NERD-tree.
let NERDTreeShowHidden = 0 " does not show hidden files.
let NERDTreeShowLineNumbers = 0 " do not show line numbers, default=0
let NERDTreeWinPos = "left" " NERD-tree window position.
let NERDTreeWinSize = 20 " window size, default=31.
nnoremap <silent> <F11> :NERDTreeToggle<CR>
" }}}
" Bundle 'project.tar.gz'
" }}}
" [ Compiler ] {{{
" set different make and compiler for different FileType
" set makeprg=
" nnoremap <F10> :make
Bundle 'SingleCompile'
" {{{ F9 compile F10 compile&run, :SCChooseCompiler, :SCViewResult, :SCCompileRunAsync
" nnoremap <F9> :SCCompile<cr>
nnoremap <F10> :SCCompileRun<cr>
let g:SingleCompile_alwayscompile = 1 " =0 to disable it.
let g:SingleCompile_asyncrunmode = 'auto' " mode: auto, none, python,
let g:SingleCompile_autowrite = 1 " save file when compile.
let g:SingleCompile_usequickfix = 1 " use QuickFix.
let g:SingleCompile_menumode = 1 " 0: don't show menus. 1: sub menu, 2: menu bar.
" let g:SingleCompile_resultheight = a_number
let g:SingleCompile_showquickfixiferror = 1 " auto show error.
" let g:SingleCompile_showresultafterrun = 1 " vim error when no error return.
let g:SingleCompile_usedialog = 1 " show dialog
call SingleCompile#ChooseCompiler('python', 'python3')
" }}}
" }}}
" [ debug ] {{{
" Bundle 'AndrewRadev/linediff.vim.git'
" :Linediff
" nnoremap <silent> <Leader>ld :Linediff<CR>
" }}}
" [ test ] {{{
" Bundle 'runVimTests'
" }}}
" [ VCS ] {{{
" [ Git ] {{{
Bundle 'fugitive.vim'
" :Git [args] :Gedit HEAD <CR> :Gdiff :Gread :Gstatus :Gcommit
Bundle 'tpope/vim-git'
" syntax, indent, filetype plugin for git, gitcommit, gitconfig, gitrebase, and gitsendemail.
" Bundle 'Gist.vim'
" :Gist, :'<,'>Gist, :Gist-p, :Gits-a, :Gits-m, ... for gist (http://gist.github.com)
let g:gist_clip_command = 'xclip -selection clipboard' " Linux
let g:gist_clip_command = 'pbcopy' " Mac
let g:gist_detect_filetype = 1 " detect file type from filename
" let g:gist_browser_command = 'w3m %URL%' " change browser
let g:gist_browser_command = 'opera %URL% &' " change browser
let g:gist_open_browser_after_post = 1 " open browser after post
" }}}
" Bundle 'vcscommand.vim'
" }}}
" [ projects ] {{{
Bundle 'TaskList.vim'
" {{{ \t
let g:tlWindowPosition = 1 " 1: bottom, 0: top.
let g:tlRememberPosition = 1
" let g:tlTokenList = ["FIXME", "TODO", "XXX", "FUCK"]
" }}}
" }}}
" [ search ] {{{
" Bundle 'kien/ctrlp.vim'
" {{{ :CtrlP to full path fuzzy(regex grep) file buffer and MRU. :help ctrlp.txt
" let g:ctrl_map = '<c-p>' " for normal mode press Ctrl-P.
" let g:loaded_ctrlp = 1 " disable plug completely.
" let g:ctrlp_by_filename = 0 " set =1 will search by filename (not full path), default.
let g:ctrlp_regexp_search = 1 " =1 to set full regexp search as default mode.
let g:ctrlp_persistent_input = 2 " remember the last input string and position of selection in window.
" let g:ctrlp_match_window_reversed = 1 " reverse matching window.
let g:ctrlp_split_window = 2 " how the file is to be opened.
let g:ctrlp_ignore_space = 1 " =1 to ignore whitespaces in filenames and directory.
" let g:ctrlp_working_path_mode = 1 " parent directory of current file.
" let g:ctrlp_root_markers = [''] "
" let g:ctrlp_max_height = 10 " max height.
let g:ctrlp_use_caching = 1 " =0 to disable pre-session caching.
" Note: you can quickly purge the cache by pressing <F5>.
let g:ctrlp_clear_cache_on_exit = 0 " =0 to enable cross-sessions caching.
" let g:ctrlp_cache_dir = $HOME " set the parent dir for '.ctrlp_cache' dir.
" let g:ctrlp_prompt_mappings = {
let g:ctrlp_mru_files = 1 " =0 to disable Most Recently Used files.
" let g:ctrlp_mruf_max = 50
" let g:ctrlp_mruf_exclude = '/tmp/.*\|/temp/.*' " MacOSX/Linux
" let g:ctrlp_mruf_include = '\.py$\|\.rb$' " let MRU only remember some files.
" let g:ctrlp_dotfiles = 1 " =0 to disable search dotfiles and dotfirs.
" set wildignore+=*/.git/*,*/.hg/*,*/.svn/* " Linux/MacOSX
" let g:ctrlp_highlight_match = [1, 'Function'] " highlight of matched patterns and group.
" let g:ctrlp_max_files = 20000 " max number of files to scan. =0 for no limit.
" let g:ctrlp_max_depth = 40 " maximum depth of a directory tree to recurse into.
let g:ctrlp_live_update = 1
" let g:ctrlp_user_command = ''
let g:ctrlp_open_new_file = 3
" let g:ctrlp_max_history = &history " from set history=50
" }}}
" Bundle 'grep.vim'
" Bundle 'EasyGrep'
" }}}
" [ comment ] {{{
Bundle 'The-NERD-Commenter'
" \cc: Comment, \cu: Uncomment,
" \cn: Nested, \c<space>: Toggle, \cm: Minimal, \ci: Invert, \cs: Sexy,
" \c$: EOL, \cy: "y", \cA: "A", \cI: "I", \ca: Alternative delimiters,
" let loaded_nerd_comments=1 " turn off this script.
" }}}
" [ doc ] {{{
" An extensible help system ( K )
" Bundle 'Manuals'
" let g:vxlib_manuals_directory="~/.vim/manual"
" }}}
" [ syntax ] {{{
" [ check syntax ] {{{
" TODO
" Bundle 'tomtom/checksyntax_vim.git'
" check syntax for error like lua, php, python, tex, latex etc.
" }}}
" }}}
" [ conceal ] {{{
" TODO
" Bundle 'MnO2/vim-ocaml-conceal.git'
" }}}
" [ Python ] {{{
" au FileType python setlocal tabstop=4 expandtab shiftwidth=4 softtabstop=4
" FIXME use which one python syntax file in ~/.vim/syntax/
" [ debug ] {{{
" Bundle 'pyflakes.vim'
" let g:pyflakes_use_quickfix = 1 " default=1.
" Bundle 'jbking/vim-pep8.git'
" Bundle 'nvie/vim-pyunit.git'
" {{{ pyflakes & pylint -- check when saving file.
"function! Pyflakes()
"let tmpfile = tempname()
"execute "w" tmpfile
"execute "set makeprg=(pyflakes\\ " . tmpfile . "\\\\\\|sed\\ s@" . tmpfile ."@%@)"
"make
"cw
"endfunction
"autocmd BufWrite *.{py} :call Pyflakes()
"function! Pylint()
"setlocal makeprg=(echo\ '[%]';\ pylint\ %)
"setlocal efm=%+P[%f],%t:\ %#%l:%m
"silent make
"cwindow
"endfunction
"autocmd BufWrite *.{py} :call Pylint()
" }}}
" }}}
" [ IDE ] {{{
Bundle 'klen/python-mode.git'
" {{{ K: doc <C-space>: Rope autocomp <Leader>r: run <Leader>b: set/unset breakpoint.
" pylint, rope, pydoc :help Python-mode-contents
" Show documentation
let g:pymode_doc = 1 " Load show documentation plugin
let g:pymode_doc_key = 'K' " Key for show python documentation
let g:pydoc = 'pydoc' " Executable command for documentation search
" Run python code
let g:pymode_run = 1 " Load run code plugin
let g:pymode_run_key = '<Leader>r' " Key for run python code
" Pylint checking
let g:pymode_lint = 1 " Load pylint code plugin
let g:pymode_lint_checker = "pylint" " pylint or pyflakes
let g:pymode_lint_config = "$HOME/.pylintrc" " Pylint configuration file
let g:pymode_lint_write = 1 " Check code every save
let g:pymode_lint_cwindow = 1 " Auto open cwindow if errors be finded
let g:pymode_lint_jump = 1 " Auto jump on first error
let g:pymode_lint_signs = 1 " Place error signs
let g:pymode_lint_minheight = 3 " Minimal height of pylint error window
let g:pymode_lint_maxheight = 6 " Maximal height of pylint error window
" Rope refactoring library
let g:pymode_rope = 1 " Load rope plugin
let g:pymode_rope_auto_project = 1 " Auto create and open ropeproject
let g:pymode_rope_enable_autoimport = 1 " Enable autoimport
let g:pymode_rope_autoimport_generate = 1 " Auto generate global cache
let g:pymode_rope_autoimport_underlineds = 0
let g:pymode_rope_codeassist_maxfixes = 10
let g:pymode_rope_sorted_completions = 1
let g:pymode_rope_extended_complete = 1
let g:pymode_rope_autoimport_modules = ["os","shutil","datetime"]
let g:pymode_rope_confirm_saving = 1
let g:pymode_rope_global_prefix = "<C-x>p"
let g:pymode_rope_local_prefix = "<C-c>r"
let g:pymode_rope_vim_completion = 1
let g:pymode_rope_guess_project = 0 " scan project will slow down completion speed.
let g:pymode_rope_goto_def_newwin = 1
let g:pymode_rope_always_show_complete_menu = 1 " default=0
" Other stuff
let g:pymode_breakpoint = 1 " Load breakpoints plugin
let g:pymode_breakpoint_key = '<Leader>b' " Key for set/unset breakpoint
let g:pymode_utils_whitespaces = 1 " Autoremove unused whitespaces
let g:pymode_virtualenv = 1 " Auto fix vim python paths if virtualenv enabled
let g:pymode_options_indent = 1 " Set default pymode python indent options
let g:pymode_options_fold = 1 " Set default pymode python fold options
let g:pymode_options_other = 1 " Set default pymode python other options
" utils
let g:pymode_utils = 1 " utils script
let g:pymode_utils_whitespaces = 1 " autoremove unused whitespaces
" virtualenv
let g:pymode_virtualenv = 1 " virtualenv support
" syntax
let g:pymode_syntax = 1 " use custom syntax highlighting
let g:pymode_syntax_builtin_objs = 0
let g:pymode_syntax_builtin_funcs = 0
" indent
let g:pymode_options_indent = 1
" fold
let g:pymode_options_fold = 1
" others
let g:pymode_options_other = 1
" }}}
" }}}
" [ completion ] {{{
" Bundle 'pythoncomplete'
" omni-completion script shipped with vim 7.
" TODO if SuperTab or AutoComplPop can work Completion too. remove this.
" }}}
" [ indent & fold ] {{{ TODO whether remove this, because setted in python-mode.vim
" Bundle 'indentpython.vim--nianyang'
" This indentation script for python tries to match more closely what is suggested in PEP 8.
" autocmd FileType python set foldmethod=indent
" Bundle 'tmhedberg/SimpylFold.git'
" correct fold for python class/function indent.
" }}}
" [ help ] {{{
" Bundle 'xolox/vim-pyref.git'
" {{{ python and lib refence, django document, "F1" only work in python buffer.
" let g:pyref_mapping = 'K'
"let g:pyref_python = '/usr/share/doc/python2.7/html/'
"let g:pyref_django = '/usr/share/doc/python-django-doc/html/'
" }}}
" }}}
" Bundle 'python.vim'
" {{{ select function/class/block, comment selection, shift a block. jump to next same indent. etc.
" put file to $VIMFILES/ftplugin/python
" A set of menus/shortcuts to work with Python files
"let g:py_select_leading_comments=1
"let g:py_select_trailing_comments=1
" Shortcuts:
" ]t -- Jump to beginning of block
" ]e -- Jump to end of block
" ]v -- Select (Visual Line Mode) block
" ]< -- Shift block to left
" ]> -- Shift block to right
" ]# -- Comment selection
" ]u -- Uncomment selection
" ]c -- Select current/previous class
" ]d -- Select current/previous function
" ]<up> -- Jump to previous line with the same/lower indentation
" ]<down> -- Jump to next line with the same/lower indentation
" }}}
" }}}
" [ shell ] {{{
" Bundle 'bash-support.vim'
" }}}
" [ Web ] {{{
" Bundle 'ZenCoding.vim'
" Bundle 'othree/html5.vim'
" html5 OmniCompletion and syntax.
" ~/.vim/syntax/css3.vim
autocmd BufRead,BufNewFile *.css set ft=css syntax=css3
autocmd FileType html runtime ~/.vim/ftplugin/html.vim " match HTML tag
autocmd FileType xhtml,xml runtime ~/.vim/ftplugin/html_autoclosetag.vim " auto close html tag.
" FIXME can not work with Bundle 'auto-pairs.vim'
" }}}
" [ C & C++ Dev Env ] {{{
autocmd FileType c,cpp setlocal cindent " use correct indent for C.
au BufNewFile,BufRead,BufEnter *.cpp,*.hpp set omnifunc=omni#cpp#complete#Main
" Bundle 'c'
" }}}
" [ Perl ] {{{
" Bundle 'perl-support.vim'
" Bundle 'c9s/perlomni.vim'
" }}}
" [ Lua ] {{{
" Bundle 'xolox/vim-lua-ftplugin.git'
" Bundle 'xolox/vim-lua-inspect.git'
" :help luainspect.txt
" }}}
" [ Dart ] {{{
" Bundle 'bartekd/vim-dart.git'
" }}}
" [ Lisp ] {{{
" Bundle 'mattn/lisper-vim.git'
" }}}
" [ SQL ] {{{ :h sql.txt, :h sql-completion.txt, :h sql-dialects, :h omni-sql-completion.
Bundle 'dbext.vim'
" TODO
" {{{ :'<,'>DBExecSQL OR \se, :h dbext-tutorial, :h dbext.txt
" Object completion: i_Ctrl-X_Ctrl-K, Result buffer, History, Mappings, Parsing Statements,
" Modeline support, Viewing List of Objects, FileType support(python, lang etc),
" Provides database access to many dbms (Oracle, Sybase, Microsoft, MySQL, DBI, ...)
" connection profile {{{
" }}}
" }}}
" }}}
" }}}
" [ tools ] {{{
" [ bookmark & mark ] {{{
" Bundle 'Bookmarking'
" F3 toggle bookmark, F4 next bookmark, "
"nnoremap <silent> <F3> :ToggleBookmark<CR>
"nnoremap <silent> <F4> :NextBookmark<CR>
"nnoremap <silent> <F4> :PreviousBookmark<CR>
" Bundle 'ShowMarks7'
" XXX works good for Gvim
" this is a bug fixed from ShowMarks.vim
" Bundle 'ShowMarks'
" Bundle 'showmarks--Politz'
" display marks before line number column. XXX works good for vim(terminal)
" Bundle 'Visual-Mark'
" mm, F2 highlight marked line.
" Bundle 'Mark'
" Bundle 'SaveSigns'
" }}}
" [ markup ] {{{
Bundle 'greyblake/vim-preview.git'
" [ :Preview ] preview markup files like *.markdown *.rdoc *.textile *.html
" :help preview.txt
let g:PreviewBrowsers='firefox,chromium-browser'
" FIXME preview can not load style.css file automatic.
let g:PreviewCSSPath='/home/chris/Git/website/style.css'
" [ Tex ] {{{
Bundle 'AutomaticLaTexPlugin'
" {{{ <Tab>, :SyncTex :MakeLatex, Debug, :LatexTags :help atp ...
" }}}
" Bundle 'LaTeX-Suite-aka-Vim-LaTeX'
Bundle 'LaTeX-Help'
" press K to get help :help \kill or :help kill
autocmd FileType tex nnoremap <buffer> K :exec "help" expand("<cword>")<CR>
" This is LaTeX Help info files `translated' as vim help file'
" Bundle 'latextags'
" generate tags for vim for LaTex
" [ compile ]
" :compiler tex
" }}}
" Bundle 'vim-pandoc/vim-pandoc.git'
" {{{ :!markdown2pdf %
" convert markdown to pdf, html, latex, epub, context, odt, rst, docbook, org-mode,
" If you use snipMate, support some snipmate, in snippets/pandoc.snippets
" setlocal linebreak
" setlocal breakat-=*
" setlocal display=lastline
" setlocal nojoinspaces " for Shift-J to join next line to current line.
" setlocal commentstring=<!--%s-->
" setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
" setlocal formatoptions=1
" let g:pandoc_auto_format = 1
" let g:pandoc_no_folding = 1 " disable section folding.
" let g:pandoc_use_bibtool = 1 " for snipMate tab.
" let g:pandoc_bibfiles = ['/the/path/to/your/bibtex/file.bib']
" }}}
" }}}
" [ wiki & note ] {{{
Bundle 'vim-scripts/vimwiki.git'
" {{{ \ww: open vimwiki, \w\w: open today diary, \wi: open diary index.
" TODO use Txtfmt, and utl.vim to enhance vimwiki.
let wiki = {}
let wiki.path = '~/.vim/vimwiki/'
let wiki.path_html = '~/.vim/vimwiki-wiki/output/'
let wiki.html_header = '~/.vim/vimwiki-wiki/header.tpl'
" let wiki.html_footer = '~/.vim/vimwiki/template/footer.tpl'
let wiki.nested_syntaxes = {'py': 'python', 'rb': 'ruby', 'pl': 'perl', 'c': 'c',
\ 'html': 'html', 'js': 'javascript', 'css': 'css', 'xml': 'xml',
\ 'sh': 'sh', 'zsh': 'zsh',
\ 'sed': 'sed', 'awk': 'awk', 'lex': 'lex',
\ 'markdown': 'markdown', 'tex': 'tex',
\ 'man': 'man', 'help': 'help', 'vim': 'vim', 'conf': 'config'}
let wiki.auto_export = 0 " auto convert into HTML when saving.
" {{{ vimwiki-2
" let wiki_2 = {}
" used for 2\ww
" ln -s vimwiki_public/ /var/www/wiki/
"let wiki_2.path = '~/.vim/vimwiki-blog/'
"let wiki_2.path_html = '~/.vim/vimwiki_blog/output/'
"let wiki_2.html_header = '~/.vim/vimwiki-blog/header.tpl'
" let wiki_2.html_footer = '~/.vim/vimwiki-blog/footer.tpl'
" let wiki_2.auto_export = 1
" let wiki_2.ext = '.pub' " default is .wiki
" }}}
let g:vimwiki_list = [wiki] " use wiki2 ??? [wiki, wiki_2]
" -----------------------------------------------------
" let g:vimwiki_list = [{'path': '~/.vim/vimwiki/',
" \ 'path_html': '~/.vim/vimwiki-wiki/output/',
" \ 'auto_export': 1,
" \ 'index': 'main',
" \ 'css_name': 'css/style.css',
" \ 'syntax': 'media',
" \ 'ext': '.wiki',
" \ 'template_path': '~/.vim/vimwiki-wiki/template/' " apply template with adding %template person
" \ 'template_default': 'def_template',
" \ 'template_ext': '.html'},
" \ {'path': '~/.vim/vimwiki2/',
" }]
" TODO http://www.fanhe.org/blog/2011/01/push-vimwiki-to-github/ push vimwiki to github, bind a domain.
" let g:vimwiki_dir_link = 'index' " to directory. OR = '' -> use netrw.
let g:vimwiki_camel_case = 0 " if you do not want WikiWord to be a link. prefer use [[]].
let g:vimwiki_use_mouse=0 " disable mouse.
let g:vimwiki_hl_headers = 1 " use VimwikiHeader1-6
let g:vimwiki_folding = 1 " disable folding. speed up file.
let g:vimwiki_fold_lists = 1
let g:vimwiki_fold_trailing_empty_lines = 0 " Fold only one empty line.
let g:vimwiki_browsers = ['/usr/bin/luakit']
let g:vimwiki_table_auto_fmt = 1 " auto format table.
let g:vimwiki_html_header_numbering = 1
let g:vimwiki_html_header_numbering_sym = '.'
let g:vimwiki_hl_cb_checked = 1 " Checked list items can be highlighted with a color.
let g:vimwiki_auto_checkbox = 1 " if no, creat checkbox when toggle list item.
" let g:vimwiki_listsyms = '.oOX' " todo list: check/uncheck.
let g:vimwiki_stripsym = '_' " filename can not use /*?<>:
" let g:vimwiki_badsyms = ' ' " filename treat space as bad.
let g:vimwiki_file_exts = 'pdf,txt,doc,xls,php,zip,rar,7z,html,gz,tar.gz,tar.bz2,jpg,png,py,sh'
" let g:vimwiki_valid_html_tags = 'b,i,s,u,sub,sup,kbd,br,hr'
" let g:vimwiki_user_htmls =
let g:vimwiki_list_ignore_newline = 1 " ignore newlines in list items.
let g:vimwiki_use_calendar = 1
Bundle 'vim-scripts/calendar.vim--Matsumoto.git'
let g:calendar_focus_today = 1
let g:calendar_mark = 'right'
let g:calendar_navi = 'bottom' " top, bottom, both
let g:calendar_datetime = 'statusline' " show current date and time. OR 'statusline' , ''
" [ extra ] {{{
autocmd FileType vimwiki source ~/.vim/sources/vimwiki-abbr.vim
" make it into command line by pressing <leader>cl
autocmd FileType vimwiki nnoremap <buffer> <leader>cl :normal! I`<Esc>A`<Esc>
" use <lt> to replace < because of this ` so need to escape in other way.
" autocmd FileType vimwiki nnoremap <buffer> <leader>cl :exec "normal! I`\<lt>Esc>A`\<lt>Esc>"<CR>
" make word under cursor into color with \\
autocmd FileType vimwiki nnoremap <buffer> <Bslash><Bslash> :normal! viwo<esc><esc>i~~<Esc>ea~~<Esc>
" bold word
autocmd FileType vimwiki nnoremap <buffer> <Leader>bo llbi*<esc>ea*<esc>
" }}}
" }}}
" Bundle 'fmoralesc/vim-pad.git'
" {{{ :help vim-pad :ListPads :OpenPad
"let g:pad_dir = "~/notes/"
"let g:pad_format = "markdown"
" }}}
" Bundle 'xolox/vim-notes.git'
" :help notes.txt
" Bundle 'sjl/vim-orgmode.git'
" {{{ Text outlining and task management for Vim based on Emacs' Org-Mode. http://orgmode.org/
let g:org_heading_highlight_colors = ['Title', 'Constant', 'Identifier',
\ 'Statement', 'PreProc', 'Type', 'Special']
let g:org_heading_highlight_levels = len(g:org_heading_highlight_colors)
let g:org_heading_shade_leading_stars = 1
" let g:org_todo_keywords = ['TODO', '|', 'DONE']
" let g:org_todo_keyword_faces = []
let g:org_todo_keywords = [['TODO', 'WAITING', '|', 'DONE'],
\ ['|', 'CANCELED']]
let g:org_todo_keyword_faces = [['WAITING', 'cyan'], ['CANCELED',
\ [':foreground red', ':background black', ':weight bold',
\ ':slant italic', ':decoration underline']]]
" Required: (utl.vim), speeddating.vim
" {{{ Univeral Text Linking
" Bundle 'speeddating.vim'
" <C-A> <C-X>
" Bundle 'utl.vim'
" Univeral Text Linking - Execute URLs, footnotes, open emails, organize ideas
let g:utl_opt_verbose=0 " does not verbose mode.
" Bundle 'repeat.vim'
" Bundle 'narrow_region'
" }}}
" }}}
" }}}
" [ write ] {{{
" Bundle 'mikewest/vimroom.git'
" {{{ <F6> <Leader>V :VimroomToggle
" http://projects.mikewest.org/vimroom/
nnoremap <silent> <F6> :VimroomToggle<CR>
" let g:vimroom_background="black"
let g:vimroom_min_sidebar_width=5
let g:vimroom_width=80 " width of your workspace.
let g:vimroom_sidebar_height=2 " if you do not want vertical padding.
" let g:vimroom_navigational_keys=1 " j,k to navigation, 1= on.
" let g:vimroom_scrolloff=999 " cursor in center of screen.
" }}}
" }}}
" [ blog ] {{{
" Bundle 'Vim-Blog'
" Bundle 'VimRepress'
" {{{ :BlogNew [post|page] :BlogSave [draft|publish] :BlogUpload <file> :BlogCode [python]
" if you need Markdown support, run `$ sudo apt-get install python-markdown`
let VIMPRESS = [{'username':'stardiviner',
\ 'password':'chrisM.sprite324',
\ 'blog_url':'http://stardiviner.wordpress.com/'
\},
\{'username':'numbchild',
\ 'password':'numbchild324',
\ 'blog_url':'http://numbchild.wordpress.com/'
\}]
" }}}
" Bundle 'TwitVim'
" {{{ vim twitter client.
let twitvim_login = "numbchild:numbchild324"
let twitvim_proxy = "127.0.0.1:4444"
let twitvim_api_root = "https://api.twitter.com/1" " use ssl.
" let g:twitvim_enable_python = 1 " used for windows to replace curl.
" }}}
" }}}
" [ Color ] {{{
Bundle 'colorizer'
" :ColorHighlight
" display #rgb or #rrggbb color
" Bundle 'trapd00r/x11colors.vim'
" display X11 color name with color
" Bundle 'css_color.vim'
" display css colors
" Bundle 'ColorV'
" :ColorVlist | choose and display color
" Bundle 'colorsel.vim'
" visual color selector
" Bundle 'godlygeek/csapprox.git'
" This plugin makes GVim-only colorschemes Just Work in terminal Vim.
" :help csapprox.vim
" Bundle 'gui2term.py'
" $ python3 gui2term.py sourcefile newfile
" convert GUI colorscheme to terminal colorscheme.
" Bundle 'ScrollColors'
" :SCROLLCOLOR <nagtive with arrow>
" -------- colorschemes ------------
" Bundle 'Sorcerer'
" }}}
" [ mail ] {{{
" Bundle 'chrisbra/CheckAttach.git'
" {{{ Attach file: <Tab> to complete. :AttachFile ~/pictures/*.jpg.
" check attactment for mutt in present mail content keyword.
" need to set muttrc *edit_header = yes*.
let g:attach_check_keywords = ',attachment,attach,attached'
" let g:checkattach_filebrowser='ranger'
let g:checkattach_filebrowser = 'ranger --choosefiles=%s' " choose many files.
" }}}
" }}}
" [ outline ] {{{
" Bundle 'VOoM'
" {{{ Two-pane outliner and related utility.
" to test code snippet one one node. like "python".
" let g:voom_tree_width = 30
" let g:voom_log_height = 10
" }}}
" Bundle 'TVO--The-Vim-Outliner'
" Bundle 'VimOutliner'
" Bundle 'DotOutlineTree'
" :help ~/.vim/bundle/DotOutlineTree/plugin/dot.vim
" Bundle 'VimOutliner'
" Bundle 'vimoutliner/vimoutliner.git'
" :help vo :help vo_cheatsheet
" Bundle 'vimoutliner-colorscheme-fix'
" }}}
" [ format ] {{{
" Bundle 'Tabular'
" let g:taburl_loaded = 1 " avoid loaded.
" Bundle 'DrawIt'
" }}}
" [ session ] {{{
" Bundle 'xolox/vim-session.git'
" {{{ :SaveSession [name], :OpenSession [name], :CloseSession, :DeleteSession, :ViewSession.
" in ~/.vim/sessions/
" "$ vim --servername session-plugin"
" let g:loaded_session = 1 " avoid loading session.vim plugin.
" If you only want to save the current tab page:
" set sessionoptions-=tabpages
" If you don't want help windows to be restored:
" set sessionoptions-=help
let g:session_directory="~/.vim/sessions/"
let g:session_autoload='prompt' " default='prompt', / 'yes' / 'no'.
let g:session_autosave='prompt' " default='prompt', / 'yes' / 'no'.
let g:session_default_to_last=0 " if =1, plugin will not use default session, instead of use last session.
" }}}
" }}}
" [ statusline ] {{{
" Bundle 'millermedeiros/vim-statline.git'
" more info statusline
" Bundle 'avakarev/vim-watchdog.git'
" show u as much good info in statusline .
" }}}
" [ command line ] {{{
Bundle 'CmdlineComplete'
" complete for (:/etc), <C-n>/<C-p>
" }}}
" [ paste ] {{{
" Bundle 'tpope/vim-pastie.git'
" :1,10Pastie :%Pastie (paste current file), :Pastie a (paste register a)
" :Pastie @ (paste selection/clipboard) :0Pastie (load newest paste)
" :Pastie to paste buffer,line,file,selection,registers etc.
" ( the parser used is derived from the vim filetype )
" :help pastie.txt
" publish code
Bundle 'xolox/vim-publish.git'
" TODO how to publish code ?
" Bundle 'publish.vim' " use 2html.vim
" }}}
" [ undo history ] {{{
" Bundle 'Gundo'
" {{{ F8
" let g:gundo_width = 60
let g:gundo_preview_height = 15
let g:gundo_right = 1
nnoremap <silent> <F7> :GundoToggle<CR>
" }}}
" }}}
" [ speech ] {{{
" Bundle 'Speech'
" use Google API to record and speech.
" }}}
" [ encrypt ] {{{
" Bundle 'gnupg.vim'
" }}}
" [ InputMehod ] {{{
" Bundle 'VimIM'
" Vim chinese InputMehod
" }}}
" [ vim FAQ ] {{{
" Bundle 'vim_faq'
" {{{ :help vim_faq.txt
" }}}
" Bundle 'vim_faq.vim'
" }}}
" [ vim colorscheme ] {{{
" Bundle 'djjcast/mirodark.git'
" }}}
" [ vim tools ] {{{
" Bundle 'xolox/vim-reload.git'
" :ReloadScript /path/to/file.vim to reload script.
let g:reload_on_write = 0 " avoid slow vim down.
" }}}
" [ shell ] {{{
" Bundle 'xolox/vim-shell.git'
" }}}
" [ misc ] {{{
" [ text-object ] {{{
Bundle 'jiangmiao/auto-pairs.git'
let g:AutoPairs={'(':')', '[':']', '{':'}',"'":"'",'"':'"','<':'>'}
let g:AutoPairsShortcutToggle='<M-p>'
let g:AutoPairsShortcutFastWrap='<M-e>'
let g:AutoPairsShortcuts=1
Bundle 'tpope/vim-surround.git'
" {{{ cs, ds, ys[(text object)|iw|W|t(<p>)], (Visual)S
" cs"', cs'<q>, cst", ds", ysiw], yss(, ds{ds), Visual(V): S<p class="important">
" :help surround.txt
" }}}
" Bundle 'CountJump'
" Bundle 'camelcasemotion'
" Bundle 'Txtfmt-The-Vim-Highlighter'
" learn ":help txtfmt"
" try Align.vim
" }}}
" [ key map ]
" TODO install this. Bundle is not available yet.
" Bundle 'mappingmanager'
" http://www.vim.org/scripts/script.php?script_id=3768#1.0
" }}}
" }}}
" [ vundle end ] {{{
filetype plugin on
filetype plugin indent on " required!
set wildignore+=doc,.git " should not break helptags and clone.
" }}}
" }}}
" [[ pathogen ]] {{{2
" [ add bundle ] {{{
" ~/.vim/autoload/pathogen.vim
" ~/.vim/bundle
"
" cd ~/.vim/bundle
" git clone git://github.com/tpope/vim-fugitive.git
" :helptags
" }}}
"call pathogen#infect('stuff')
"call pathogen#infect()
"syntax on
"filetype plugin indent on
" }}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment