From e4c281b9c3d8cd25bd71667540b3a1046fcb862f Mon Sep 17 00:00:00 2001 From: Urbain Vaes Date: Fri, 27 Mar 2020 19:50:45 +0100 Subject: Update plugins --- .mrconfig | 7 ++++++- vim/.vimrc | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/.mrconfig b/.mrconfig index 066521d..4a71cb3 100644 --- a/.mrconfig +++ b/.mrconfig @@ -11,4 +11,9 @@ push = git push origin master [$HOME/dotfiles/plugins/vim-tmux-pilot] checkout = git clone 'git@github.com:urbainvaes/vim-tmux-pilot.git' update = git pull origin master -push = git saveandsync +push = git push origin master + +[$HOME/dotfiles/plugins/vim-ripple] +checkout = git clone 'git@github.com:urbainvaes/vim-ripple.git' +update = git pull origin master +push = git push origin master diff --git a/vim/.vimrc b/vim/.vimrc index 4a3d951..f4d0796 100644 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -66,8 +66,6 @@ Plug 'vim-scripts/gmsh.vim' Plug 'wellle/targets.vim' " Plug 'zchee/deoplete-clang' -Plug 'liuchengxu/vim-which-key' - if isdirectory($HOME."/dotfiles/plugins") Plug '~/dotfiles/plugins/vim-remembrall' Plug '~/dotfiles/plugins/vim-tmux-pilot' @@ -656,3 +654,48 @@ nnoremap t lua vim.lsp.buf.type_definition() " nnoremap i :call lsp#text_document_implementation() " nnoremap s :call lsp#text_document_signature_help() " nnoremap t :call lsp#text_document_type_definition() + +" https://stackoverflow.com/questions/1533565/how-to-get-visually-selected-text-in-vimscript +function! GetSelection(m1, m2) + let lines = getline(line_start, line_end) + " if len(lines) == 0 + " return '' + " endif + " echom len(lines) + " echom line_start column_start line_end column_end + " echom lines[-1] + return join(lines, "\n") +endfunction + +function! Send_motion_or_selection(...) + let is_visual = (a:1 == "v" || a:1 == "V") + let char_wise = (a:1 == "char" || a:1 == "v") + let m1 = is_visual ? "'<" : "'[" + let m2 = is_visual ? "'>" : "']" + + let [line_start, column_start] = getpos(l:m1)[1:2] + let [line_end, column_end] = getpos(l:m2)[1:2] + let lines = getline(line_start, line_end) + if char_wise + let lines[0] = lines[0][column_start - 1:] + let offset = (&selection == 'inclusive' ? 1 : 2) + let lines[-1] = lines[-1][:column_end - offset] + endif + + noautocmd buffer term + norm G$ + set paste + let open_bracketed_paste = "\[200~" + let close_bracketed_paste = "\[201~" + let newline = "\" + put =open_bracketed_paste + let code = join(lines, "\n") + put =code + put =close_bracketed_paste + put =newline + set nopaste + buffer # +endfunction + +nnoremap yr :set opfunc=Send_motion_or_selectiong@ +xnoremap R :call Send_motion_or_selection(visualmode()) -- cgit v1.2.3