Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.38 KB | None | 0 0
  1. set nocompatible
  2. filetype off
  3.  
  4. set rtp+=~/.vim/bundle/Vundle.vim
  5. call vundle#begin()
  6.  
  7. Plugin 'VundleVim/Vundle.vim'
  8.  
  9. " Vim
  10. Plugin 'elzr/vim-json'
  11. Plugin 'myusuf3/numbers.vim'
  12. Plugin 'altercation/vim-colors-solarized'
  13. Plugin 'bling/vim-airline'
  14. Plugin 'vim-airline/vim-airline-themes'
  15.  
  16. " file system
  17. Plugin 'scrooloose/nerdtree'
  18. Plugin 'Xuyuanp/nerdtree-git-plugin'
  19. Plugin 'kien/ctrlp.vim'
  20. Plugin 'easymotion/vim-easymotion'
  21.  
  22. " Code
  23. Plugin 'valloric/youcompleteme'
  24. Plugin 'scrooloose/syntastic'
  25. Plugin 'yggdroot/indentline'
  26. Plugin 'tpope/vim-surround'
  27. Plugin 'marijnh/tern_for_vim'
  28.  
  29. " JS
  30. Plugin 'maksimr/vim-jsbeautify'
  31. Plugin 'editorconfig/editorconfig-vim'
  32.  
  33. " Comments
  34. Plugin 'scrooloose/nerdcommenter'
  35.  
  36. " Git
  37. Plugin 'tpope/vim-fugitive'
  38.  
  39. " Css
  40. Plugin 'mattn/emmet-vim'
  41.  
  42. " Snippets
  43. Plugin 'sirver/ultisnips'
  44. Plugin 'honza/vim-snippets'
  45.  
  46. " JS highlighting
  47. Plugin 'mxw/vim-jsx'
  48.  
  49. " ES6
  50. Plugin 'jbgutierrez/vim-babel'
  51. Plugin 'mattn/webapi-vim'
  52.  
  53.  
  54. " Plugin 'majutsushi/tagbar'
  55. " Plugin 'universal-ctags/ctags'
  56. " Plugin 'mtscout6/vim-tagbar-css'
  57. " Plugin 'ramitos/jsctags'
  58. " Plugin 'maksimr/vim-jsbeautify'
  59.  
  60. " MD
  61. Plugin 'suan/vim-instant-markdown'
  62.  
  63. " Testing
  64. Plugin 'ahmedelgabri/vim-ava-snippets'
  65.  
  66. call vundle#end()
  67. filetype plugin indent on
  68.  
  69. " NerdTree
  70. map <C-n> :NERDTreeToggle<CR>
  71. autocmd vimenter * NERDTree
  72. autocmd VimEnter * wincmd p
  73. autocmd StdinReadPre * let s:std_in=1
  74. autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
  75. autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
  76. let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr', '\.DS_Store']
  77. let NERDTreeShowHidden=1
  78.  
  79. " NERDTress File highlighting
  80. function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg)
  81. exec 'autocmd filetype nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg
  82. exec 'autocmd FileType nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#'
  83. endfunction
  84.  
  85. autocmd VimEnter * call NERDTreeHighlightFile('js', 'Red', 'none', '#ffa500', '#151515')
  86. call NERDTreeHighlightFile('css', 'cyan', 'none', 'cyan', '#151515')
  87.  
  88. " vim-airline
  89. set laststatus=2
  90. let g:airline#extensions#tabline#enabled = 1
  91.  
  92. " Vim-colors-solarized
  93. syntax enable
  94. set background=dark
  95. colorscheme solarized
  96.  
  97. " Syntastic
  98. set statusline+=%#warningmsg#
  99. set statusline+=%{SyntasticStatuslineFlag()}
  100. set statusline+=%*
  101.  
  102. let g:syntastic_always_populate_loc_list = 1
  103. let g:syntastic_auto_loc_list = 1
  104. let g:syntastic_check_on_open = 1
  105. let g:syntastic_check_on_wq = 0
  106.  
  107. let g:syntastic_javascript_checkers = ['eslint']
  108. let g:syntastic_javascript_eslint_exec = 'eslint_d'
  109.  
  110. " Tern
  111. " enable keyboard shortcuts
  112. let g:tern_map_keys=1
  113. " show argument hints
  114. let g:tern_show_argument_hints='on_hold'
  115.  
  116. " Vim settings
  117. set t_Co=256
  118. syntax on
  119. set nu
  120. set encoding=utf8
  121.  
  122. set nobackup
  123. set noswapfile
  124.  
  125. " Autoindent with two spaces, always expand tabs
  126. set tabstop=2
  127. set shiftwidth=2
  128. set expandtab
  129.  
  130.  
  131. " CtrlP
  132. let g:ctrlp_map = '<c-p>'
  133. let g:ctrlp_cmd = 'CtrlP'
  134. let g:ctrlp_working_path_mode = 0
  135. let g:ctrlp_custom_ignore = {
  136. \ 'dir': 'node_modules'
  137. \ }
  138.  
  139. " Emmet
  140. " let g:user_emmet_mode='a'
  141. " let g:user_emmet_install_global = 0
  142. " autocmd FileType html,css EmmetInstall
  143. "
  144. "
  145.  
  146. " JsBeatifify
  147. autocmd FileType javascript noremap <buffer> <c-f> :call JsBeautify()<cr>
  148. autocmd FileType json noremap <buffer> <c-f> :call JsonBeautify()<cr>
  149. autocmd FileType jsx noremap <buffer> <c-f> :call JsxBeautify()<cr>
  150. autocmd FileType html noremap <buffer> <c-f> :call HtmlBeautify()<cr>
  151. autocmd FileType *css noremap <buffer> <c-f> :call CSSBeautify()<cr>
  152.  
  153.  
  154. let g:UltiSnipsExpandTrigger="<c-j>"
  155. " If you want :UltiSnipsEdit to split your window.
  156. let g:UltiSnipsEditSplit="vertical"
  157.  
  158.  
  159. " nerdcommenter
  160. let g:NERDSpaceDelims = 1
  161.  
  162.  
  163. " vim-easymotion
  164. " <Leader>f{char} to move to {char}
  165. map <Leader>f <Plug>(easymotion-bd-f)
  166. nmap <Leader>f <Plug>(easymotion-overwin-f)
  167.  
  168. " s{char}{char} to move to {char}{char}
  169. " nmap s <Plug>(easymotion-overwin-f2)
  170.  
  171. " Move to line
  172. map <Leader>L <Plug>(easymotion-bd-jk)
  173. nmap <Leader>L <Plug>(easymotion-overwin-line)
  174.  
  175. " Move to word
  176. map <Leader>w <Plug>(easymotion-bd-w)
  177. nmap <Leader>w <Plug>(easymotion-overwin-w)
  178.  
  179.  
  180.  
  181. " tagbar
  182. " nmap <F8> :TagbarToggle<CR>
  183. " let g:tagbar_type_css = {
  184. " \ 'ctagstype' : 'Css',
  185. " \ 'kinds' : [
  186. " \ 'c:classes',
  187. " \ 's:selectors',
  188. " \ 'i:identities'
  189. " \ ]
  190. " \ }
  191.  
  192. " Tabs
  193. nmap <C-t> a<C-t><Esc>
  194. nmap <C-d> a<C-d><Esc>
  195. vmap <C-t> :><CR>gv
  196. vmap <C-d> :<<CR>gv
  197.  
  198. " Split navigation
  199. nnoremap <C-J> <C-W><C-J>
  200. nnoremap <C-K> <C-W><C-K>
  201. nnoremap <C-L> <C-W><C-L>
  202. nnoremap <C-H> <C-W><C-H>
  203.  
  204. " Splits
  205. set splitbelow
  206. set splitright
  207.  
  208.  
  209. " folding
  210. if has('folding')
  211. if has('windows')
  212. let &fillchars='vert: '
  213. endif
  214. set foldmethod=indent
  215. set foldlevelstart=99
  216. endif
  217.  
  218. " autmformat
  219. " noremap <c-f> :Autoformat<CR>
  220.  
  221. set ts=2 sw=2 et
  222.  
  223. "vim-bable
  224. map <Leader>js :Babel vert<Enter>
  225. nmap <Leader>js :Babel vert<Enter>
  226.  
  227.  
  228. " JSON
  229. " au! BufRead,BufNewFile *.json set filetype=json
  230. let g:vim_json_syntax_conceal = 1
  231. let g:vim_json_warnings = 1
  232. setlocal conceallevel=1
  233. " setlocal foldmethod=syntax
  234.  
  235. augroup json_autocmd
  236. autocmd!
  237. autocmd FileType json set autoindent
  238. autocmd FileType json set formatoptions=tcq2l
  239. autocmd FileType json set textwidth=78 shiftwidth=2
  240. autocmd FileType json set softtabstop=2 tabstop=8
  241. autocmd FileType json set expandtab
  242. autocmd FileType json set foldmethod=syntax
  243. augroup END
  244.  
  245.  
  246. " vim-jsx
  247. let g:jsx_ext_required = 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement