所以我在 Ubuntu 中用 Vim 编写,我做了一个:wq
,然后又回到 Vim。我复制了我需要的部分文本,然后删除了那部分,:wq
'd,然后回到 Vim 并意外复制了另一部分。我需要我最初复制的部分。我不能只按u
,因为我已经退出 Vim 并重新进入,所以我的撤消不会回到上一个会话。
有没有办法恢复第一个复制的部分?也许是 Vim 中的某种恢复或在 Ubuntu 中查看以前的副本?
任何帮助都会挽救生命,我将不胜感激,谢谢。
如果抽出的文本不是太大,你应该看看:reg
. 您抽出的内容可能在寄存器 1 或 2 中。
寄存器在会话之间保存,但对其内容的大小有硬性限制。您可以通过以下方式看到系统上的限制:set viminfo?
:默认值应包括<50
,s10
这意味着如果寄存器的内容少于 50 行和/或重量低于 10 Kb,则保存寄存器的内容。
如果你拉了几行相当长的行,你应该没问题。
看看:h 'viminfo'
你是否想改变这些值。
在这种情况下,我的回答对您没有帮助,但是对于将来,您可以在会话之间启用持久撤消文件。
为此,您需要设置该undofile
选项。
看:help persistent-undo
即使在关闭并重新打开文件后,它也允许您撤消。
该选项仅从 Vim 7.3 开始可用