我在Ubuntu的Vim中编写代码,输入:wq
保存后回到Vim中,复制了一部分需要的文本,然后删除了该部分,再次输入:wq
保存,又回到了Vim中,不小心复制了另一部分文本。我需要的是第一次复制的那部分文本。但是我不能直接按u
来撤销,因为我已经退出了Vim并重新进入,所以我的撤销无法返回到上一个会话。
有没有办法恢复第一次复制的那部分文本?也许Vim中有某种恢复方式,或者可以在Ubuntu中查看以前复制的内容?
任何帮助都会拯救我的生命,我会非常感激,谢谢。
我在Ubuntu的Vim中编写代码,输入:wq
保存后回到Vim中,复制了一部分需要的文本,然后删除了该部分,再次输入:wq
保存,又回到了Vim中,不小心复制了另一部分文本。我需要的是第一次复制的那部分文本。但是我不能直接按u
来撤销,因为我已经退出了Vim并重新进入,所以我的撤销无法返回到上一个会话。
有没有办法恢复第一次复制的那部分文本?也许Vim中有某种恢复方式,或者可以在Ubuntu中查看以前复制的内容?
任何帮助都会拯救我的生命,我会非常感激,谢谢。
:reg
的输出。您复制的文本可能存储在寄存器1或2中。:set viminfo?
可以在您的系统上查看该限制:默认值应包括<50
和s10
,这意味着如果寄存器的内容少于50行和/或重量小于10 KB,则保存其内容。:h 'viminfo'
。在这种情况下,我的回答可能对您没有帮助,但将来可以启用跨会话的持久化undofile。
为此,您需要设置undofile
选项。
请参阅:help persistent-undo
它将允许您在关闭和重新打开文件后仍然撤消。
该选项仅适用于Vim 7.3及以上版本。