選択したテキストをファイルに追加してから削除するMoveToFile
関数があります。
command! -nargs=* -complete=file -range=% -bang -bar MoveToFile
\ :<line1>,<line2>call MoveToFile(<q-args>, <bang>0)
function! MoveToFile(fname, overwrite) range
let r = a:firstline . ',' . a:lastline
exe r 'w>>' . ' !'[a:overwrite] . fnameescape(a:fname)
exe r 'd'
endfunction
追加しようとしているファイルがすでにVimで開いていると、問題が発生します。どうすればこれを回避できますか?