[[plugins]] repo = 'neovim/nvim-lspconfig' [[plugins]] repo = 'Sirver/ultisnips' hook_add = ''' " Trigger configuration. You need to change this to something else than <tab> if you use https://github.com/Valloric/YouCompleteMe. let g:UltiSnipsExpandTrigger="<tab>" let g:UltiSnipsJumpForwardTrigger="<tab>" " let g:UltiSnipsJumpBackwardTrigger="<c-b>" " If you want :UltiSnipsEdit to split your window. let g:UltiSnipsEditSplit="vertical" ''' [[plugins]] repo = 'honza/vim-snippets' [[plugins]] repo = 'Shougo/deoplete.nvim' hook_add = ''' let g:deoplete#enable_at_startup = 1 " imap <expr><tab> pumvisible() ? "\<C-n>" : "\<tab>" " Expand the completed snippet trigger by <CR>. " trial 1 " imap <expr> <CR> " \ (pumvisible() && neosnippet#expandable()) ? " \ "\<Plug>(neosnippet_expand)" : "<C-r>=<SID>my_cr_function()<CR>" " " trial 2 inoremap <silent> <expr> <CR> "<C-r>=deoplete#close_popup()<CR><CR>" call deoplete#custom#option({ \'camel_case': v:true, \'auto_complete_delay': 0, \'smart_case': v:true, \'refresh_always': v:false, \'buffer_path': v:true, \'min_pattern_length': 1, \'max_list': 100, \}) " limit only to deoplete-zsh when in deol buffer call deoplete#custom#option('sources', { 'zsh': ['zsh'], }) ''' [[plugins]] repo = 'Shougo/deoplete-lsp' [[plugins]] repo = 'woodyZootopia/iceberg.vim' rev = 'support_LSP' [[plugins]] repo = 'cocopon/pgmnt.vim' [[plugins]] repo = 'altercation/vim-colors-solarized' [[plugins]] repo = 'cohama/lexima.vim' [[plugins]] repo = 'Shougo/defx.nvim' hook_add = ''' call defx#custom#column('indent',{'indent': "-"}) nnoremap <silent> st :Defx -new -auto-cd -columns=time:size:indent:icons:filename -show-ignored-files `expand('%:p:h')` -search=`expand('%:p')` -split=tab -floating-preview -preview-height=`float2nr(eval('&lines')*0.9)` -preview-width=`float2nr(eval('&columns')*0.9)` <CR> nnoremap <silent> <leader>d :Defx -new -auto-cd -columns=time:size:indent:icons:filename -show-ignored-files `expand('%:p:h')` -search=`expand('%:p')` -split=no -floating-preview -preview-height=`float2nr(eval('&lines')*0.9)` -preview-width=`float2nr(eval('&columns')*0.9)` <CR> nnoremap <silent> <leader>z :Defx -new -auto-cd -columns=size:indent:filename:time -show-ignored-files `expand('%:p:h')` -search=`expand('%:p')` -split=floating -floating-preview -preview-height=`float2nr(eval('&lines')*0.9)` -preview-width=`float2nr(eval('&columns')*0.9)` <CR> nnoremap <silent> <leader>n :Defx -new -auto-cd -columns=size:indent:icons:filename -show-ignored-files `expand('%:p:h')` -search=`expand('%:p')` -split=vertical -floating-preview -preview-height=`float2nr(eval('&lines')*0.9)` -preview-width=`float2nr(eval('&columns')*0.9)` -winwidth=40<CR> autocmd FileType defx call s:defx_my_settings() function! s:defx_my_settings() abort " Define mappings nnoremap <silent><buffer><expr> <CR> defx#do_action('open') nnoremap <silent><buffer><expr> o defx#is_directory()?defx#do_action('open_or_close_tree'):defx#do_action('drop') nnoremap <silent><buffer><expr> O defx#is_directory()?defx#do_action('open_tree_recursive'):defx#do_action('drop','tabnew') nnoremap <silent><buffer><expr> <2-LeftMouse> defx#do_action('open') nnoremap <silent><buffer><expr> l defx#do_action('open_directory') nnoremap <silent><buffer><expr> K defx#do_action('new_directory') nnoremap <silent><buffer><expr> L defx#do_action('new_file') nnoremap <silent><buffer><expr> h defx#do_action('cd',['..']) nnoremap <silent><buffer><expr> d defx#do_action('remove',['..']) nnoremap <silent><buffer><expr> r defx#do_action('rename',['..']) nnoremap <silent><buffer><expr> ~ defx#do_action('cd') nnoremap <silent><buffer><expr> v defx#do_action('toggle_select').'j' nnoremap <silent><buffer><expr> R defx#do_action('redraw') nnoremap <silent><buffer><expr> yy defx#do_action('yank_path') nnoremap <silent><buffer><expr> ! defx#do_action('execute_command') nnoremap <silent><buffer><expr> i defx#do_action('execute_command') nnoremap <silent><buffer><expr> x defx#do_action('execute_system') nnoremap <silent><buffer><expr> . defx#do_action('toggle_ignored_files') nnoremap <silent><buffer><expr> c defx#do_action('copy') nnoremap <silent><buffer><expr> p defx#do_action('preview') nnoremap <silent><buffer><expr> P defx#do_action('paste') nnoremap <silent><buffer><expr> Se defx#do_action('toggle_sort', 'extension') nnoremap <silent><buffer><expr> Sn defx#do_action('toggle_sort', 'filename') nnoremap <silent><buffer><expr> Ss defx#do_action('toggle_sort', 'size') nnoremap <silent><buffer><expr> St defx#do_action('toggle_sort', 'time') nnoremap <buffer> <leader>gd :call <SID>git_diff_of_directory()<CR> endfunction function! s:drop_and_back() call defx#do_action('open') " exe "normal \<C-w>h" endfunction function! s:git_diff_of_directory() exe "tabnew" exe "read !git diff" exe "setf diff" exe "setlocal buftype=nofile" exe "setlocal bufhidden=hide" exe "setlocal noswapfile" endfunction ''' [[plugins]] repo = 'kristijanhusak/defx-icons' [[plugins]] repo = 'Shougo/deol.nvim' [[plugins]] repo = 'kristijanhusak/defx-git' [[plugins]] repo = 'junegunn/fzf' build = './install --bin' hook_install = ''' fzf#install() ''' [[plugins]] repo = 'junegunn/fzf.vim' depends = 'fzf' hook_add = ''' nnoremap <silent> <space>fr <Cmd>History<CR> nnoremap <silent> <space>ff <Cmd>Files<CR> nnoremap <silent> <space>fb <Cmd>Buffers<CR> nnoremap <silent> <space>fc <Cmd>History:<CR> " nnoremap <silent> <space>fgc <Cmd>Commits<CR> nnoremap <silent> <space>fm <Cmd>Maps<CR> nnoremap <silent> <space>fh <Cmd>Helptags<CR> nnoremap <silent> <space>ft <Cmd>Tags<CR> nnoremap <silent> <space>fg <Cmd>Rg<CR> ''' [[plugins]] repo = 'Shougo/neomru.vim' [[plugins]] repo = 'Shougo/neoyank.vim' [[plugins]] repo = 'haya14busa/vim-asterisk' hook_add = ''' map * <Plug>(asterisk-*) map # <Plug>(asterisk-#) map g* <Plug>(asterisk-g*) map g# <Plug>(asterisk-g#) map z* <Plug>(asterisk-z*) map gz* <Plug>(asterisk-gz*) map z# <Plug>(asterisk-z#) map gz# <Plug>(asterisk-gz#) let g:asterisk#keeppos = 1 ''' [[plugins]] repo = 'neoclide/denite-git' [[plugins]] repo = 'Yggdroot/indentLine' hook_add = ''' let g:indentLine_fileTypeExclude = ['defx', 'text'] let g:indentLine_fileType = ['cpp', 'c', 'python', 'rust'] let g:indentLine_bufTypeExclude = ['help', 'terminal'] let g:indentLine_char = "|" ''' [[plugins]] repo = 'kana/vim-smartinput' [[plugins]] repo = 'osyo-manga/shabadou.vim' [[plugins]] repo = 'kana/vim-operator-user' [[plugins]] repo = 'rhysd/vim-operator-surround' [[plugins]] repo = 'kana/vim-textobj-user' hook_add = ''' " operator mappings map <silent>sa <Plug>(operator-surround-append) map <silent>sd <Plug>(operator-surround-delete) map <silent>sr <Plug>(operator-surround-replace) omap ab <Plug>(textobj-multiblock-a) omap ib <Plug>(textobj-multiblock-i) vmap ab <Plug>(textobj-multiblock-a) vmap ib <Plug>(textobj-multiblock-i) " if you use vim-textobj-multiblock nmap <silent>sdd <Plug>(operator-surround-delete)<Plug>(textobj-multiblock-a) nmap <silent>srr <Plug>(operator-surround-replace)<Plug>(textobj-multiblock-a) " if you use vim-textobj-between nmap <silent>sdb <Plug>(operator-surround-delete)<Plug>(textobj-between-a) nmap <silent>srb <Plug>(operator-surround-replace)<Plug>(textobj-between-a) ''' [[plugins]] repo = 'kana/vim-textobj-syntax' [[plugins]] repo = 'thinca/vim-textobj-between' [[plugins]] repo = 'osyo-manga/vim-textobj-multiblock' [[plugins]] repo = 'kana/vim-textobj-entire' hook_add = ''' let g:textobj_entire_no_default_key_mappings = 1 omap av <Plug>(textobj-entire-a) omap iv <Plug>(textobj-entire-i) xmap av <Plug>(textobj-entire-a) xmap iv <Plug>(textobj-entire-i) ''' [[plugins]] repo = 'airblade/vim-gitgutter' hook_add = ''' let g:gitgutter_preview_win_floating = 0 nmap <Leader>hs <Plug>(GitGutterStageHunk) " nmap <Leader>ha <Plug>(GitGutterStageHunk) nmap <Leader>hu <Plug>(GitGutterUndoHunk) nmap <Leader>hp <Plug>(GitGutterPreviewHunk) nmap <Leader>hv <Plug>(GitGutterPreviewHunk) nmap ]c <Plug>(GitGutterNextHunk) nmap [c <Plug>(GitGutterPrevHunk) omap ic <Plug>(GitGutterTextObjectInnerPending) omap ac <Plug>(GitGutterTextObjectOuterPending) xmap ic <Plug>(GitGutterTextObjectInnerVisual) xmap ac <Plug>(GitGutterTextObjectOuterVisual) nmap ]h <Plug>(GitGutterNextHunk) nmap [h <Plug>(GitGutterPrevHunk) omap ih <Plug>(GitGutterTextObjectInnerPending) omap ah <Plug>(GitGutterTextObjectOuterPending) xmap ih <Plug>(GitGutterTextObjectInnerVisual) xmap ah <Plug>(GitGutterTextObjectOuterVisual) ''' [[plugins]] repo = 'scrooloose/nerdcommenter' hook_add = ''' let g:NERDSpaceDelims=1 let g:NERDDefaultAlign='left' let g:NERDCustomDelimiters = {'vim': {'left': '"','right':''}} ''' [[plugins]] repo = 'tpope/vim-fugitive' hook_add = ''' nnoremap <leader>gs :Git <CR><C-w>T nnoremap <leader>ga :Gwrite<CR> nnoremap <leader>gc :Git commit -v<CR> nnoremap <leader>gb :Git blame<CR> nnoremap <leader>gl :tab sp<CR>:Gclog<CR><C-w>j nnoremap <leader>gh :tab sp<CR>:0Gclog<CR> " abbrev for git history: create new quickfix tab for history nnoremap <leader>gp :Git push<CR> nnoremap <leader>gf :Git fetch<CR> nnoremap <leader>gd :Gvdiff!<CR> nnoremap <leader>gr :Git rebase -i<CR> nnoremap <leader>gg :Glgrep ""<Left> nnoremap <leader>gm :Git merge ''' [[plugins]] repo = 'junegunn/vim-easy-align' hook_add = ''' xmap ga <Plug>(EasyAlign) ''' [[plugins]] repo = 'majutsushi/tagbar' hook_add = ''' nmap <leader>t :TagbarToggle<CR> let g:tagbar_type_go = { \ 'ctagstype' : 'go', \ 'kinds' : [ \ 'p:package', \ 'i:imports:1', \ 'c:constants', \ 'v:variables', \ 't:types', \ 'n:interfaces', \ 'w:fields', \ 'e:embedded', \ 'm:methods', \ 'r:constructor', \ 'f:functions' \ ], \ 'sro' : '.', \ 'kind2scope' : { \ 't' : 'ctype', \ 'n' : 'ntype' \ }, \ 'scope2kind' : { \ 'ctype' : 't', \ 'ntype' : 'n' \ }, \ 'ctagsbin' : 'gotags', \ 'ctagsargs' : '-sort -silent' \ } let g:tagbar_sort = 0 let g:tagbar_autoclose = 0 ''' [[plugins]] repo = 'Shougo/echodoc.vim' [[plugins]] repo = 'micke/vim-hybrid' [[plugins]] repo = 'mbbill/undotree' hook_add = ''' nnoremap U :UndotreeToggle<CR> ''' [[plugins]] repo = 'fuenor/jpmoveword.vim' [[plugins]] repo = 'tpope/vim-rhubarb' [[plugins]] repo = 'JuliaEditorSupport/julia-vim' [[plugins]] repo = 'hoob3rt/lualine.nvim' hook_add = ''' lua << EOF require'lualine'.setup{ options={ theme='iceberg_light', }, } EOF ''' [[plugins]] repo = 'kyazdani42/nvim-web-devicons' [[plugins]] repo = 'jpalardy/vim-slime' hook_add = ''' nmap <c-c><c-c> <Plug>SlimeParagraphSend nmap <c-c><c-n> <Plug>SlimeParagraphSend}/[^\n]<CR> nmap <c-c><c-p> <Plug>SlimeParagraphSend{?[^\n]<CR> ''' [[plugins]] repo = 'tikhomirov/vim-glsl' [[plugins]] repo = 'Shougo/neco-syntax' [[plugins]] repo = 'skywind3000/asyncrun.vim' hook_add = ''' let g:asyncrun_bell=1 let g:asyncrun_open = 8 ''' [[plugins]] repo = 'woodyZootopia/NeoDebug' [[plugins]] repo = 'yuratomo/gmail.vim' [[plugins]] repo = 'woodyZootopia/gitsession.vim' hook_add = ''' if !exists('g:vscode') let g:gitsession_autosave = 1 let g:gitsession_tmp_dir = expand("~/.config/nvim/tmp/gitsession") endif ''' [[plugins]] repo = 'LeafCage/vimhelpgenerator.git' [[plugins]] repo = 'tversteeg/registers.nvim' [[plugins]] repo = 'https://github.com/inkarkat/vim-SpellCheck' [[plugins]] repo = 'https://github.com/inkarkat/vim-ingo-library' [[plugins]] repo = 'tweekmonster/helpful.vim'