.vimrc 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. " ########## General ########## {{{
  2. syntax on
  3. colorscheme peachpuff
  4. let g:airline_theme='atomic'
  5. set wildmenu
  6. set autoindent
  7. set smartindent
  8. set incsearch
  9. set smarttab
  10. set smartcase
  11. set number relativenumber
  12. set so=7
  13. set tabstop=4 shiftwidth=4
  14. set expandtab
  15. let mapleader = ","
  16. let maplocalleader = "\\"
  17. " }}}
  18. " ########## Highlighting ########## {{{
  19. highlight ExtraWhitespace ctermbg=red guibg=red
  20. match ExtraWhitespace /\s\+$/
  21. augroup trailingwhitespace
  22. autocmd!
  23. autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/
  24. augroup END
  25. " }}}
  26. " ########## Keybinds ########## {{{
  27. nnoremap <leader>ev :vsplit $MYVIMRC<cr>
  28. nnoremap <leader>sv :source $MYVIMRC<cr>
  29. nnoremap <leader>f :tabfind ./**/
  30. " Local (scope) replace
  31. nnoremap gr gd[{V%::s/<C-R>///gc<left><left><left>
  32. " Global replace
  33. nnoremap gR gD:%s/<C-R>///gc<left><left><left>
  34. nnoremap Y y$
  35. nnoremap H ^
  36. nnoremap L $
  37. vnoremap H ^
  38. vnoremap L $
  39. inoremap jk <esc>
  40. inoremap <esc> <nop>
  41. inoremap <Left> <nop>
  42. inoremap <Right> <nop>
  43. inoremap <Up> <nop>
  44. inoremap <Down> <nop>
  45. " Dragvisuals keybinds
  46. vmap <expr> <LEFT> DVB_Drag('left')
  47. vmap <expr> <RIGHT> DVB_Drag('right')
  48. vmap <expr> <DOWN> DVB_Drag('down')
  49. vmap <expr> <UP> DVB_Drag('up')
  50. vmap <expr> D DVB_Duplicate()
  51. " Remove any introduced trailing whitespace after moving...
  52. let g:DVB_TrimWS = 1
  53. " }}}
  54. " ########## Abbreviations ########## {{{
  55. iabbrev ret return
  56. iabbrev @@ frans@tankernn.eu
  57. iabbrev ssig -- <cr>Frans Bergman<cr>frans@tankernn.eu
  58. " }}}
  59. " ########## File-specific settings ########## {{{
  60. autocmd FileType gitcommit :set spell
  61. autocmd FileType vim :set foldmethod=marker
  62. " }}}
  63. " ########## Plugins ########## {{{
  64. set rtp+=~/.vim/bundle/Vundle.vim
  65. call vundle#begin()
  66. Plugin 'VundleVim/Vundle.vim'
  67. Plugin 'tpope/vim-fugitive'
  68. Plugin 'bling/vim-airline'
  69. Plugin 'vim-airline/vim-airline-themes'
  70. Plugin 'mkitt/tabline.vim'
  71. Plugin 'valloric/youcompleteme'
  72. Plugin 'tpope/vim-surround'
  73. Plugin 'tpope/vim-repeat'
  74. Plugin 'raimondi/delimitmate'
  75. Plugin 'artur-shaik/vim-javacomplete2'
  76. Plugin 'neomake/neomake'
  77. Plugin 'fisadev/dragvisuals.vim'
  78. call vundle#end()
  79. filetype plugin indent on " required
  80. " }}}
  81. " ########## Plugin Settings ########## {{{
  82. autocmd FileType java setlocal omnifunc=javacomplete#Complete
  83. call neomake#configure#automake('nrwi', 500)
  84. let g:neomake_open_list = 2
  85. " }}}