aboutsummaryrefslogtreecommitdiff
path: root/.vim/plugin/init.vim
diff options
context:
space:
mode:
authorgxlin <[email protected]>2021-08-01 23:51:46 +0800
committergxlin <[email protected]>2021-08-01 23:51:46 +0800
commitdd7e28d3a92f901b8a1853cdd70656aa09bb4540 (patch)
tree2b7cb31608aa4d6015c70eda0fd3d4ac15d92ca0 /.vim/plugin/init.vim
parent7d84531e60d5fdddf16b1c4d61332075127ce1c8 (diff)
downloaddotfiles-dd7e28d3a92f901b8a1853cdd70656aa09bb4540.tar.gz
dotfiles-dd7e28d3a92f901b8a1853cdd70656aa09bb4540.tar.bz2
dotfiles-dd7e28d3a92f901b8a1853cdd70656aa09bb4540.zip
Modify vim config
Diffstat (limited to '.vim/plugin/init.vim')
-rw-r--r--.vim/plugin/init.vim176
1 files changed, 168 insertions, 8 deletions
diff --git a/.vim/plugin/init.vim b/.vim/plugin/init.vim
index 7f71d9c..1d02fcd 100644
--- a/.vim/plugin/init.vim
+++ b/.vim/plugin/init.vim
@@ -4,15 +4,8 @@ if empty(glob('~/.vim/autoload/plug.vim'))
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
-let s:plugins = split(expand('~/.vim/plugin/*.plug'))
let s:settings = split(expand('~/.vim/plugin/*.vim'))
-function! s:load_plugins()
- for plugin in s:plugins
- exec "source " . plugin
- endfor
-endfunction
-
function! s:load_settings()
for setting in s:settings
if setting !~ 'init.vim'
@@ -22,7 +15,174 @@ function! s:load_settings()
endfunction
call plug#begin('~/.vim/plugged')
-call s:load_plugins()
+
+" General
+Plug 'Valloric/YouCompleteMe', {
+ \ 'do': 'python3 ./install.py --clangd-completer',
+ \ }
+Plug 'prabirshrestha/vim-lsp'
+Plug 'mattn/vim-lsp-settings'
+
+Plug 'dense-analysis/ale'
+Plug 'sheerun/vim-polyglot'
+Plug 'Yggdroot/LeaderF', {'do': ':LeaderfInstallCExtension'}
+Plug 'tpope/vim-eunuch'
+Plug 'godlygeek/tabular'
+Plug 'ludovicchabant/vim-gutentags'
+
+let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project']
+let g:gutentags_ctags_tagfile = '.tags'
+let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q']
+let g:gutentags_ctags_extra_args = ['--c++-kinds=+px']
+let g:gutentags_ctags_extra_args = ['--c-kinds=+px']
+
+
+let g:ycm_language_server = []
+let g:Lf_RootMarkers = []
+Plug 'vim-airline/vim-airline'
+Plug 'vim-airline/vim-airline-themes'
+
+let g:airline#extensions#tabline#enabled = 1
+Plug 'tpope/vim-fugitive'
+
+nnoremap <silent> <leader>gl :Gclog! -- %<CR>
+nnoremap <silent> <leader>gd :Gdiffsplit <CR>
+nnoremap <silent> <leader>gs :G<CR>
+Plug 'easymotion/vim-easymotion'
+
+map <Space> <Plug>(easymotion-prefix)
+
+" Language specific
+Plug 'habamax/vim-godot', {'for': 'gdscript'}
+Plug 'plasticboy/vim-markdown'
+Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}
+Plug 'ledger/vim-ledger', {'for': 'ledger'}
+
+let g:ledger_bin = 'ledger'
+let g:ledger_align_at = 50
+let g:ledger_commodity_before = 0
+
+au FileType ledger call s:ledger_keymap()
+
+function! s:ledger_keymap() abort
+ noremap { ?^\d<CR>
+ noremap } /^\d<CR>
+ inoremap <silent> <Tab> <C-r>=ledger#autocomplete_and_align()<CR>
+ vnoremap <silent> <Tab> :LedgerAlign<CR>
+endfunction
+Plug 'iamcco/markdown-preview.nvim', {
+ \ 'do': {-> mkdp#util#install()},
+ \ 'for': ['markdown', 'vim-plug']
+ \ }
+
+" REPL
+Plug 'jpalardy/vim-slime', {
+ \'on': [
+ \'<Plug>SlimeRegionSend',
+ \'<Plug>SlimeParagraphSend',
+ \'<Plug>SlimeConfig'
+ \]
+ \}
+
+let g:slime_no_mappings = 1
+
+xmap <c-c><c-c> <Plug>SlimeRegionSend
+nmap <c-c><c-c> <Plug>SlimeParagraphSend
+nmap <c-c>v <Plug>SlimeConfig
+
+let g:slime_target = 'tmux'
+
+" Misc
+Plug 'skywind3000/asyncrun.vim'
+
+let g:asyncrun_open = 6 " the number of lines of quickfix window
+let g:asyncrun_bell = 1 " the bell rings when the task is done
+" use f10 to open/close asyncrun quickfix window
+nnoremap <F10> :call asyncrun#quickfix_toggle(6)<cr>
+
+
+Plug 'mhinz/vim-signify'
+Plug 'tpope/vim-unimpaired'
+
+Plug 'joshdick/onedark.vim'
+Plug 'liuchengxu/vista.vim'
+
+let g:vista_default_executive = 'ctags'
+
+let g:vista_executive_for = {
+ \ 'go': 'vim_lsp',
+ \ }
+
+nnoremap <leader>s :Vista<CR>
+
+Plug 'puremourning/vimspector', { 'on': '<Plug>VimspectorContinue' }
+
+let g:vimspector_install_gadgets = ['debugpy']
+
+nmap <silent> <Leader>dc <Plug>VimspectorContinue
+nmap <silent> <Leader>dq <Plug>VimspectorStop
+nmap <silent> <Leader>db <Plug>VimspectorToggleBreakpoint
+nmap <silent> <Leader>dn <Plug>VimspectorStepOver
+nmap <silent> <Leader>ds <Plug>VimspectorStepInto
+nmap <silent> <Leader>df <Plug>VimspectorStepOut
+nmap <silent> <Leader>di <Plug>VimspectorBalloonEval
+xmap <silent> <Leader>di <Plug>VimspectorBalloonEval
+
+let s:mapped = {}
+
+function! s:set_debug_keymaps() abort
+ if has_key(s:mapped, string(bufnr()))
+ return
+ endif
+
+ " nmap <silent> <buffer> c <Plug>VimspectorContinue
+ " nmap <silent> <buffer> q <Plug>VimspectorStop
+ " nmap <silent> <buffer> b <Plug>VimspectorToggleBreakpoint
+ nmap <silent> <buffer> m <Plug>VimspectorStepOver
+ " nmap <silent> <buffer> s <Plug>VimspectorStepInto
+ " nmap <silent> <buffer> f <Plug>VimspectorStepOut
+ " nmap <silent> <buffer> i <Plug>VimspectorBalloonEval
+ " xmap <silent> <buffer> i <Plug>VimspectorBalloonEval
+
+ let s:mapped[string(bufnr())] = {'modifiable': &modifiable}
+
+ setlocal nomodifiable
+endfunction
+
+function! s:unset_debug_keymaps() abort
+ let original_buf = bufnr()
+ let hidden = &hidden
+
+ try
+ set hidden
+ for bufnr in keys(s:mapped)
+ try
+ execute 'noautocmd buffer' bufnr
+ " silent! nunmap <buffer> c
+ " silent! nunmap <buffer> q
+ " silent! nunmap <buffer> b
+ silent! nunmap <buffer> m
+ " silent! nunmap <buffer> s
+ " silent! nunmap <buffer> f
+ " silent! nunmap <buffer> i
+ " silent! xunmap <buffer> i
+
+ let &l:modifiable = s:mapped[bufnr]['modifiable']
+ endtry
+ endfor
+ finally
+ execute 'noautocmd buffer' original_buf
+ let &hidden = hidden
+ endtry
+
+ let s:mapped = {}
+endfunction
+
+augroup CustomMappings
+ au!
+ autocmd User VimspectorJumpedToFrame call s:set_debug_keymaps()
+ autocmd User VimspectorDebugEnded call s:unset_debug_keymaps()
+augroup end
call plug#end()
call s:load_settings()