Last active
November 7, 2022 21:38
-
-
Save bartman/913e0461d14a807380ad to your computer and use it in GitHub Desktop.
vimrc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" .vimrc of Bart Trojanowski | |
" | |
" You can get a more upto date version from | |
" http://www.jukie.net/~bart/conf/vimrc | |
" | |
" Most files sourced by this vimrc are located here: | |
" http://www.jukie.net/~bart/conf/vim/ | |
" force VIMRUNTIME to a working directory, if needed | |
source ~/.vim/find_runtime.vim | |
" --------------------------------------------------------------------------- | |
" first the disabled features due to security concerns | |
set modelines=0 " no modelines [http://www.guninski.com/vim1.html] | |
"let g:secure_modelines_verbose=1 " securemodelines vimscript | |
" --------------------------------------------------------------------------- | |
" configure other scripts | |
let c_no_curly_error = 1 | |
" --------------------------------------------------------------------------- | |
" operational settings | |
set nocompatible " vim defaults, not vi! | |
syntax on " syntax on | |
set hidden " allow editing multiple unsaved buffers | |
set more " the 'more' prompt | |
filetype off " now take care off by vundle | |
set autoread " watch for file changes by other programs | |
set visualbell " visual beep | |
set backup " produce *~ backup files | |
set backupext=~ " add ~ to the end of backup files | |
":set patchmode=~ " only produce *~ if not there | |
set noautowrite " don't automatically write on :next, etc | |
let maplocalleader=',' " all my macros start with , | |
set wildmenu " : menu has tab completion, etc | |
set wildmode=longest,list:longest,list:full | |
set wildignore+=*.so,*.so.*,*.o,*.ko,*.a,.*,*.swp,*.zip,*.mod.c,*~,*.dep,*.d | |
set scrolloff=5 " keep at least 5 lines above/below cursor | |
set sidescrolloff=5 " keep at least 5 columns left/right of cursor | |
set history=200 " remember the last 200 commands | |
if exists("&colorcolumn") | |
set colorcolumn=80 | |
endif | |
hi ColorColumn ctermbg=lightred guibg=lightred | |
" --------------------------------------------------------------------------- | |
" window spacing | |
set cmdheight=2 " make command line two lines high | |
set ruler " show the line number on bar | |
set lazyredraw " don't redraw when running macros | |
"set number " show line number on each line | |
"set winheight=999 " maximize split windows | |
"set winminheight=0 " completely hide other windws | |
:set splitbelow " lower split will be active by default | |
:set splitright " right split will be active by default | |
map <LocalLeader>w+ 100<C-w>+ " grow by 100 | |
map <LocalLeader>w- 100<C-w>- " shrink by 100 | |
" --------------------------------------------------------------------------- | |
" mouse settings | |
set mouse= " disable mouse support in all modes | |
set mousehide " hide the mouse when typing text | |
" ,p and shift-insert will paste the X buffer, even on the command line | |
"nmap <LocalLeader>p i<S-MiddleMouse><ESC> | |
"imap <S-Insert> <S-MiddleMouse> | |
"cmap <S-Insert> <S-MiddleMouse> | |
" this makes the mouse paste a block of text without formatting it | |
" (good for code) | |
"map <MouseMiddle> <esc>"*p | |
"set clipboard+=unnamedplus | |
" --------------------------------------------------------------------------- | |
" global editing settings | |
set autoindent smartindent " turn on auto/smart indenting | |
set expandtab " use spaces, not tabs | |
set smarttab " make <tab> and <backspace> smarter | |
set tabstop=8 " tabstops of 8 | |
set shiftwidth=8 " indents of 8 | |
set backspace=eol,start,indent " allow backspacing over indent, eol, & start | |
set undolevels=1000 " number of forgivable mistakes | |
set undofile " store undos to a file | |
set updatecount=100 " write swap file to disk every 100 chars | |
set complete=.,w,b,u,U,t,i,d " do lots of scanning on tab completion | |
set viminfo=%100,'100,/100,h,\"500,:100 | |
if !has('nvim') | |
set viminfo+=n~/.viminfo | |
endif | |
" --------------------------------------------------------------------------- | |
" searching... | |
set hlsearch " enable search highlight globally | |
set incsearch " show matches as soon as possible | |
set showmatch " show matching brackets when typing | |
" disable last one highlight | |
nmap <LocalLeader>nh :nohlsearch<cr> | |
set diffopt=filler,iwhite " ignore all whitespace and sync | |
" use chrisbra/vim-diff-enhanced plugin's patience diff algorithm | |
if &diff | |
let &diffexpr='EnhancedDiff#Diff("git diff", "--diff-algorithm=patience")' | |
endif | |
" --------------------------------------------------------------------------- | |
" spelling... | |
if v:version >= 700 || has('nvim') | |
set spelllang=en | |
set nospell | |
endif | |
" --------------------------------------------------------------------------- | |
" when switching buffers, preserve window view | |
function! ExOutputBuffer(cmd) | |
redir => message | |
silent execute a:cmd | |
redir END | |
new | |
silent put=message | |
set nomodified | |
endfunction | |
command! -nargs=+ -complete=command Ex call ExOutputBuffer(<q-args>) | |
" --------------------------------------------------------------------------- | |
" when switching buffers, preserve window view | |
" function! MyWinSaveView() | |
" if &diff | |
" let b:winview = winsaveview() | |
" endif | |
" endf | |
" function! MyWinRestoreView() | |
" if &diff | |
" if(exists('b:winview')) | |
" call winrestview(b:winview) | |
" endif | |
" endif | |
" endf | |
" | |
" if v:version >= 700 || has('nvim') | |
" au BufLeave * :call MyWinSaveView() | |
" au BufEnter * :call MyWinRestoreView() | |
" endif | |
" --------------------------------------------------------------------------- | |
" parsing issues in quickfix list | |
" http://stackoverflow.com/questions/6747337/using-vim-make-with-quickfix-ends-up-creating-a-new-file-when-error-is-in-heade | |
"set errorformat^=%-GIn\ file\ included\ %.%# | |
" | |
" http://stackoverflow.com/questions/9427141/vim-tries-to-jump-to-nonexistent-file-after-make | |
set errorformat^=%-GIn\ file\ included\ from\ %f:%l:%c:, | |
\%-GIn\ file\ included\ from\ %f:%l:%c\\,, | |
\%-GIn\ file\ included\ from\ %f:%l:%c, | |
\%-GIn\ file\ included\ from\ %f:%l, | |
\%-G%f:%l:\ ***\ mixed\ implicit\ and\ normal\ rules:\ deprecated\ syntax | |
" --------------------------------------------------------------------------- | |
" setup for the visual environment | |
if has('gui_running') | |
set bg=light | |
set guioptions-=T | |
set guioptions-=m | |
set guioptions+=c | |
"set guifont=-schumacher-clean-medium-r-normal-*-*-120-*-*-c-*-iso646.1991-irv | |
"set guifont=Monospace\ 8,Terminal\ 8,fixed | |
set guifont=ProggyCleanTT\ 12 | |
let g:inkpot_black_background = 1 | |
colorscheme my_inkpot " 256 colour | |
else | |
if $TERM =~ '^xterm' | |
set t_Co=256 | |
elseif $TERM =~ '^screen-256color' | |
set t_Co=256 | |
elseif $TERM =~ '^screen-bce' | |
set t_Co=256 " just guessing | |
elseif $TERM =~ '^rxvt' | |
set t_Co=88 | |
elseif $TERM =~ '^linux' | |
set t_Co=8 | |
else | |
set t_Co=16 | |
endif | |
set bg=dark | |
"set bg=light | |
"colorscheme desert " 16 colour | |
"colorscheme ps_color | |
"colorscheme desert256 " 256 colour | |
"colorscheme gardener " 256 colour | |
"colorscheme inkpot " 256 colour | |
"colorscheme blacklight " 256 colour | |
let g:inkpot_black_background = 1 | |
colorscheme my_inkpot " 256 colour | |
endif | |
" --------------------------------------------------------------------------- | |
" Folding for unified diffs | |
" http://pastey.net/1483, mgedmin on #vim | |
"function! DiffFoldLevel(lineno) | |
" let line = getline(a:lineno) | |
" if line =~ '^Index:' | |
" return '>1' | |
" elseif line =~ '^===' || line =~ '^RCS file: ' || line =~ '^retrieving revision ' | |
" let lvl = foldlevel(a:lineno - 1) | |
" return lvl >= 0 ? lvl : '=' | |
" elseif line =~ '^diff' | |
" return getline(a:lineno - 1) =~ '^retrieving revision ' ? '=' : '>1' | |
" elseif line =~ '^--- ' && getline(a:lineno - 1) !~ '^diff\|^===' | |
" return '>1' | |
" elseif line =~ '^@' | |
" return '>2' | |
" elseif line =~ '^[- +\\]' | |
" let lvl = foldlevel(a:lineno - 1) | |
" return lvl >= 0 ? lvl : '=' | |
" else | |
" return '0' | |
" endif | |
"endf | |
"function! FT_Diff() | |
" if v:version >= 600 | |
" setlocal foldmethod=expr | |
" setlocal foldexpr=DiffFoldLevel(v:lnum) | |
" else | |
" endif | |
"endf | |
" | |
" --------------------------------------------------------------------------- | |
" no folds in vimdiff | |
"function! NoFoldsInDiffMode() | |
" if &diff | |
" :silent! :%foldopen! | |
" endif | |
"endf | |
"augroup Diffs | |
" autocmd! | |
" autocmd BufRead,BufNewFile *.patch :setf diff | |
" autocmd BufEnter * :call NoFoldsInDiffMode() | |
" autocmd FileType diff :call FT_Diff() | |
"augroup END | |
" --------------------------------------------------------------------------- | |
" force making paths relative to `pwd` | |
" this is useful if tag files have absolute paths | |
"augroup force-cd-dot | |
" autocmd! | |
" autocmd BufEnter * :cd . | |
"augroup END | |
" --------------------------------------------------------------------------- | |
" notmuch config | |
let g:notmuch_debug = 0 | |
let g:notmuch_folders = [ | |
\ [ 'new', 'tag:inbox and tag:unread' ], | |
\ [ 'inbox', 'tag:inbox' ], | |
\ [ 'bugs', 'tag:bug' ], | |
\ [ 'eng', 'tag:eng' ], | |
\ [ 'status', 'tag:stat' ], | |
\ [ 'unread', 'tag:unread' ], | |
\ ] | |
" --------------------------------------------------------------------------- | |
" some useful mappings | |
" change directory to that of current file | |
nmap <LocalLeader>cd :cd%:p:h<cr> | |
" change local directory to that of current file | |
nmap <LocalLeader>lcd :lcd%:p:h<cr> | |
" word swapping | |
nmap <silent> gw "_yiw:s/\(\%#\w\+\)\(\W\+\)\(\w\+\)/\3\2\1/<cr><c-o><c-l> | |
" char swapping | |
nmap <silent> gc xph | |
" save and build | |
nmap <LocalLeader>wm :w<cr>:make<cr> | |
" this is for the find function plugin | |
nmap <LocalLeader>ff :let name = FunctionName()<CR> :echo name<CR> | |
" Identify the syntax highlighting group used at the cursor | |
" https://vim.fandom.com/wiki/Identify_the_syntax_highlighting_group_used_at_the_cursor | |
map <LocalLeader>hi :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' | |
\ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" | |
\ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR> | |
"function! DumpSynStack() | |
" for id in synstack(line("."), col(".")) | |
" echo synIDattr(id, "name") | |
" endfor | |
"endfunction | |
"map <LocalLeader>hi :call DumpSynStack()<cr> | |
" --------------------------------------------------------------------------- | |
" dealing with merge conflicts | |
" find merge conflict markers | |
:map <LocalLeader>fc /\v^[<=>]{7}( .*\|$)<CR> | |
" --------------------------------------------------------------------------- | |
" buffer management, note 'set hidden' above | |
" Move to next buffer | |
map <LocalLeader>bn :bn<cr> | |
" Move to previous buffer | |
map <LocalLeader>bp :bp<cr> | |
" List open buffers | |
map <LocalLeader>bb :ls<cr> | |
" --------------------------------------------------------------------------- | |
" tabs | |
map <LocalLeader>tc :tabnew %<cr> " create a new tab | |
map <LocalLeader>td :tabclose<cr> " close a tab | |
map <LocalLeader>tn :tabnext<cr> " next tab | |
map <LocalLeader>tp :tabprev<cr> " previous tab | |
map <LocalLeader>tm :tabmove " move a tab to a new location | |
" --------------------------------------------------------------------------- | |
" git | |
"ca git Git | |
map <LocalLeader>gs :Gstatus<cr> | |
map <LocalLeader>gd :Gdiff<cr> | |
map <LocalLeader>gc :Gcommit<cr> | |
map <LocalLeader>gb :Git blame<cr> | |
map <LocalLeader>gl :Glog<cr> | |
"map <LocalLeader>gg :Git! grep -e '<C-R>=getreg('/')<Enter>'<CR> | |
map <LocalLeader>gg :copen<CR>:Ggrep -e '<C-R>=getreg('/')<Enter>'<CR> | |
" git gutter | |
nmap <LocalLeader>gu :GitGutter<cr> | |
nmap [g :GitGutterPrevHunk<cr> | |
nmap ]g :GitGutterNextHunk<cr> | |
nmap <LocalLeader>ga :GitGutterStageHunk<cr> | |
nmap <LocalLeader>gr :GitGutterUndoHunk<cr> | |
nmap <LocalLeader>gp :GitGutterPreviewHunk<cr> | |
nmap <LocalLeader>gf :GitGutterFold<cr> | |
" --------------------------------------------------------------------------- | |
" tabular (align) | |
map <LocalLeader>a\ :Tabularize /\\<CR> | |
map <LocalLeader>a= :Tabularize /=<CR> | |
map <LocalLeader>a: :Tabularize /:<CR> | |
map <LocalLeader>a:: :Tabularize /:\zs<CR> | |
map <LocalLeader>a, :Tabularize /,<CR> | |
map <LocalLeader>a<Bar> :Tabularize /<Bar><CR> | |
" --------------------------------------------------------------------------- | |
" auto load extensions for different file types | |
if has('autocmd') | |
filetype plugin indent on | |
syntax on | |
" jump to last line edited in a given file (based on .viminfo) | |
"autocmd BufReadPost * | |
" \ if !&diff && line("'\"") > 0 && line("'\"") <= line("$") | | |
" \ exe "normal g`\"" | | |
" \ endif | |
autocmd BufReadPost * | |
\ if line("'\"") > 0| | |
\ if line("'\"") <= line("$")| | |
\ exe("norm '\"")| | |
\ else| | |
\ exe "norm $"| | |
\ endif| | |
\ endif | |
" improve legibility | |
au BufRead quickfix setlocal nobuflisted wrap number | |
endif | |
" --------------------------------------------------------------------------- | |
"import other files... | |
":source ~/.vim/bk.vim " does anyone actualy use bk anymore? | |
let $kernel_version=system('uname -r | tr -d "\n"') | |
let $debug_kernel_tags=system("ls -d /usr/src/debug/*/linux-$kernel_version/tags 2>/dev/null | head -n1 | tr -d '\n'") | |
set tags=./tags,tags,../tags,../../tags,../../../tags,../../../../tags,/lib/modules/$kernel_version/build/tags,$debug_kernel_tags,/usr/include/tags | |
"helptags ~/.vim/doc | |
set dictionary=/usr/share/dict/words " used with CTRL-X CTRL-K | |
set cscopetag " ^] :tag use cscope | |
set cscopetagorder=1 " use ctags first, then cscope | |
set cscoperelative " search relative to cscope.out file | |
set notagrelative " tags file has absolute paths | |
set nocscopeverbose " do not complain if not match is found | |
"set cscopequickfix=s-,g-,c-,d-,i-,t-,e-,a-,f-,i- | |
set cscopequickfix=s-,c-,d-,i-,t-,e- | |
cscope add cscope.out | |
cscope add /lib/modules/$kernel_version/build/cscope.out | |
cscope add /usr/include/cscope.out / | |
function! LoadCscope() | |
let db = findfile("cscope.out", ".;") | |
if (!empty(db)) | |
let path = strpart(db, 0, match(db, "/cscope.out$")) | |
set nocscopeverbose " suppress 'duplicate connection' error | |
exe "cs add " . db . " " . path | |
set cscopeverbose | |
" else add the database pointed to by environment variable | |
elseif $CSCOPE_DB != "" | |
cs add $CSCOPE_DB | |
endif | |
endfunction | |
au BufEnter /* call LoadCscope() | |
" http://cscope.sourceforge.net/cscope_maps.vim | |
" | |
" 's' symbol: find all references to the token under cursor | |
" 'g' global: find global definition(s) of the token under cursor | |
" 'c' calls: find all calls to the function name under cursor | |
" 't' text: find all instances of the text under cursor | |
" 'e' egrep: egrep search for the word under cursor | |
" 'f' file: open the filename under cursor | |
" 'i' includes: find files that include the filename under cursor | |
" 'd' called: find functions that function under cursor calls | |
nmap <LocalLeader>cs :cscope find s <C-R>=expand("<cword>")<CR><CR> | |
nmap <LocalLeader>cg :cscope find g <C-R>=expand("<cword>")<CR><CR> | |
nmap <LocalLeader>cc :cscope find c <C-R>=expand("<cword>")<CR><CR> | |
nmap <LocalLeader>ct :cscope find t <C-R>=expand("<cword>")<CR><CR> | |
nmap <LocalLeader>ce :cscope find e <C-R>=expand("<cword>")<CR><CR> | |
nmap <LocalLeader>cf :cscope find f <C-R>=expand("<cfile>")<CR><CR> | |
nmap <LocalLeader>ci :cscope find i ^<C-R>=expand("<cfile>")<CR>$<CR> | |
nmap <LocalLeader>cd :cscope find d <C-R>=expand("<cword>")<CR><CR> | |
" --------------------------------------------------------------------------- | |
" configure calendar | |
let g:calendar_monday = 1 | |
" --------------------------------------------------------------------------- | |
" configure powerline | |
let g:Powerline_symbols = 'unicode' | |
" --------------------------------------------------------------------------- | |
" configure airline | |
let g:airline_theme = 'badwolf' | |
"let g:airline_theme = 'powerlineish' | |
"let g:airline_theme = 'wombat' | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
" let g:airline_left_sep = '»' | |
" let g:airline_right_sep = '«' | |
" | |
" let g:airline_left_sep = '▶' | |
" let g:airline_right_sep = '◀' | |
" let g:airline_left_sep = '◗' | |
" let g:airline_right_sep = '◖' | |
let g:airline_left_sep = '◣' | |
let g:airline_right_sep = '◢' | |
" let g:airline_left_sep = '⮀' | |
" let g:airline_left_alt_sep = '⮁' | |
" let g:airline_right_sep = '⮂' | |
" let g:airline_right_alt_sep = '⮃' | |
let g:airline_symbols.linenr = '' | |
let g:airline_symbols.branch = '⚟' | |
let g:airline_symbols.paste = 'ρ' | |
let g:airline_symbols.paste = 'Þ' | |
let g:airline_symbols.paste = '∥' | |
let g:airline_symbols.whitespace = 'Ξ' | |
let g:airline_symbols.readonly = 'Ⓧ' | |
let g:airline#extensions#whitespace#mixed_indent_algo = 1 | |
let g:airline#extensions#whitespace#trailing_format = 'trl:%s' | |
let g:airline#extensions#whitespace#mixed_indent_format = 'mix:%s' | |
" --------------------------------------------------------------------------- | |
" configure Smart-Tabs | |
let g:ctab_disable_checkalign = 1 | |
" =========================================================================== | |
" =========================================================================== | |
" --------------------------------------------------------------------------- | |
"run the import script that looks for localized configuration changes | |
if filereadable( $HOME . "/.vim/localized_vimrc.vim" ) | |
source ~/.vim/localized_vimrc.vim | |
endif | |
if filereadable( $HOME . "/.vim/passwords.vim" ) | |
source ~/.vim/passwords.vim | |
endif | |
" --------------------------------------------------------------------------- | |
" YouCompleteMe | |
" | |
" https://jonasdevlieghere.com/a-better-youcompleteme-config/ | |
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py' | |
" --------------------------------------------------------------------------- | |
" neovim | |
if has('nvim') | |
tnoremap <c-\><c-c> <c-\><c-n> | |
"tnoremap <c-w>h <c-\><c-n><c-w>h | |
"tnoremap <c-w>j <c-\><c-n><c-w>j | |
"tnoremap <c-w>k <c-\><c-n><c-w>k | |
"tnoremap <c-w>l <c-\><c-n><c-w>l | |
"au WinEnter *pid:* call feedkeys('i') | |
"au WinEnter term:* call feedkeys('i') | |
au WinEnter term://* startinsert | |
tmap <c-w> <c-\><c-n><c-w> | |
tnoremap <c-\><c-n><c-w><c-w> <c-w> | |
tmap <c-c> <c-\><c-n> | |
tnoremap <c-\><c-n><c-c> <c-c> | |
" https://github.com/neovim/neovim/issues/2093 | |
"set ttimeout | |
"set ttimeoutlen=0 | |
inoremap á <esc>a | |
inoremap è <esc>h | |
inoremap é <esc>i | |
inoremap ê <esc>j | |
inoremap ë <esc>k | |
inoremap ì <esc>l | |
inoremap î <esc>n | |
inoremap ï <esc>o | |
inoremap ð <esc>p | |
inoremap õ <esc>u | |
inoremap ø <esc>x | |
inoremap <esc><space> | |
inoremap <esc><CR> | |
endif | |
" --------------------------------------------------------------------------- | |
" load vundle | |
if filereadable( $HOME . "/.vim/bundle/vundle/autoload/vundle.vim" ) | |
set rtp+=~/.vim/bundle/vundle/ | |
call vundle#rc() | |
Bundle 'gmarik/vundle' | |
Bundle 'bartman/git-wip', {'rtp': 'vim/'} | |
" colorschemes... | |
Bundle 'flazz/vim-colorschemes' | |
Bundle 'morhetz/gruvbox' | |
let g:gruvbox_contrast_dark = 'hard' | |
Bundle 'godlygeek/tabular' | |
"Bundle 'kien/ctrlp.vim' | |
Bundle 'ctrlpvim/ctrlp.vim' | |
if has('nvim') && has('python3') | |
Bundle 'Shougo/denite.nvim' | |
endif | |
if version >= 730 || has('nvim') | |
if ! ( &rtp =~ 'vim-airline' ) | |
"Bundle 'vim-airline/vim-airline' | |
Bundle 'vim-airline/vim-airline-themes' | |
endif | |
else | |
Bundle 'Lokaltog/vim-powerline.git' | |
endif | |
"consider converting to this: https://github.com/itchyny/lightline.vim | |
"Bundle 'itchyny/lightline.vim' | |
" development libraries (check them out at some point) | |
" Plugin 'vim-jp/vital.vim' | |
" Plugin 'haya14busa/underscore.vim' | |
Bundle 'git-diff' | |
Bundle 'git-file.vim' | |
Bundle 'git-cheat' | |
Bundle 'gitolite.vim' | |
Bundle 'a.vim' | |
Bundle 'findfuncname.vim' | |
Bundle 'Smart-Tabs' | |
Bundle 'securemodelines' | |
Bundle 'chrisbra/vim-diff-enhanced' | |
Bundle 'vim-scripts/genutils' | |
Bundle 'vim-scripts/multvals.vim' | |
Bundle 'vim-scripts/tagselect' | |
"Bundle 'Mark' | |
Bundle 'vim-scripts/Mark--Karkat' | |
nmap <Plug>IgnoreMarkSearchNext <Plug>MarkSearchNext | |
nmap <Plug>IgnoreMarkSearchPrev <Plug>MarkSearchPrev | |
highlight def MarkWord1 ctermbg=Cyan ctermfg=Black guibg=#8CCBEA guifg=Black | |
highlight def MarkWord2 ctermbg=Green ctermfg=Black guibg=#A4E57E guifg=Black | |
highlight def MarkWord3 ctermbg=Yellow ctermfg=Black guibg=#FFDB72 guifg=Black | |
highlight def MarkWord4 ctermbg=Red ctermfg=Black guibg=#FF7272 guifg=Black | |
highlight def MarkWord5 ctermbg=Magenta ctermfg=Black guibg=#FFB3FF guifg=Black | |
highlight def MarkWord6 ctermbg=Blue ctermfg=Black guibg=#9999FF guifg=Black | |
if &t_Co > 8 | |
highlight def MarkWord7 ctermbg=DarkCyan ctermfg=Black guibg=#5C9BAA guifg=Black | |
highlight def MarkWord8 ctermbg=DarkGreen ctermfg=Black guibg=#74A54E guifg=Black | |
highlight def MarkWord9 ctermbg=DarkYellow ctermfg=Black guibg=#CFAB42 guifg=Black | |
highlight def MarkWord10 ctermbg=DarkRed ctermfg=Black guibg=#CF4242 guifg=Black | |
highlight def MarkWord11 ctermbg=DarkMagenta ctermfg=Black guibg=#CF83CF guifg=Black | |
highlight def MarkWord12 ctermbg=DarkBlue ctermfg=Black guibg=#6969CF guifg=Black | |
endif | |
Bundle 'Gundo' | |
" looks cool, investigate | |
"Bundle 'junegunn/fzf' | |
Bundle 'bandit.vim' | |
Bundle 'buttercream.vim' | |
Bundle 'delek.vim' | |
Bundle 'habiLight' | |
Bundle 'mayansmoke' | |
"Bundle 'ManPageView' | |
Bundle 'LargeFile' | |
"Bundle 'CCTree' | |
let g:CCTreeKeyTraceForwardTree = ',cf' " '<C-\>>' | |
let g:CCTreeKeyTraceReverseTree = ',cr' " '<C-\><' | |
let g:CCTreeKeyHilightTree = ',ch' " '<C-l>' Static highlighting | |
let g:CCTreeKeySaveWindow = ',cs' " '<C-\>y' | |
let g:CCTreeKeyToggleWindow = ',cc' " '<C-\>w' | |
let g:CCTreeKeyCompressTree = ',cx' " 'zs' Compress call-tree | |
let g:CCTreeKeyDepthPlus = ',cj' " '<C-\> = ' | |
let g:CCTreeKeyDepthMinus = ',ck' " '<C-\>-' | |
Bundle 'hari-rangarajan/CCTree' | |
":NERDTree http://www.catonmat.net/blog/vim-plugins-snipmate-vim/ | |
Bundle 'preservim/nerdtree' | |
Bundle 'Xuyuanp/nerdtree-git-plugin' | |
map <C-n> :NERDTreeToggle<CR> | |
"let g:NERDTreeDirArrowExpandable = '▸' | |
"let g:NERDTreeDirArrowCollapsible = '▾' | |
":Vista | |
Bundle 'liuchengxu/vista.vim' | |
Bundle 'junegunn/fzf' | |
" % for other languages http://www.catonmat.net/blog/vim-plugins-matchit-vim/ | |
Bundle 'matchit.zip' | |
" <tab> complte snippets http://www.catonmat.net/blog/vim-plugins-snipmate-vim/ | |
"Bundle 'snipMate' | |
" indent markers | |
let g:indentLine_char_list = ['|', '¦', '┆', '┊'] | |
let g:indentLine_color_term = 0xEA | |
Bundle 'Yggdroot/indentLine' | |
Bundle 'fidian/hexmode' | |
Bundle 'tpope/vim-sensible' | |
Bundle 'tpope/vim-git' | |
Bundle 'tpope/vim-fugitive' | |
Bundle 'tpope/vim-eunuch' | |
" ds] or ys) or cs)] http://www.catonmat.net/blog/vim-plugins-surround-vim/ | |
Bundle 'tpope/vim-surround' | |
" W does w and repeats http://www.catonmat.net/blog/vim-plugins-repeat-vim/ | |
Bundle 'tpope/vim-repeat' | |
Bundle 'tpope/vim-unimpaired' | |
Bundle 'tpope/vim-obsession' | |
"Bundle 'tpope/vim-markdown' | |
Bundle 'tpope/vim-vividchalk' | |
Bundle 'tpope/vim-afterimage' | |
Bundle 'tpope/vim-commentary' | |
Bundle 'tpope/vim-endwise' | |
Bundle 'tpope/vim-sleuth' | |
Bundle 'AndrewRadev/sideways.vim' | |
noremap <c-h> :SidewaysLeft<cr> | |
noremap <c-l> :SidewaysRight<cr> | |
Bundle 'vivien/vim-addon-linux-coding-style' | |
Bundle 'preservim/vim-markdown' | |
"Bundle 'ricardovaleriano/vim-github-theme' | |
"Bundle 'ajh17/Spacegray.vim' | |
if version >= 730 || has('nvim') | |
let g:gitgutter_sign_priority = 5 | |
Bundle 'airblade/vim-gitgutter' | |
endif | |
"Bundle 'errormarker.vim' | |
Bundle 'mh21/errormarker.vim' | |
"Bundle 'vim-syntastic/syntastic' | |
"Bundle 'LucHermitte/lh-vim-lib' | |
"Bundle 'LucHermitte/vim-compil-hints' | |
":let g:compil_hints = get(g:, 'compil_hints', {'signs': {}}) | |
":let g:compil_hints.signs = get(g:compil_hints, 'signs', {}) | |
":let g:compil_hints.signs.error = ["\u274c"] "❌ | |
":let g:compil_hints.use_signs = 1 | |
":let g:compil_hints.use_balloons = 1 | |
Bundle 'nickhutchinson/vim-cmake-syntax' | |
Bundle 'kAworu/vim-coccinelle' | |
"Bundle 'vim-scripts/SWIG-syntax' | |
Bundle 'naegelejd/vim-swig' | |
"Bundle 'blockloop/vim-swigjs' | |
Bundle 'Mixed-sourceassembly-syntax-objdump' | |
Bundle 'syslog-syntax-file' | |
Bundle 'rust-lang/rust.vim' | |
"Bundle 'Nonius/cargo.vim' | |
Bundle 'cespare/vim-toml' | |
Bundle 'keith/swift.vim' | |
Bundle 'oops_trace.vim' | |
Bundle 'mattn/webapi-vim' | |
Bundle 'mattn/gist-vim' | |
" https://vi.stackexchange.com/questions/10156/vim-zebra-line-coloring | |
" https://github.com/chrisbra/DynamicSigns | |
Bundle 'chrisbra/DynamicSigns' | |
function! ZebraStripes() | |
let g:Signs_Alternate = 1 | |
:UpdateSigns | |
highlight LineEven ctermbg=0 | |
highlight LineOdd ctermbg=233 | |
endfunction | |
command! ZebraStripes call ZebraStripes() | |
if has('nvim') | |
Bundle "cazador481/fakeclip.neovim" | |
endif | |
" thing to try to get working... | |
"Bundle 'scrooloose/syntastic' | |
"Bundle 'Valloric/YouCompleteMe' | |
else | |
" %EError\ %n,%Cline\ %l,%Ccolumn\ %c,%Z%m | |
echoe "You'll need to run: " | |
\ "git submodule init && git submodule update && vim -c :BundleInstall" | |
endif | |
"set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment