.vimrc 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. " }}}
  52. "{{{ ***** VIM FEATURES ***** "
  53. " allow project-specific .vimrc files
  54. set exrc
  55. set secure
  56. " allow the use of a modeline
  57. set modeline
  58. " automatically read a file if it changes outside of vim
  59. set autoread
  60. " turn ruler on
  61. set ruler
  62. " set incremental search
  63. set hlsearch
  64. set incsearch
  65. " set status line always on
  66. set laststatus=2
  67. " set mouse always on. I like the mouse sometimes
  68. set mouse=a
  69. "turn omnicomplete on
  70. filetype plugin on
  71. set omnifunc=syntaxcomplete#Complete
  72. " }}}
  73. "{{{ ***** VISUALS ***** "
  74. " set number
  75. set number
  76. set relativenumber
  77. set foldmethod=syntax
  78. set foldcolumn=3
  79. set expandtab
  80. set shiftwidth=4
  81. set softtabstop=4
  82. set autoindent
  83. set smartindent
  84. set cindent
  85. filetype plugin indent on
  86. "colorscheme carvedwoodcool
  87. colorscheme wombat256
  88. "colorscheme devbox-dark-256
  89. "set background=light
  90. "colorscheme solarized
  91. syntax on
  92. set showcmd
  93. "}}}
  94. "{{{ ***** KEY MAPPINGS ***** "
  95. " make backspace work
  96. set backspace=eol,start,indent
  97. set whichwrap+=<,>,h,l
  98. set whichwrap+=<,>,h,l
  99. set pastetoggle=<F2>
  100. nmap <F12> :mks!<CR>
  101. nnoremap <F3> :MakeRelease<CR><CR>
  102. nnoremap <F4> :MakeDebug<CR><CR>
  103. nnoremap <F5> :so ~/.vimrc<CR>
  104. " look up things in opengrok
  105. noremap <leader>K :call OpenGrok()<CR>
  106. " treat wrapped lines as multiple lines when navigating
  107. map j gj
  108. map k gk
  109. " Smart way to move between windows
  110. map <C-j> <C-W>j
  111. map <C-k> <C-W>k
  112. map <C-h> <C-W>h
  113. map <C-l> <C-W>l
  114. " Open tag in new tab
  115. nnoremap <M-]> <C-W><C-]><C-W>T
  116. " }}}
  117. "{{{ ***** PROJECTS ***** "
  118. " set default project options
  119. set makeprg=rfds
  120. command! -nargs=* MakeRelease Make build release
  121. command! -nargs=* MakeDebug Make build debug
  122. " }}}
  123. "{{{ ***** FUNCTIONS ***** "
  124. " open OpenGrok in midori
  125. function! OpenGrok()
  126. :!midori http://opengrok.factset.com/source/search?defs=<cword>&project=%2Fonline%2Fmakefds<CR>
  127. endfunction
  128. " }}}
  129. "{{{ ***** COMMANDS ***** "
  130. " make todo list
  131. command! -nargs=* -complete=file Todos vimgrep /asdf:/gj *|cw
  132. "Wrapper for make sequence
  133. command! -nargs=* Make execute '!clear' | make! <args> | cw
  134. " }}}