項の入れ替え

# vim でできたらいいなメモ
演算子の右辺と左辺の入れ替え

vim でできたらいいなメモ - #生存戦略 、それは - subtech

あるあるむありむ。
こんなんどうだろう。交換したい一方を削除→もう一方をビジュアル選択→<Leader>p で入れ替え。

vnoremap <silent> <Leader>p <C-C>:call SwapVisual()<CR>

function! SwapVisual()
    undojoin
    keepjumps normal! gvp
    
    call setpos('.', getpos("'."))

    if ((visualmode() =~ "[v\<C-V>]" && col('.') + 1 == col('$')) || getpos("'.")[1] > line('$'))
        normal! p
    else
        normal! P
    endif
endfunction
foo,bar,baz # "f" にカーソル

なときに dewve,p

bar,foo,baz

みたいになる。べんりだ。
最初はもっとゴテゴテした関数になってたんだけどドンドン短かくなった。なんかまだ無駄なところありそう。あと境界でどうなるか怪しい。

http://ttyshare.com/rec/motemen/21981634/
選択範囲見えないな…。