this repo has no description
at master 1.3 kB view raw
1" Section: Line operations 2 3function! s:ExecMove(cmd) abort 4 let old_fdm = &foldmethod 5 if old_fdm !=# 'manual' 6 let &foldmethod = 'manual' 7 endif 8 normal! m` 9 silent! exe a:cmd 10 norm! `` 11 if old_fdm !=# 'manual' 12 let &foldmethod = old_fdm 13 endif 14endfunction 15 16function! s:Move(cmd, count, map) abort 17 call s:ExecMove('move'.a:cmd.a:count) 18 silent! call repeat#set("\<Plug>unimpairedMove".a:map, a:count) 19endfunction 20 21function! s:MoveSelectionUp(count) abort 22 call s:ExecMove("'<,'>move'<--".a:count) 23 silent! call repeat#set("\<Plug>unimpairedMoveSelectionUp", a:count) 24endfunction 25 26function! s:MoveSelectionDown(count) abort 27 call s:ExecMove("'<,'>move'>+".a:count) 28 silent! call repeat#set("\<Plug>unimpairedMoveSelectionDown", a:count) 29endfunction 30 31nnoremap <silent> <Plug>unimpairedMoveUp :<C-U>call <SID>Move('--',v:count1,'Up')<CR> 32nnoremap <silent> <Plug>unimpairedMoveDown :<C-U>call <SID>Move('+',v:count1,'Down')<CR> 33xnoremap <silent> <Plug>unimpairedMoveSelectionUp :<C-U>call <SID>MoveSelectionUp(v:count1)<CR> 34xnoremap <silent> <Plug>unimpairedMoveSelectionDown :<C-U>call <SID>MoveSelectionDown(v:count1)<CR> 35 36nmap [e <Plug>unimpairedMoveUp 37nmap ]e <Plug>unimpairedMoveDown 38xmap [e <Plug>unimpairedMoveSelectionUp 39xmap ]e <Plug>unimpairedMoveSelectionDown