恢复Vim中删除的行?

DJ_*_*DJ_ 4 vim ubuntu recovery copy paste

所以我在Ubuntu的Vim写作,我做了一个:wq,然后又回到了Vim.我复制了我需要的部分文本,然后删除了那部分:wq,然后又回到Vim并意外复制了另一部分.我需要先复制的部分.我不能只是按,u因为我已经离开Vim并重新进入,所以我的回复不会回到前一个会话.

有没有办法恢复第一个复制部分?也许在Vim中有某种恢复或者在Ubuntu中看到以前的副本?

任何帮助都会挽救生命,我会非常感激,谢谢.

rom*_*inl 8

如果拉出的文本不是太大,你应该看一下输出:reg.你猛拉的可能是寄存器1或2.

寄存器在会话之间保存,但内容大小有严格限制.您可以在以下系统中看到系统限制:set viminfo?:默认值应包括,<50s10表示如果寄存器的内容少于50行和/或10 Kb以下的重量,则保存寄存器的内容.

如果你猛拉了几条相当长的线条,你应该没问题.

看看:h 'viminfo'您是否要更改这些值.


Xav*_* T. 6

在这种情况下,我的回答对您没有帮助,但是对于将来,您可以在会话之间启用持久性撤消文件。

为此,您需要设置该undofile选项。

:help persistent-undo

即使在关闭并重新打开文件后,它也允许您撤消。

该选项仅自 Vim 7.3 起可用