Answers:
: 0,0 w
:r
一切都毁了
:0,0 w应该将0到0行写进去,:r然后再读回它(现在为空),尽管我真的没有vim来测试它
: 0,0 w写一个局部缓冲区,所以(我)Vim拒绝保存它,我不得不说w!代替w。到目前为止一切正常,现在:r不会重新打开文件。相反,您必须说:e哪个将从文件系统读取文件。但是,尽管进行了此修改,但确实会更改缓冲区,但缓冲区远不是空的。它包含第一行(因为您保存了“ 0,0”)。至少undoing不起作用。
:set ul=-1
ggdG
:w
这将清除文件内容并保存。撤消是不可能的,因为undolevel设置为负数将禁用撤消操作。
编辑:最好写:g/^/d而不是ggdG,因为在后一种情况下,您可以使用p(put)回滚更改。
ggdG可以替换为:%d
ggdG,可以通过放(p)来反转,因此:g/^/d似乎仍然是一个更好的选择:)
:%d_比它短:g/^/d,也可以解决put问题。