.vimrc 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. """""""""""""""""""""""""""""""""""""
  2. " Capella .vimrc
  3. """""""""""""""""""""""""""""""""""""
  4. set nocompatible " be iMproved, required
  5. filetype off " required
  6. " set the runtime path to include Vundle and initialize
  7. set rtp+=~/.vim/bundle/Vundle.vim
  8. call vundle#begin()
  9. " let Vundle manage Vundle, required
  10. Plugin 'VundleVim/Vundle.vim'
  11. " ------Plugins-------
  12. Plugin 'vim-airline/vim-airline'
  13. Plugin 'vim-airline/vim-airline-themes'
  14. Plugin 'scrooloose/nerdtree'
  15. Plugin 'tpope/vim-fugitive'
  16. Plugin 'kristijanhusak/vim-multiple-cursors'
  17. Plugin 'tpope/vim-surround'
  18. Plugin 'colors'
  19. Plugin 'jistr/vim-nerdtree-tabs'
  20. Plugin 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
  21. Plugin 'iwonbigbro/vim-hybrid'
  22. Plugin 'dense-analysis/ale'
  23. Plugin 'ojroques/vim-oscyank'
  24. call vundle#end()
  25. filetype plugin indent on
  26. if has('syntax') && !exists('g:syntax_on')
  27. syntax enable
  28. endif
  29. """""""""""""""""""""""""""""""""""""
  30. " Configuration Section
  31. """""""""""""""""""""""""""""""""""""
  32. set laststatus=2
  33. set ruler
  34. set showcmd
  35. set wildmenu
  36. set autoread
  37. set backspace=indent,eol,start
  38. " Show linenumbers
  39. set number
  40. set noruler
  41. set cursorline
  42. " Encoding
  43. set encoding=utf-8
  44. " Set Proper Tabs
  45. set tabstop=4
  46. set shiftwidth=4
  47. set smarttab
  48. set expandtab
  49. set listchars=tab:▒░,trail:▓
  50. set list
  51. " Search
  52. set hlsearch
  53. set incsearch
  54. " Theme and Styling
  55. set t_Co=256
  56. set background=dark
  57. " Vim-Airline Configuration
  58. let g:airline#extensions#tabline#enabled = 1
  59. let g:airline_theme='badwolf'
  60. let g:airline_powerline_fonts = 1
  61. set guifont=Source\ Code\ Pro\ for\ Powerline
  62. set t_Co=256
  63. let g:NERDTreeDirArrowExpandable = '▸'
  64. let g:NERDTreeDirArrowCollapsible = '▾'
  65. """""""""""""""""""""""""""""""""""""
  66. " Colors
  67. """""""""""""""""""""""""""""""""""""
  68. hi Normal ctermfg=252 ctermbg=none
  69. hi CursorLine ctermbg=236 cterm=none
  70. hi CursorLineNr ctermfg=208 cterm=none
  71. hi Boolean ctermfg=141
  72. hi Character ctermfg=222
  73. hi Number ctermfg=141
  74. hi String ctermfg=222
  75. hi Conditional ctermfg=197 cterm=bold
  76. hi Constant ctermfg=141 cterm=bold
  77. hi DiffDelete ctermfg=125 ctermbg=233
  78. hi Directory ctermfg=154 cterm=bold
  79. hi Error ctermfg=222 ctermbg=233
  80. hi Exception ctermfg=154 cterm=bold
  81. hi Float ctermfg=141
  82. hi Function ctermfg=154
  83. hi Identifier ctermfg=208
  84. hi Keyword ctermfg=197 cterm=bold
  85. hi Operator ctermfg=197
  86. hi PreCondit ctermfg=154 cterm=bold
  87. hi PreProc ctermfg=154
  88. hi Repeat ctermfg=197 cterm=bold
  89. hi Statement ctermfg=197 cterm=bold
  90. hi Tag ctermfg=197
  91. hi Title ctermfg=203
  92. hi Visual ctermbg=238
  93. hi Comment ctermfg=244
  94. hi LineNr ctermfg=239 ctermbg=235
  95. hi NonText ctermfg=239
  96. hi SpecialKey ctermfg=239
  97. colorscheme hybrid
  98. autocmd FileType nerdtree setlocal colorcolumn&
  99. highlight ColorColumn ctermbg=232 guibg=#2c2d27
  100. let &colorcolumn="".join(range(81,999),",")
  101. set splitright
  102. autocmd vimenter * NERDTree
  103. autocmd vimenter * wincmd p
  104. let g:NERDTreeDirArrows=0
  105. """""""""""""""""""""""""""""""""""""
  106. " Golang
  107. """""""""""""""""""""""""""""""""""""
  108. autocmd Filetype go command! -bang A call go#alternate#Switch(<bang>0, 'edit')
  109. autocmd Filetype go command! -bang AV call go#alternate#Switch(<bang>0, 'vsplit')
  110. autocmd Filetype go command! -bang AS call go#alternate#Switch(<bang>0, 'split')
  111. autocmd Filetype go command! -bang AT call go#alternate#Switch(<bang>0, 'tabe')
  112. map <C-l> :cnext<CR>
  113. map <C-k> :cprevious<CR>
  114. nnoremap <leader>a :cclose<CR>
  115. autocmd FileType go nmap <leader>b <Plug>(go-build)
  116. autocmd FileType go nmap <leader>r <Plug>(go-run)