Advertisement
Guest User

Untitled

a guest
Mar 5th, 2019
357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.19 KB | None | 0 0
  1. " @Author: Nguyễn Anh Khoa <ng.akhoa@yahoo.com.vn>
  2. " @Date: 2018-12-31 17:48:56
  3. " @Last Modified by: Nguyễn Anh Khoa <ng.akhoa@yahoo.com.vn>
  4. " @Last Modified time: 2019-03-01 20:51:56
  5.  
  6. " PLUGIN {{{
  7. call plug#begin()
  8. Plug 'junegunn/vim-plug'
  9.  
  10. " Interface {{{
  11. Plug 'vim-airline/vim-airline' " status bar
  12. Plug 'vim-airline/vim-airline-themes' " status bar theme
  13. " Plug 'luochen1990/rainbow' " bracket highlight
  14. Plug 'bronson/vim-trailing-whitespace' " :FixWhitespace
  15. Plug 'Yggdroot/indentLine' " indent guides
  16. Plug 'valloric/matchtagalways'
  17. " Theme
  18. Plug 'rafi/awesome-vim-colorschemes' " theme++
  19. Plug 'flazz/vim-colorschemes' " theme++
  20. Plug 'archseer/colibri.vim' " theme
  21. Plug 'drewtempelmeyer/palenight.vim' " theme
  22. Plug 'NLKNguyen/papercolor-theme' " theme
  23. Plug 'dracula/vim' " theme
  24. Plug 'raphamorim/lucario' " theme
  25. Plug 'w0ng/vim-hybrid' " theme
  26. Plug 'morhetz/gruvbox' " theme
  27. Plug 'reedes/vim-colors-pencil'
  28. " }}}
  29.  
  30. " Dark power {{{
  31. Plug 'neoclide/coc.nvim', {
  32. \ 'tag': '*',
  33. \ 'do': { -> coc#util#install()}
  34. \ } " code completion
  35. if empty($FZF_ROOT)
  36. " use ctrlp
  37. Plug 'ctrlpvim/ctrlp.vim' " file search
  38. else
  39. " use fzf
  40. Plug expand($FZF_ROOT) " include fzf root
  41. Plug 'junegunn/fzf.vim' " fzf for vim
  42. endif
  43. Plug 'cocopon/vaffle.vim' " file manager | netrw++
  44. Plug 'tomtom/tcomment_vim'
  45. Plug 'tpope/vim-fugitive' " git wrapper
  46. Plug 'sodapopcan/vim-twiggy' " git branch visualize | fugitive+
  47. Plug 'junegunn/gv.vim' " git commit browser | fugitive+
  48. Plug 'kana/vim-operator-user' " define own operator
  49. Plug 'rhysd/vim-operator-surround' " vim-surround alternative
  50. Plug 'junegunn/vim-easy-align' " easy align
  51. Plug 'yuttie/comfortable-motion.vim' " smooth scrolling
  52. Plug 'matze/vim-move' " quick moving text
  53. Plug 'simnalamburt/vim-mundo' " changes review
  54. Plug 'mbbill/fencview' " auto detect encodings
  55. Plug 'jeetsukumaran/vim-buffergator' " list buffer
  56. Plug 'bkad/CamelCaseMotion' " better motion between text
  57. Plug 'vim-scripts/argtextobj.vim' " move between argument
  58. Plug 'osyo-manga/vim-over' " substitute preview
  59. Plug 'mtth/scratch.vim' " scratch buffer
  60. Plug 'tpope/vim-unimpaired' " quick command for many stuff
  61. Plug 'joereynolds/place.vim' " add text without move to text
  62. Plug 'chrisbra/improvedft' " Improve ft
  63. Plug 'm1foley/vim-expresso' " doing math on vim, why not?
  64. Plug 'vim-scripts/sideways.vim' " change argument order (Map to <S-H> and <S-L> and try)
  65. Plug 'reedes/vim-pencil' " tool for writing in vim
  66. Plug 'junegunn/vim-peekaboo'
  67. Plug 'rhysd/clever-f.vim'
  68. Plug 'nelstrom/vim-visual-star-search'
  69. Plug 'metakirby5/codi.vim'
  70. Plug 'wakatime/vim-wakatime'
  71. Plug 'xolox/vim-misc'
  72. Plug 'xolox/vim-notes'
  73. Plug 'ahonn/vim-fileheader' " AddFileHeader, UpdateFileHeader
  74. " }}}
  75.  
  76. " highlighter + linter + formater + other code related {{{
  77. Plug 'tpope/vim-sleuth' " auto indentation
  78. Plug 'w0rp/ale' " lint,format
  79. Plug 'Shougo/vinarise.vim' " edit hex file
  80.  
  81. " most of the language plugin are packed with vim-polyglot
  82. Plug 'sheerun/vim-polyglot' " syntax++
  83. Plug 'justinmk/vim-syntax-extra' " c,bison,flex
  84. Plug 'chrisbra/csv.vim' " csv
  85. Plug 'harenome/vim-mipssyntax' " mips
  86. Plug 'shiracamus/vim-syntax-x86-objdump-d' " x86 objdump
  87. Plug 'jrozner/vim-antlr' " antlr
  88. Plug 'tpope/vim-markdown' " markdown
  89. Plug 'othree/yajs.vim' " javascript
  90. Plug 'othree/javascript-libraries-syntax.vim' " javascript++ { React, Angular, Vue, ... }
  91. Plug 'maxmellon/vim-jsx-pretty' " better jsx
  92. Plug 'reasonml-editor/vim-reason-plus' " reason
  93. Plug 'jxnblk/vim-mdx-js' " mdx
  94. " }}}
  95.  
  96. call plug#end()
  97. " }}}
  98.  
  99. " Common {{{
  100. set nocompatible " use real VIM
  101. filetype plugin on
  102. syntax on
  103.  
  104. set expandtab
  105. set shiftround
  106. set shiftwidth=2
  107. set softtabstop=2
  108. set linebreak
  109. set modelines=5
  110. " set foldenable
  111. set foldlevelstart=10
  112. set foldnestmax=10
  113. set nofoldenable
  114. set autoread
  115. set autoindent
  116. set number relativenumber
  117.  
  118. set showbreak=↪\ "
  119. set list listchars=tab:‣\ ,trail:·,precedes:«,extends:»,eol:¬
  120.  
  121. " when install plugins, use /bin/sh
  122. set shell=/bin/sh " /usr/bin/fish:/bin/bash:zsh?
  123.  
  124. " let g:gruvbox_italic=1
  125. set termguicolors
  126. " colorscheme gruvbox
  127. " colorscheme hydrangea
  128. colorscheme dracula
  129. " colorscheme hybrid
  130. " colorscheme colibri
  131. " colorscheme lucario
  132. " colorscheme PaperColor
  133. set background=dark
  134.  
  135. " add current dir to runtimepath for use of UltiSnips
  136. let cwd = getcwd()
  137. execute "set runtimepath+=".fnameescape(cwd)
  138.  
  139. let mapleader=','
  140. nnoremap j gj
  141. nnoremap k gk
  142. nnoremap <leader>s :mksession!<CR>
  143. nnoremap <leader>S :mksession!<CR>:qa<CR>
  144. nnoremap <space> za
  145. tnoremap <Esc> <C-\><C-n>
  146.  
  147. inoremap <esc> <esc>mm
  148. inoremap jj <esc>mm
  149.  
  150. " Vim popup up down key
  151. inoremap <expr> <S-j> pumvisible() ? "\<C-n>" : "\<S-j>"
  152. inoremap <expr> <S-k> pumvisible() ? "\<C-p>" : "\<S-k>"
  153.  
  154. " allows cursor change in tmux mode
  155. if exists('$TMUX')
  156. let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
  157. let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
  158. else
  159. let &t_SI = "\<Esc>]50;CursorShape=1\x7"
  160. let &t_EI = "\<Esc>]50;CursorShape=0\x7"
  161. endif
  162.  
  163. " The Silver Searcher
  164. if executable('ag')
  165. " Use ag over grep
  166. set grepprg=ag\ --nogroup\ --nocolor\
  167. " command! -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw!
  168. nnoremap <leader>a :Ag<space>
  169. let useAg = 1
  170. else
  171. nnoremap <leader>a :echo("No Ag executable")<CR>
  172. endif
  173.  
  174. au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
  175. au BufNewFile,BufRead *.ts setlocal ft=typescript
  176. au BufNewFile,BufRead *.dart setlocal ft=dart
  177.  
  178. " }}}
  179.  
  180. " Language configuration {{{
  181. let g:polyglot_disabled = [
  182. \ 'markdown',
  183. \ 'javascript'
  184. \]
  185. let g:markdown_fenced_languages = [
  186. \ 'html',
  187. \ 'python',
  188. \ 'bash=sh',
  189. \ 'shell=sh',
  190. \ 'c',
  191. \ 'cpp',
  192. \ 'js=javascript',
  193. \ 'ts=typescript',
  194. \ 'go',
  195. \ 'crystal'
  196. \]
  197. let g:used_javascript_libs = 'react,chai,vue,angularjs'
  198.  
  199. " cpp highlight {{{
  200. let g:cpp_class_scope_highlight = 1
  201. let g:cpp_member_variable_highlight = 1
  202. let g:cpp_class_decl_highlight = 1
  203. let g:cpp_experimental_simple_template_highlight = 1
  204. let g:cpp_concepts_highlight = 1
  205. let c_no_curly_error=1
  206. " }}}
  207.  
  208. " Javascript {{{
  209. let g:jsx_ext_required = 1
  210. let g:javascript_plugin_flow = 1
  211. " }}}
  212.  
  213. " Typescript {{{
  214. " let g:typescript_compiler_binary = 'tsc'
  215. " let g:typescript_compiler_options = '--experimentalDecorators'
  216. " let g:tsuquyomi_disable_quickfix = 1
  217. " }}}
  218.  
  219. " }}}
  220.  
  221. " File, Buffer, Tab Manger {{{
  222.  
  223. " Dirvish {{{
  224. " nnoremap <leader>d :Dirvish<CR>
  225. " nnoremap <leader>dd :Dirvish %<CR>
  226. " }}}
  227.  
  228. " Vaffle {{{
  229. nnoremap <leader>dD :Vaffle<CR>
  230. nnoremap <leader>dd :Vaffle %:p:h<CR>
  231. " }}}
  232.  
  233. " }}}
  234.  
  235. " deoplete {{{
  236. let g:deoplete#enable_at_startup = 1
  237. " }}}
  238.  
  239. " CoC {{{
  240. nmap <leader>c :CocList<space>
  241. " }}}
  242.  
  243. " ALE {{{
  244.  
  245. command! ALEDisableFixers let g:ale_fix_on_save=0
  246. command! ALEEnableFixers let g:ale_fix_on_save=1
  247. command! ALEDisableFixersBuffer let b:ale_fix_on_save=0
  248. command! ALEEnableFixersBuffer let b:ale_fix_on_save=0
  249.  
  250. let g:airline#extensions#ale#enabled = 1
  251. let g:ale_echo_msg_error_str = 'E'
  252. let g:ale_echo_msg_warning_str = 'W'
  253. let g:ale_echo_msg_format = '[%linter%][%severity%] %s'
  254. nmap <silent> <C-n>E <Plug>(ale_previous_wrap)
  255. nmap <silent> <C-n>e <Plug>(ale_next_wrap)
  256.  
  257. let g:ale_fix_on_save = 1
  258. let g:ale_lint_on_enter = 1
  259. let g:ale_lint_on_insert_leave = 1
  260. let g:ale_linters_explicit = 1
  261. " let g:ale_lint_on_text_changed = 'always'
  262. let g:ale_completion_delay = 1000
  263. let g:ale_lint_delay = 500
  264.  
  265. let g:ale_linters = {
  266. \ 'python': ['flake8', 'mypy'],
  267. \ 'javascript': ['eslint'],
  268. \ 'typescript': ['tslint'],
  269. \ 'c': ['gcc'],
  270. \ 'cpp': ['g++']
  271. \}
  272.  
  273. let g:ale_fixers = {
  274. \ 'python': ['autopep8'],
  275. \ 'javascript': ['prettier'],
  276. \ 'typescript': ['prettier'],
  277. \ 'c': ['clang-format'],
  278. \ 'cpp': ['clang-format']
  279. \}
  280.  
  281. " Python {{{
  282. let g:ale_python_mypy_options = '--ignore-missing-imports'
  283. let g:ale_python_autopep8_options = '-a -a -a'
  284. " }}}
  285.  
  286. " Javascript && Typescript {{{
  287. " let g:ale_javascript_eslint_options = '--fix-dry-run'
  288. " let g:ale_javascript_eslint_executable='eslint_d'
  289. let g:ale_javascript_prettier_use_global = 1
  290. let g:ale_typescript_tslint_use_global = 1
  291. let g:ale_typescript_tslint_config_path = ''
  292. " }}}
  293.  
  294. " C/C++ {{{
  295. let g:ale_c_clangformat_executable = 'clang-format-7'
  296. let g:ale_c_clangformat_options = '-style="{
  297. \ DerivePointerAlignment: false,
  298. \ PointerAlignment: Left,
  299. \ AlignAfterOpenBracket: AlwaysBreak
  300. \}"'
  301. " }}}
  302.  
  303. " }}}
  304.  
  305. " place {{{
  306. nmap gi <Plug>(place-insert)
  307. nmap gm <Plug>(place-insert-multiple)
  308. " }}}
  309.  
  310. " vim-operator-surround {{{
  311. " operator mappings
  312. map <silent>sa <Plug>(operator-surround-append)
  313. map <silent>sd <Plug>(operator-surround-delete)
  314. map <silent>sr <Plug>(operator-surround-replace)
  315.  
  316.  
  317. " delete or replace most inner surround
  318.  
  319. " if you use vim-textobj-multiblock
  320. " nmap <silent>sdd <Plug>(operator-surround-delete)<Plug>(textobj-multiblock-a)
  321. " nmap <silent>srr <Plug>(operator-surround-replace)<Plug>(textobj-multiblock-a)
  322.  
  323. " if you use vim-textobj-anyblock
  324. " nmap <silent>sdd <Plug>(operator-surround-delete)<Plug>(textobj-anyblock-a)
  325. " nmap <silent>srr <Plug>(operator-surround-replace)<Plug>(textobj-anyblock-a)
  326.  
  327. " if you use vim-textobj-between
  328. " nmap <silent>sdb <Plug>(operator-surround-delete)<Plug>(textobj-between-a)
  329. " nmap <silent>srb <Plug>(operator-surround-replace)<Plug>(textobj-between-a)
  330. " }}}
  331.  
  332. " Quick scope {{{
  333. let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
  334. " }}}
  335.  
  336. " Ctrl Space {{{
  337. set nocompatible
  338. set hidden
  339. " }}}
  340.  
  341. " posero {{{
  342. " let g:posero_default_mappings = 0
  343. " nnoremap <silent> <buffer> <Up> :call posero#PreviousLine()<CR>
  344. " nnoremap <silent> <buffer> <Down> :call posero#NextLine()<CR>
  345. " nnoremap <silent> <buffer> <Right> :call posero#NextSlide()<CR>
  346. " nnoremap <silent> <buffer> <Left> :call posero#PreviousSlide()<CR>
  347. " nnoremap <silent> <buffer> <CR> :call posero#NextLine()<CR>
  348. " }}}
  349.  
  350. " Sideway {{{
  351. nnoremap <S-h> :SidewaysLeft<cr>
  352. nnoremap <S-l> :SidewaysRight<cr>
  353. " }}}
  354.  
  355. " overcommandline {{{
  356. nnoremap <silent> :%s :OverCommandLine<CR>%s/
  357. xnoremap <silent> :%s :'<,'>OverCommandLine<CR>s/
  358. let g:over#command_line#substitute#replace_pattern_visually = 1
  359. let g:over#command_line#search#enable_incsearch = 1
  360. " }}}
  361.  
  362. " Fencview auto detect encoding {{{
  363. let g:fencview_autodetect = 1
  364. " }}}
  365.  
  366. " Airline {{{
  367. let g:airline#extensions#tabline#enabled = 1
  368. let g:airline_theme='minimalist'
  369. let g:airline_powerline_fonts = 0
  370. set encoding=utf-8
  371. " }}}
  372.  
  373. " Raibow Parentheses Improved {{{
  374. let g:rainbow_active = 1
  375. let g:rainbow_conf = {
  376. \ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],
  377. \ 'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'],
  378. \ 'operators': '_,_',
  379. \ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'],
  380. \ 'separately': {
  381. \ '*': {},
  382. \ 'tex': {
  383. \ 'parentheses': ['start=/(/ end=/)/', 'start=/\[/ end=/\]/'],
  384. \ },
  385. \ 'lisp': {
  386. \ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'],
  387. \ },
  388. \ 'vim': {
  389. \ 'parentheses': ['start=/(/ end=/)/', 'start=/\[/ end=/\]/', 'start=/{/ end=/}/ fold', 'start=/(/ end=/)/ containedin=vimFuncBody', 'start=/\[/ end=/\]/ containedin=vimFuncBody', 'start=/{/ end=/}/ fold containedin=vimFuncBody'],
  390. \ },
  391. \ 'html': {
  392. \ 'parentheses': ['start=/\v\<((area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)[ >])@!\z([-_:a-zA-Z0-9]+)(\s+[-_:a-zA-Z0-9]+(\=("[^"]*"|'."'".'[^'."'".']*'."'".'|[^ '."'".'"><=`]*))?)*\>/ end=#</\z1># fold'],
  393. \ },
  394. \ 'css': 0,
  395. \ }
  396. \}
  397. " }}}
  398.  
  399. " numbertoggle {{{
  400. " }}}
  401.  
  402. " EasyAlign {{{
  403. " Start interactive EasyAlign in visual mode (e.g. vipga)
  404. xmap ga <Plug>(EasyAlign)
  405. " Start interactive EasyAlign for a motion/text object (e.g. gaip)
  406. nmap ga <Plug>(EasyAlign)
  407. " }}}
  408.  
  409. " Goyo {{{
  410. let g:goyo_width = 130
  411. " }}}
  412.  
  413. " Commentary {{{
  414. " autocmd FileType apache setlocal commentstring=#\ %s
  415. " }}}
  416.  
  417. " Move {{{
  418. " move lines/block up/down by pressing <C-k>/<C-j>
  419. " move characters right/left ...
  420. let g:move_key_modifier = 'C'
  421. " }}}
  422.  
  423. " Multiple cursors {{{
  424. let g:multi_cursor_use_default_mapping=0
  425. " let g:multi_cursor_start_key='<C-d>'
  426. " let g:multi_cursor_next_key='<C-n>'
  427. " let g:multi_cursor_prev_key='<C-p>'
  428. " let g:multi_cursor_skip_key='<C-x>'
  429. " let g:multi_cursor_quit_key='<Esc>'
  430. " }}}
  431.  
  432. " Comfortable motion {{{
  433. " nnoremap <silent> <C-q> :call comfortable_motion#flick(100)<CR>
  434. " nnoremap <silent> <C-y> :call comfortable_motion#flick(-100)<CR>
  435. " }}}
  436.  
  437. " Hashkell mode {{{
  438. " let g:ghc="stack ghci"
  439. " let g:haddock_browser="/usr/bin/firefox"
  440. " }}}
  441.  
  442. " Mundo {{{
  443. nnoremap <leader>u :MundoToggle<CR>
  444. set undofile
  445. set undodir=~/.vim/undo
  446. " }}}
  447.  
  448. " Auto-pairs {{{
  449. let g:AutoPairsFlyMode = 1
  450. " }}}
  451.  
  452. " GGrep {{{
  453. set grepprg=ag
  454. let g:grep_cmd_opts = '--line-numbers --noheading'
  455. " }}}
  456.  
  457. " UltiSnips {{{
  458. " let g:UltiSnipsSnippetsDir = $HOME."/.config/UltiSnips"
  459. let g:UltiSnipsSnippetDirectories = [
  460. \ 'UltiSnips',
  461. \ $HOME.'/.vim/UltiSnips'
  462. \]
  463. let g:UltiSnipsExpandTrigger="<tab>"
  464. let g:UltiSnipsJumpForwardTrigger="<S-l>"
  465. let g:UltiSnipsJumpBackwardTrigger="<S-tab>"
  466. " }}}
  467.  
  468. " TagBar {{{
  469. nmap <leader>tag :TagbarToggle<CR><C-W>p
  470. " }}}
  471.  
  472. " CamelCaseMotion {{{
  473. " call camelcasemotion#CreateMotionMappings('<leader>')
  474. " map <silent> w <Plug>CamelCaseMotion_w
  475. " map <silent> b <Plug>CamelCaseMotion_b
  476. " map <silent> e <Plug>CamelCaseMotion_e
  477. " map <silent> ge <Plug>CamelCaseMotion_ge
  478. " sunmap w
  479. " sunmap b
  480. " sunmap e
  481. " sunmap ge
  482. " }}}
  483.  
  484. " File header {{{
  485. let g:fileheader_default_author = 'Nguyen Anh Khoa'
  486. let g:fileheader_author = 'Nguyen Anh Khoa'
  487. let g:fileheader_default_email = 'ng.akhoa98@gmail.com'
  488. let g:fileheader_email = 'ng.akhoa98@gmail.com'
  489. let g:fileheader_by_git_config = 1
  490. " }}}
  491.  
  492. " Disabled {{{
  493.  
  494. " vim-keysound {{{
  495. " let g:keysound_py_version = 3
  496. " let g:keysound_enable = 1
  497. " }}}
  498.  
  499. " Rainbow parentheses {{{
  500. " let g:rbpt_colorpairs = [
  501. " \ ['brown', 'RoyalBlue3'],
  502. " \ ['Darkblue', 'SeaGreen3'],
  503. " \ ['darkgray', 'DarkOrchid3'],
  504. " \ ['darkgreen', 'firebrick3'],
  505. " \ ['darkcyan', 'RoyalBlue3'],
  506. " \ ['darkred', 'SeaGreen3'],
  507. " \ ['darkmagenta', 'DarkOrchid3'],
  508. " \ ['brown', 'firebrick3'],
  509. " \ ['gray', 'RoyalBlue3'],
  510. " \ ['black', 'SeaGreen3'],
  511. " \ ['darkmagenta', 'DarkOrchid3'],
  512. " \ ['Darkblue', 'firebrick3'],
  513. " \ ['darkgreen', 'RoyalBlue3'],
  514. " \ ['darkcyan', 'SeaGreen3'],
  515. " \ ['darkred', 'DarkOrchid3'],
  516. " \ ['red', 'firebrick3'],
  517. " \ ]
  518. " let g:rbpt_max = 16
  519. " let g:rbpt_loadcmd_toggle = 0
  520. " au VimEnter * RainbowParenthesesToggle
  521. " au Syntax * RainbowParenthesesLoadRound
  522. " au Syntax * RainbowParenthesesLoadSquare
  523. " au Syntax * RainbowParenthesesLoadBraces
  524. " }}}
  525.  
  526. " Syntastic {{{
  527. " set statusline+=%#warningmsg#
  528. " set statusline+=%{SyntasticStatuslineFlag()}
  529. " set statusline+=%*
  530.  
  531. " let g:syntastic_always_populate_loc_list = 1
  532. " let g:syntastic_auto_loc_list = 1
  533. " let g:syntastic_check_on_open = 0
  534. " let g:syntastic_check_on_wq = 1
  535.  
  536. " " Syntastic C++
  537. " let g:syntastic_cpp_checkers = ['gcc']
  538. " let g:syntastic_cpp_compiler = 'gcc'
  539. " let g:syntastic_cpp_compiler_options = '-std=c++11'
  540.  
  541. " " Syntastic python
  542. " let g:syntastic_python_checkers = ['flake8', 'pep257', 'mypy']
  543. " let g:syntastic_python_flake8_args = '--max-line-length=120'
  544. " }}}
  545.  
  546. " NNN {{{
  547. " Disable default mappings
  548. " let g:nnn#set_default_mappings = 0
  549. " nnoremap <leader>nn :NnnPicker<CR>
  550. " Start nnn in the current file's directory
  551. " nnoremap <leader>n :NnnPicker '%:p:h'<CR>
  552. " autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | NnnPicker | endif
  553. " }}}
  554.  
  555. " SnipMate {{{
  556. " }}}
  557.  
  558. " NERDTree {{{
  559. " nnoremap <C-V> :NERDTreeToggle<CR>
  560. " let g:NERDTreeHijackNetrw=0
  561.  
  562. " autocmd StdinReadPre * let s:std_in=1
  563. " autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
  564. " autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | q | endif
  565. " }}}
  566.  
  567. " vim-indent-guides {{{
  568. " let g:indent_guides_enable_on_vim_startup = 1
  569. " }}}
  570.  
  571. " Gundo {{{
  572. " nnoremap <leader>u :GundoToggle<CR>
  573. " }}}
  574.  
  575. " Clang-format {{{
  576. " let g:clang_format#detect_style_file = 1
  577. " let g:clang_format#auto_format = 1
  578. " autocmd FileType c,cpp,objc nnoremap <buffer><Leader>cf :<C-u>ClangFormat<CR>
  579. " autocmd FileType c,cpp,objc vnoremap <buffer><Leader>cf :ClangFormat<CR>
  580. " }}}
  581.  
  582. " Youcompleteme {{{
  583. " bind other key to work with ultisnips
  584. " let g:ycm_key_list_select_completion = ['<S-j>', '<Down>']
  585. " let g:ycm_key_list_previous_completion = ['<S-k>', '<Up>']
  586. " }}}
  587.  
  588. " CtrlP {{{
  589. let g:ctrlp_map = '<c-p>'
  590. let g:ctrlp_cmd = 'CtrlP'
  591. set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows
  592.  
  593. let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
  594. let g:ctrlp_custom_ignore = {
  595. \ 'dir': '\v[\/]\.(git|hg|svn)$',
  596. \ 'file': '\v\.(exe|so|dll)$',
  597. \ 'link': 'some_bad_symbolic_links',
  598. \}
  599. let g:ctrlp_user_command = 'find %s -type f'
  600.  
  601. let g:ctrlp_match_window = 'bottom,order:ttb'
  602. let g:ctrlp_switch_buffer = 0
  603. let g:ctrlp_working_path_mode = 0
  604. let g:ctrlp_user_command = 'ag %s -l --nocolor --hidden -g ""'
  605.  
  606. if exists("useAg")
  607. " Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
  608. " ag is fast enough that CtrlP doesn't need to cache
  609. let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
  610. let g:ctrlp_use_caching = 0
  611. endif
  612. " }}}
  613.  
  614. " vim-hardtime {{{
  615. let g:hardtime_default_on = 0
  616. let g:hardtime_ignore_buffer_patterns = ['dirvish', '__Tagbar__', 'buffergator']
  617. " }}}
  618.  
  619. " }}}
  620.  
  621. " vim: foldmethod=marker:foldlevel=0:foldenable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement