Ask and Learn

VIM中移动选中内容到备份文件

在公司跟踪自己的工作计划时,我使用的 gtd 工具是 vim 的插件 taskpaper,不过当任务比较多的时候,想要把已经完成的 任务备份起来,于是选择需要备份的条目剪切到新的文件中,但每次这样实在是太麻烦了,那就让代码来帮忙吧。

.vimrc 中添加内容如下:

com! -nargs=1 -range Sbak call MoveSelectedLinesToFile(<f-args>)
fun! MoveSelectedLinesToFile(filename)
    exec "'<,'>w! >>" . a:filename
    norm gvd
endfunc
vmap <F2> :Sbak %:t.bak<CR>

当你在选择了文本后,只要按下 <F2> 键,便可以将选中的内容移动到 <当前文件名>.bak 文件的末尾,方便吧。

不过为了便于查看,最好能够将选中文本移动到备份文件的开头,不知道这里该怎么写。