Advertisement
Guest User

My vimrc (for neovim)

a guest
Jun 2nd, 2016
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 7.61 KB | None | 0 0
  1. if &compatible
  2.     set nocompatible
  3. endif
  4.  
  5. call plug#begin('~/.vim/plugged')
  6. set hls!
  7.  
  8. " Make sure you use single quotes
  9.  
  10. " On-demand loading
  11. Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
  12. Plug 'klen/python-mode', {'for': 'python'}
  13. Plug 'Shougo/deoplete.nvim'
  14. "File finding
  15. " Bundle 'wincent/Command-T'
  16. Plug 'ctrlpvim/ctrlp.vim'
  17. Plug 'scrooloose/nerdtree'
  18. Plug 'a.vim'
  19.  
  20. "Syntax
  21. Plug 'godlygeek/tabular'
  22. Plug 'joonty/vdebug'
  23. " Plug 'Mizuchi/STL-Syntax'
  24. " Plug 'scrooloose/syntastic'
  25. Plug 'neomake/neomake'
  26. Plug 'Shougo/context_filetype.vim'
  27. Plug 'tomtom/tcomment_vim'
  28. Plug 'scrooloose/nerdcommenter'
  29. Plug 'majutsushi/tagbar'
  30.  
  31. "Movement
  32. Plug 'Lokaltog/vim-easymotion'
  33.  
  34. "UI
  35. Plug 'jeffkreeftmeijer/vim-numbertoggle'
  36. Plug 'bling/vim-airline'
  37. Plug 'zhaocai/GoldenView.Vim'
  38. Plug 'flazz/vim-colorschemes'
  39.  
  40. "Language Features
  41. Plug 'burnettk/vim-angular'
  42.  
  43. "Utilities
  44. Plug 'svermeulen/vim-easyclip'
  45. Plug 'junegunn/limelight.vim'
  46. Plug 'alvan/vim-php-manual'
  47. Plug 'SirVer/ultisnips'
  48. Plug 'honza/vim-snippets'
  49. Plug 'mhinz/vim-grepper'
  50.  
  51. "Misc
  52. Plug 'DoxygenToolkit.vim'
  53. Plug 'tpope/vim-sensible'
  54. Plug 'tpope/vim-unimpaired'
  55. Plug 'tpope/vim-endwise'
  56. Plug 'tpope/vim-fugitive'
  57. Plug 'Shougo/vimproc', {'do': 'make'}
  58. Plug 'Shougo/unite.vim'
  59. Plug 'mattn/emmet-vim'
  60. Plug 'terryma/vim-multiple-cursors'
  61.  
  62. "Testing
  63. Plug 'tpope/vim-repeat'
  64. Plug 'mnpk/vim-jira-complete'
  65. Plug 'tpope/vim-surround'
  66. Plug 'pangloss/vim-javascript'
  67. Plug 'TaskList.vim'
  68. Plug 'eugen0329/vim-esearch'
  69.  
  70. " Add plugins to &runtimepath
  71. call plug#end()
  72.  
  73. "Neovim configuration
  74. "make it easier to escape terminal
  75. tnoremap <Esc> <C-\><C-n>
  76. "Plugin specific config
  77.  
  78. "Deoplete
  79. let g:deoplete#enable_at_startup = 1
  80. let g:deoplete#enable_smart_case = 1
  81. " let g:deoplete#sources = {'sources' : ['buffer', 'tag']}
  82. inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
  83. let g:C_UseTool_doxygen = 'yes'
  84. " let g:ycm_global_ycm_extra_conf = "~/.vim/.ycm_extra_conf.py"
  85. set nocompatible              " be iMproved, required
  86. syntax on
  87. " filetype off
  88. filetype plugin indent on    " required
  89. set nowrap
  90. set expandtab
  91. set number
  92. set tabstop=4
  93. set shiftwidth=4
  94. set visualbell
  95. set noerrorbells
  96. set cursorline
  97. set exrc
  98.  
  99. set background=dark
  100. colorscheme hybrid
  101. "Syntax
  102.  
  103. "General commands
  104. map <Tab> :tabn<CR>
  105. "Move between windows quickly
  106. let g:goldenview__enable_default_mapping = 0
  107. noremap <C-h> <C-w>h
  108. noremap <C-j> <C-w>j
  109. noremap <C-k> <C-w>k
  110. noremap <C-l> <C-w>l
  111. "Refresh vimrc
  112. map <Leader>r :so ~/.vimrc<cr>
  113. "Copy/Paste system clipboard. Command precedes whatever copy/paste command you
  114. "want to use
  115. map <C-c> "*
  116.  
  117. "Open new window
  118. nmap <silent> <C-s>  <Plug>GoldenViewSplit
  119. nmap <silent> <Leader><F9>   <Plug>GoldenViewSwitchMain
  120. nmap <silent> <Leader><S-F9> <Plug>GoldenViewSwitchToggle
  121.  
  122. "Go to last selected file
  123. map <C-o> :bn<cr>
  124. " map <C-p> :bp<cr>
  125. "Allign selected lines by equal sign
  126. vmap <Leader>1 :Tabularize /^[^=]*\zs=/<cr>
  127. vmap <Leader>2 :Tabularize /^[^=>]*\zs=>/<cr>
  128. vmap <Leader>3 :Tabularize /^[^:]*\zs:/<cr>
  129. vmap <Leader>0 :Tabularize /
  130. "Ultisnips mappings
  131. let g:UltiSnipsExpandTrigger="<C-e>"
  132. " let g:UltiSnipsJumpForwardTrigger="<c-b>"
  133. " let g:UltiSnipsJumpBackwardTrigger="<c-z>"
  134.  
  135. set tags=./tags;
  136. " NerdTree options
  137. map <C-t> :NERDTreeToggle<CR>
  138. nmap <Leader>c :TagbarToggle<CR>
  139. " Vdebug settings
  140. map <C-b> :Breakpoint conditional $GLOBALS['pass']<CR>
  141. let g:vdebug_options = {"path_maps": {'/dockersync/blitsy': "/Users/Corey/Projects/sites/blitsy-main"}}
  142.  
  143. " Open task list
  144. map <Leader>F3 :TaskList<CR>
  145. " Ack options
  146. "Airline
  147. let g:airline#extensions#tabline#enabled = 1
  148. let g:airline_powerline_fonts = 1
  149. if !exists('g:airline_symbols')
  150.     let g:airline_symbols = {}
  151. endif
  152. let g:airline_symbols.space = "\ua0"
  153. "Easy motion
  154. let g:EasyMotion_smartcase = 1
  155. map <Leader>l <Plug>(easymotion-lineforward)
  156. map <Leader>j <Plug>(easymotion-j)
  157. map <Leader>k <Plug>(easymotion-k)
  158. map <Leader>h <Plug>(easymotion-linebackward)
  159.  
  160. map / <PLUG>(easymotion-sn)
  161. omap / <PLUG>(easymotion-tn)
  162. map  n <Plug>(easymotion-next)
  163. map  N <Plug>(easymotion-prev)
  164.  
  165. let g:EasyMotion_startofline = 0 " keep cursor colum when JK motion
  166. let g:EasyMotion_verbose     = 0
  167. "multiple cursors
  168. " Called once right before you start selecting multiple cursors
  169. let g:multi_cursor_exit_from_insert_mode = 0
  170. let g:deoplete#deoplete_disable_auto_complete = 0
  171. " function! Multiple_cursors_before()
  172. "     if(g:deoplete#deoplete_disable_auto_complete ) == 0
  173. "         let g:deoplete#deoplete_disable_auto_complete = 1
  174. "     endif
  175. " endfunction
  176. " function! Multiple_cursors_after()
  177. "     if(g:deoplete#deoplete_disable_auto_complete ) == 1
  178. "         let g:deoplete#deoplete_disable_auto_complete = 0
  179. "     endif
  180. " endfunction
  181.  
  182. "Close vim if NERD tree is only window open
  183. autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
  184.  
  185. "filetypes
  186. au BufRead,BufNewFile *.tpl set filetype=smarty.html
  187.  
  188. "Neomake settings
  189. " autocmd! BufWritePost * Neomake!
  190. "Syntastic settings
  191. " set statusline+=%#warningmsg#
  192. " set statusline+=%{SyntasticStatuslineFlag()}
  193. " set statusline+=%*
  194.  
  195. " let g:syntastic_always_populate_loc_list = 1
  196. " let g:syntastic_auto_loc_list = 1
  197. " let g:syntastic_check_on_open = 1
  198. " let g:syntastic_check_on_wq = 0
  199. "
  200. " let g:syntastic_php_checkers = ['php']
  201. " nmap <Leader><F1> :SyntasticReset<CR>
  202. " nmap <Leader><F2> :SyntasticCheck<CR>
  203.  
  204. " let g:syntastic_mode_map = {
  205. "             \"mode": 'active',
  206. "             \"active_filetypes": ['smarty', 'css', 'scss', 'sass'],
  207. "             \"passive_filetypes": ['html']}
  208. "
  209. function! Multiple_cursors_before()
  210.     if(exists('b:deoplete_disable_auto_complete'))!=1
  211.         let b:deoplete_disable_auto_complete=1
  212.     endif
  213.     if (b:deoplete_disable_auto_complete)==0
  214.         let b:deoplete_disable_auto_complete=1
  215.         " exe 'NeoCompleteLock'
  216.     endif
  217. endfunction
  218.  
  219. " Called once only when the multiple selection is canceled (default <Esc>)
  220. function! Multiple_cursors_after()
  221.     if(exists('b:deoplete_disable_auto_complete'))!=1
  222.         let b:deoplete_disable_auto_complete=0
  223.     endif
  224.     if (b:deoplete_disable_auto_complete)==1
  225.         let b:deoplete_disable_auto_complete=0
  226.     endif
  227. endfunction
  228. "php complete settings
  229. let g:phpcomplete_parse_docblock_comments = 1
  230. "Extensions for phpcomplete
  231. let g:phpcomplete_add_class_extensions = ['mongo']
  232. let g:phpcomplete_add_function_extensions = ['mongo']
  233.  
  234. set gfn=Droid\ Sans\ Mono\ Slashed\ for\ Powerline:h14
  235.  
  236. "Jira
  237. let g:jiracomplete_url = 'https://blitsy.atlassian.net'
  238. let g:jiracomplete_username = 'corey'
  239. let g:jiracomplete_password = 'ratgod1!'
  240. let g:jiracomplete_format = '"[". v:val.abbr . "]"'
  241. " let g:jira_team_name = 'blitsy' "label used for the team
  242. " let g:jira_current_sprint = '2016.9-10' "integer value of sprint#
  243.  
  244. "EasyClip
  245.  
  246. nnoremap gm m
  247. let g:EasyClipUseSubstituteDefaults = 1
  248. let g:EasyClipAutoFormat = 1
  249. let g:EasyClipShareYanks = 1
  250.  
  251. "TaskList
  252. let g:tlTokenList = ['@TODO']
  253.  
  254. "Esearch
  255. let g:esearch = {
  256.             \'adapter': 'ack',
  257.             \'backend': 'nvim',
  258.             \'out': 'win',
  259.             \'batch_size': 10000
  260.             \}
  261. "Ctrlp
  262. let g:ctrlp_custom_ignore = {
  263.             \ 'dir': '\(mobileAPI\|shop/apis\|compiled\|_output\)'
  264.             \}
  265. function! CBFolds()
  266.     if &ft != 'esearch'
  267.         if getline(v:lnum) =~ "^[^}]*{[^}]*$"
  268.             return "a1"
  269.         endif
  270.         if getline(v:lnum) =~ "^[^{]*}[^{]*$"
  271.             return "s1"
  272.         endif
  273.         if v:lnum == 1
  274.             return "1"
  275.         endif
  276.         return "="
  277.     endif
  278. endfunction
  279.  
  280. set fdm=expr
  281. set foldlevel=99
  282. set foldexpr=CBFolds()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement