我想删除最后 10 行并将其移动到另一个文件。
我目前做的是:
:'<,'>w
写这些行到其他文件,有没有更有效的方法可以做到这一点?
最佳答案
您可以使用 ex
命令代替。例如:1,10w file.name
写下 第一 十行:$-9,$w file.name
写下 最后 十行(美元符号表示最后一行)
在您的 .vimrc
中输入以下代码您可以使用命令 :MoveTo file.name
function! MoveLastLines(f)
exe '$-9,$w ' . a:f "write last ten lines to the passed filename
$-9,$d "delete last ten lines
endfunction
command! -nargs=1 -range MoveTo :call MoveLastLines(<f-args>)
在正常模式下,您提到的步骤(
GV9k:w file.name gvd
)在我看来是最有效的。
关于vim - 删除 Vim 中的行并将其重定向到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720520/