.vimrc 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. " wreed vimrc
  2. " vim: set foldmethod=marker:
  3. "{{{ ***** PLUGINS ***** "
  4. " Pathogen
  5. call pathogen#infect()
  6. call pathogen#helptags()
  7. " PyMode options
  8. let pymode_lint_ignore="E501,E401,E225,W191,W391,W404"
  9. " use rope code assist instead of a complete function
  10. " au FileType python inoremap <expr> <S-Space> '<C-r>=RopeCodeAssistInsertMode()<CR><C-r>=pumvisible() ? "\<lt>C-p>\<lt>Down>" : ""<CR>'
  11. " Tlist
  12. " Toggle tag list
  13. " nnoremap <C-T> :TlistToggle<CR>
  14. " Tagbar options
  15. let g:tagbar_autofocus = 1
  16. let g:tagbar_left = 1
  17. let g:tagbar_zoomwidth = 0
  18. let g:tagbar_autofocus = 1
  19. " open Tagbar automatically when viewing a supported file/files
  20. autocmd VimEnter * nested :call tagbar#autoopen(1)
  21. " open Tagbar automatically when entering a buffer of supported file/files
  22. "autocmd BufEnter * nested :call tagbar#autoopen(0)
  23. " Toggle Tagbar
  24. nnoremap <leader>tt :TagbarToggle<CR>
  25. " Airline
  26. let g:airline#extensions#tabline#enabled = 1
  27. let g:airline#extensions#tabline#show_tab_nr = 1
  28. let g:airline#extensions#tabline#tab_nr_type = 1
  29. let g:airline#extensions#tagbar#enabled = 1
  30. let g:airline#extensions#whitespace#enabled = 0
  31. "NERDTree
  32. let g:NERDTreeDirArrows = 0
  33. nnoremap <leader>nt :NERDTreeToggle<CR>
  34. " UltiSnips
  35. let g:UltiSnipsEditSplit = "vertical"
  36. let g:UltiSnipsJumpForwardTrigger="<TAB>"
  37. let g:UltiSnipsJumpBackwardTrigger="<S-TAB>"
  38. let g:UltiSnipsSnippetsDir="~/.vim/bundle/vim-snippets/UltiSnips"
  39. " CCTree
  40. nnoremap <leader>ct :CCTreeWindowToggle<CR>
  41. " ConqueTerm
  42. let g:ConqueTerm_CloseOnEnd = 1
  43. " Pyclewn
  44. " Only map keys if we're in Pyclewn
  45. if has("netbeans_enabled")
  46. "nmap <silent> <C-p> :exe ":Cprint " . expand("<cword>")<CR>
  47. nmap <silent> <C-p> "pyiw :Cprint <C-R>p<CR>
  48. nmap <silent> <C-x> :exe ":Cdbgvar " . expand("<cword>")<CR>
  49. vmap <silent> <C-p> "py :Cprint <C-R>p<CR>
  50. endif
  51. " YouCompleteMe
  52. " Auto Close preview window
  53. let g:ycm_autoclose_preview_window_after_completion = 0
  54. " Disable Tab for cycling through commands so that UtilSnips will still work
  55. let g:ycm_key_list_select_completion=['<Down>']
  56. let g:ycm_key_list_previous_completion=['<Up>']
  57. let g:ycm_collect_identifiers_from_tags_files=1
  58. let g:ycm_key_invoke_completion = '<C-N>'
  59. " }}}
  60. "{{{ ***** VIM FEATURES ***** "
  61. " allow project-specific .vimrc files
  62. set exrc
  63. set secure
  64. " allow the use of a modeline
  65. set modeline
  66. " automatically read a file if it changes outside of vim
  67. set autoread
  68. " turn ruler on
  69. set ruler
  70. " set incremental search
  71. set hlsearch
  72. set incsearch
  73. " set status line always on
  74. set laststatus=2
  75. " set mouse always on. I like the mouse sometimes
  76. set mouse=a
  77. "turn omnicomplete on
  78. filetype plugin on
  79. set omnifunc=syntaxcomplete#Complete
  80. " }}}
  81. "{{{ ***** VISUALS ***** "
  82. " set number
  83. set number
  84. set relativenumber
  85. set foldmethod=syntax
  86. set foldcolumn=3
  87. set expandtab
  88. set shiftwidth=4
  89. set softtabstop=4
  90. set autoindent
  91. set smartindent
  92. set cindent
  93. filetype plugin indent on
  94. "colorscheme carvedwoodcool
  95. "colorscheme wombat256
  96. "colorscheme zenburn
  97. "colorscheme kolor
  98. "colorscheme jellybeans
  99. "colorscheme hybrid
  100. "colorscheme bubblegum
  101. colorscheme devbox-dark-256
  102. "set background=light
  103. "colorscheme solarized
  104. syntax on
  105. set showcmd
  106. "}}}
  107. "{{{ ***** KEY MAPPINGS ***** "
  108. " make backspace work
  109. set backspace=eol,start,indent
  110. set whichwrap+=<,>,h,l
  111. set whichwrap+=<,>,h,l
  112. set pastetoggle=<F2>
  113. nmap <F12> :mks!<CR>
  114. nnoremap <F3> :MakeRelease<CR><CR>
  115. nnoremap <F4> :MakeDebug<CR><CR>
  116. nnoremap <F5> :so ~/.vimrc<CR>
  117. " look up things in opengrok
  118. noremap <leader>K :call OpenGrok()<CR>
  119. " treat wrapped lines as multiple lines when navigating
  120. map j gj
  121. map k gk
  122. " Smart way to move between windows
  123. map <C-j> <C-W>j
  124. map <C-k> <C-W>k
  125. map <C-h> <C-W>h
  126. map <C-l> <C-W>l
  127. " Open tag in new tab
  128. nnoremap <M-]> <C-W><C-]><C-W>T
  129. " }}}
  130. "{{{ ***** PROJECTS ***** "
  131. " set default project options
  132. set makeprg=rfds
  133. command! -nargs=* MakeRelease Make build release
  134. command! -nargs=* MakeDebug Make build debug
  135. " }}}
  136. "{{{ ***** FUNCTIONS ***** "
  137. " open OpenGrok in midori
  138. function! OpenGrok()
  139. :!midori http://opengrok.factset.com/source/search?defs=<cword>&project=%2Fonline%2Fmakefds<CR>
  140. endfunction
  141. " }}}
  142. "{{{ ***** COMMANDS ***** "
  143. " make todo list
  144. command! -nargs=* -complete=file Todos vimgrep /asdf:/gj *|cw
  145. "Wrapper for make sequence
  146. command! -nargs=* Make execute '!clear' | make! <args> | cw
  147. " }}}