Vimで、行全体を上下に移動
6205 ワード
Vimで、行全体を上下に移動
以下の内容をあなたのものに置きます.vimrcで宿題を終わらせる
以下の内容をあなたのものに置きます.vimrcで宿題を終わらせる
noremap <c-s-up> :call feedkeys( line('.')==1? '' : 'ddkP' )<CR>
noremap <c-s-down> ddp
线条消失看起来像一个 Vim Bug 。 我放置了一个 hack 来避免它。 可能还有更精确的解决方案。
更新
使用Vim组合有很多无法解释的困难。 这些是直线缺失和额外的跨线。
下面是可以放在. vimrc 或者 ~/.vim/plugin/swap_lines.vim 中的脚本解决方案
function! s:swap_lines(n1, n2)
let line1 = getline(a:n1)
let line2 = getline(a:n2)
call setline(a:n1, line2)
call setline(a:n2, line1)
endfunction
function! s:swap_up()
let n = line('.')
if n == 1
return
endif
call s:swap_lines(n, n - 1)
exec n - 1
endfunction
function! s:swap_down()
let n = line('.')
if n == line('$')
return
endif
call s:swap_lines(n, n + 1)
exec n + 1
endfunction
noremap <c-s-up> :call <SID>swap_up()<CR>
noremap <c-s-down> :call <SID>swap_down()<CR>