init.vim 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. nnoremap <F2> :BuffergatorToggle<CR>
  2. nnoremap <F3> :Files<CR>
  3. nnoremap <F4> :SearchTasks *<CR>
  4. nnoremap <F8> :TagbarToggle<CR>
  5. nnoremap <F12> :only<CR>
  6. " Search Index shows how many instances of searched term
  7. call dein#add('google/vim-searchindex')
  8. "call dein#add('steffanc/cscopemaps.vim')
  9. "call dein#add('brookhong/cscope.vim')
  10. "call dein#add('vim-scripts/autoload_cscope.vim')
  11. " Add or remove your plugins here: TODO
  12. call dein#add('Shougo/neosnippet.vim')
  13. call dein#add('Shougo/neosnippet-snippets')
  14. " Searchtasks searches for TODO, FIXME, XXX and such run :SearchTasks .
  15. call dein#add('gilsondev/searchtasks.vim')
  16. call dein#add('arakashic/chromatica.nvim')
  17. " Multiple Cursors
  18. call dein#add('terryma/vim-multiple-cursors')
  19. call dein#add('scrooloose/nerdcommenter')
  20. " FZF
  21. call dein#add('junegunn/fzf.vim', { 'dir': '~/.fzf', 'do': './install --all' })
  22. "call dein#add('junegunn/fzf')
  23. " For autocomplete
  24. call dein#add('zchee/deoplete-jedi')
  25. call dein#add('Shougo/deoplete.nvim')
  26. " For Web Development
  27. call dein#add('pangloss/vim-javascript')
  28. call dein#add('elzr/vim-json')
  29. call dein#add('mxw/vim-jsx')
  30. call dein#add('mattn/emmet-vim')
  31. call dein#add('prettier/vim-prettier', {'do': 'yarn install'})
  32. " Auto flow
  33. call dein#add('wokalski/autocomplete-flow')
  34. " You can specify revision/branch/tag.
  35. call dein#add('Shougo/deol.nvim', { 'rev': '01203d4c9' })
  36. " NeoSnippet
  37. let g:neosnippet#enable_completed_snippet = 1
  38. imap <C-k> <Plug>(neosnippet_expand_or_jump)
  39. smap <C-k> <Plug>(neosnippet_expand_or_jump)
  40. xmap <C-k> <Plug>(neosnippet_expand_target)
  41. let NERDTreeShowHidden = 1
  42. " MULTI CURSOR
  43. let g:multi_cursor_use_default_mapping=0
  44. " Default mapping
  45. let g:multi_cursor_start_word_key = '<C-n>'
  46. let g:multi_cursor_select_all_word_key = '<A-n>'
  47. let g:multi_cursor_start_key = 'g<C-n>'
  48. let g:multi_cursor_select_all_key = 'g<A-n>'
  49. let g:multi_cursor_next_key = '<C-n>'
  50. let g:multi_cursor_prev_key = '<C-p>'
  51. let g:multi_cursor_skip_key = '<C-x>'
  52. let g:multi_cursor_quit_key = '<Esc>'
  53. " ALE
  54. " Note pylint sucks
  55. " Note for javascript you need to:
  56. " npm install eslint --save-dev
  57. " ./node_modules/.bin/eslint --init
  58. " or for global
  59. " npm install -g eslint
  60. " eslint --init
  61. let g:ale_linters = {
  62. \ 'cpp' : ['gcc'],
  63. \ 'c' : ['gcc'],
  64. \ 'vim' : ['vint'],
  65. \ 'python': ['flake8', 'pyre', 'vulture', 'prospector', 'pyflakes', 'mypy', 'pyls'],
  66. \ 'javascript': ['eslint']
  67. \}
  68. "let g:LanguageClient_serverCommands = {
  69. " \ 'javascript': ['flow-language-server', '--stdio'],
  70. " \ }
  71. let g:ale_cpp_gcc_options='-Wall -Wextra'
  72. let g:ale_c_gcc_options='-Wall -Wextra'
  73. let g:ale_vim_vint_executable = 'vint'
  74. let g:ale_vim_vint_show_style_issues = 1
  75. map <leader>a :ALEToggle<CR>
  76. if !empty(glob("/usr/lib/rpm/redhat"))
  77. " For RHEL
  78. "let g:chromatica#libclang_path='/usr/lib64/llvm'
  79. let g:python3_host_prog = 'home/$USER/.conda/envs/py37/bin/python3.6'
  80. "let g:chromatica#enable_at_startup=1
  81. "let g:chromatica#responsive_mode=1
  82. else
  83. " For Debian based
  84. let g:chromatica#libclang_path='/usr/lib/llvm-6.0/lib'
  85. let g:python3_host_prog = '/usr/bin/python3.6'
  86. let g:chromatica#enable_at_startup=1
  87. let g:chromatica#responsive_mode=1
  88. endif
  89. " Chromatica
  90. " FZF
  91. if !empty((glob("~/.fzf")))
  92. set rtp+=~/.fzf
  93. endif
  94. """"""""""" FUNCTION KEYS """"""""""""""
  95. "TODO figure out cscope
  96. "TODO figure out virtualenv for neovim
  97. "TODO Split vim into ftp stuff rtp