.vimrc 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. " essentials
  2. set ruler
  3. set mouse=a
  4. set nocompatible
  5. set bs=2
  6. set hlsearch
  7. set nowrap
  8. " give me all of teh colors!!
  9. set t_Co=256
  10. set bg=dark
  11. colorscheme elflord
  12. syntax on
  13. " tabs and indents
  14. set shiftwidth=4 tabstop=4 softtabstop=4
  15. set nocindent
  16. set smartindent
  17. " tab based indention behaviors
  18. vmap <Tab> >
  19. nmap <Tab> >>
  20. vmap <S-Tab> <
  21. nmap <S-Tab> <<
  22. imap <S-Tab> <Esc><<i
  23. " coping to Mac OS X clipboard (kinda)
  24. vmap <C-c> :w !pbcopy<CR><CR>
  25. " force syntax on a few file types
  26. autocmd BufNewFile,BufRead *.json set ft=javascript
  27. autocmd BufNewFile,BufRead *.md set ft=markdown
  28. autocmd BufNewFile,BufRead *.go set filetype=go
  29. " run js-beautify with the = key
  30. autocmd FileType javascript setlocal equalprg=js-beautify\ -q\ -t\ -w\ 140\ -f\ -
  31. " VIM-PLUG PLUGINS (WITH FIRST-RUN AUTOINSTALL)
  32. let PLUG_VIM_FILE = expand('~/.vim/autoload/plug.vim')
  33. let HAS_PLUG = filereadable(PLUG_VIM_FILE)
  34. if !HAS_PLUG
  35. silent !mkdir -p ~/.vim/autoload
  36. silent !curl -fLo ~/.vim/autoload/plug.vim https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  37. endif
  38. call plug#begin()
  39. Plug 'bling/vim-airline' " more helpful tab line and status lines with colors
  40. let g:airline#extensions#tabline#enabled = !has('gui_running')
  41. let g:airline#extensions#tabline#show_buffers = 0
  42. set laststatus=2
  43. set ttimeoutlen=50
  44. "TODO: decide if I care enough for: https://github.com/Lokaltog/powerline-fonts
  45. Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " tree file browser
  46. map <C-n> :NERDTreeToggle<CR>
  47. map <C-\> :NERDTreeToggle<CR>
  48. "TODO: detect SHIFT?: map <Shift><C-\> :NERDTreeFind<CR>
  49. Plug 'scrooloose/syntastic' " multi-language syntax checker
  50. let g:syntastic_check_on_open=1
  51. Plug 'ntpeters/vim-better-whitespace' " whitespace!!
  52. let g:strip_whitespace_on_save = 1
  53. let g:better_whitespace_filetypes_blacklist=['conque_term']
  54. Plug 'nathanaelkane/vim-indent-guides' " pretty indent guides with softtabs
  55. let g:indent_guides_guide_size = 1
  56. let g:indent_guides_auto_colors = 0
  57. autocmd VimEnter * :highlight IndentGuidesOdd ctermbg=233
  58. autocmd VimEnter * :highlight IndentGuidesEven ctermbg=234
  59. autocmd VimEnter * :IndentGuidesEnable
  60. Plug 'lilydjwg/colorizer' " colorize CSS inline
  61. Plug 'kien/ctrlp.vim' " fuzzy file matcher / opener
  62. let g:ctrlp_user_command="find '%s' ! -wholename '*/.git/*' ! -wholename '*/node_modules/*' ! -wholename '*/report/*' -type f"
  63. Plug 'fisadev/vim-ctrlp-cmdpalette' " fuzzy command matcher / runner
  64. "TODO: detect SHIFT?: map <Shift><C-p> :CtrlPCmdPalette<CR>
  65. Plug 'tpope/vim-fugitive' " git commands and statusline
  66. Plug 'mhinz/vim-signify' " label VCS changes in gutter
  67. Plug 'oplatek/Conque-Shell' " a shell in a buffer
  68. let g:ConqueTerm_ReadUnfocused = 1
  69. let g:ConqueTerm_InsertOnEnter = 1
  70. let g:ConqueTerm_CloseOnEnd = 1
  71. Plug 'moll/vim-node' " nodejs extras
  72. Plug 'sidorares/node-vim-debugger', { 'do': 'cd ~/.vim/plugged/node-vim-debugger/ && npm install' } " nodejs debugger
  73. command NodeDebug call conque_term#open('node ' . expand('~/.vim/plugged/node-vim-debugger/bin/vim-inspector') . ' "' . expand('%') . '"', ['belowright split'])
  74. Plug 'kchmck/vim-coffee-script' " CoffeeScript support
  75. call plug#end()
  76. if !HAS_PLUG
  77. PlugInstall
  78. endif