kev*_*kev 31
您可以分三步完成:
:'<,'>w! >>file.bak用于保存选定行的类型file.bak(追加)Sbak如果您愿意,可以编写用户定义的命令:
com! -nargs=1 -range Sbak call MoveSelectedLinesToFile(<f-args>)
fun! MoveSelectedLinesToFile(filename)
exec "'<,'>w! >>" . a:filename
norm gvd
endfunc
Run Code Online (Sandbox Code Playgroud)
Zso*_*kai 11
关于什么
:'<,'> w! >> /YOUR/SELECTIONFILE:'<,'>d那是你要的吗?如果这样设置了map它,就像
map <F2> :'<,'> w! >> /YOUR/SELECTIONFILE<cr>:'<,'>d<cr>
Run Code Online (Sandbox Code Playgroud)
注意此追加到SELECTIONFILE,而不仅是选择,而是整个线路.另外,阅读:h :w和:h ++opt(在其中您可以了解编写文件的可能选项(例如),您可以附加到具有不同编码的文件,这真的会让事情变得混乱,所以不要这样做;-)
您可以使用以下命令将 vim标记选择的文本写入文件中。
例如,您转到第 30 行:20,然后标记它ma,然后转到第 30 行:30并标记它mb,然后将第 20 行到第 30 行复制到文件 filename.dat :'a,'b w filename.dat。
:'a,'b w filename.dat将标记a到标记b的行写入文件 filename.dat
:'a,'b w! filename.dat将现有文件 filename.dat 替换为从标记a到标记b的行
:'a,'b w >> filename.dat将标记a到标记b的行追加到文件 filename.dat 中