diff options
author | Oxbian <got.dacs@slmail.me> | 2023-06-19 08:59:16 +0200 |
---|---|---|
committer | Oxbian <got.dacs@slmail.me> | 2023-06-19 08:59:16 +0200 |
commit | 9c946f8f786137aeabfe005f2865043183838876 (patch) | |
tree | fa333454e62eb5f5fc6f258429330729569eb59c | |
parent | a46c3ec3ec35d6c68f6fdfeaae92c8af043f9db8 (diff) | |
download | vimrc-9c946f8f786137aeabfe005f2865043183838876.tar.gz vimrc-9c946f8f786137aeabfe005f2865043183838876.zip |
Adding snippets engine
-rw-r--r-- | .vim/keymaps.vim | 20 | ||||
-rw-r--r-- | .vim/plugins.vim | 6 |
2 files changed, 26 insertions, 0 deletions
diff --git a/.vim/keymaps.vim b/.vim/keymaps.vim index 794f84b..993ef87 100644 --- a/.vim/keymaps.vim +++ b/.vim/keymaps.vim @@ -24,4 +24,24 @@ nnoremap <leader>hs :GitGutterStageHunk<CR> nnoremap <leader>hu :GitGutterUndoHunk<CR> nnoremap <leader>hp :GitGutterPreviewHunk<CR> +" Vsnip +" Expand +imap <expr> <C-j> vsnip#expandable() ? '<Plug>(vsnip-expand)' : '<C-j>' +smap <expr> <C-j> vsnip#expandable() ? '<Plug>(vsnip-expand)' : '<C-j>' +" Expand or jump +imap <expr> <C-l> vsnip#available(1) ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>' +smap <expr> <C-l> vsnip#available(1) ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>' + +" Jump forward or backward +imap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>' +smap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>' +imap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>' +smap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>' + +" Select or cut text to use as $TM_SELECTED_TEXT in the next snippet. +" See https://github.com/hrsh7th/vim-vsnip/pull/50 +nmap s <Plug>(vsnip-select-text) +xmap s <Plug>(vsnip-select-text) +nmap S <Plug>(vsnip-cut-text) +xmap S <Plug>(vsnip-cut-text) diff --git a/.vim/plugins.vim b/.vim/plugins.vim index b873d58..d881f6a 100644 --- a/.vim/plugins.vim +++ b/.vim/plugins.vim @@ -27,6 +27,10 @@ Plug 'airblade/vim-gitgutter' " Git diff " Autocompletion, linter, syntax Plug 'dense-analysis/ale' " Swiss-knife for all this +" Snippets +Plug 'hrsh7th/vim-vsnip' +Plug 'rafamadriz/friendly-snippets' + call plug#end() filetype plugin indent on " Allow filetype detection, plugins, indentation @@ -106,3 +110,5 @@ autocmd BufEnter * if bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_ autocmd BufEnter * if bufname('#') =~# "^NERD_tree_" && winnr('$') > 1 | b# | endif let g:plug_window = 'noautocmd vertical topleft new' " Stop crash if vimplug command called on the nerdtree window +" VIM snip +let g:vsnip_filetypes = {} |