热出口是Sublime Text编辑器的杀手级功能之一。它允许在任何时间关闭编辑器,而无需担心打开文件中的修改-它只是关闭而没有任何问题。再次启动ST时,所有打开和编辑的文件都将与关闭前的状态相同
我想知道是否有办法在vim中做同样的事情?
热出口是Sublime Text编辑器的杀手级功能之一。它允许在任何时间关闭编辑器,而无需担心打开文件中的修改-它只是关闭而没有任何问题。再次启动ST时,所有打开和编辑的文件都将与关闭前的状态相同
我想知道是否有办法在vim中做同样的事情?
Answers:
Vim可以做到这一点,尽管可能有些笨拙并需要进行一些设置。
罗曼(Romainl)让你与之同行session
。缺少的位是交换文件:preserve
,以及的&
标志cpoptions
。
交换文件用于在Vim或系统崩溃时进行恢复。它们使您能够恢复所有未保存的更改(有一些限制,请参见参考资料:he swap-file
)。但是,当Vim正常退出时,即使缓冲区有未保存的更改,它也会删除正在使用的所有交换文件。
这就是:preserve
和cpoptions
的&
进来,:preserve
力量Vim在所有缓冲区立即写信给他们的交换文件(4秒或200个字符,或者无论你的选项中设置它后不是标准)。这样可以:set cpoptions+=&
告诉Vim 在正常退出时不要删除与之保存的交换文件:preserve
。
不幸的是,Vim在从交换文件中恢复时不会自动清除它们,因此您很快就可以得到一个如下所示的目录:
.foo.txt.swn
.foo.txt.swo
.foo.txt.swp
foo.txt
您可以手动删除较旧的文件,但是Vim仅在有*.swp
文件放置新交换文件的情况下自动提供恢复。该:recover
命令将强制Vim查找要从中恢复的交换文件。
通过使用自动命令,您可以自动进行保留(可能与QuitPre
事件有关)和恢复(可能与BufRead
或有关BufReadPost
)。Recover.vim是一个插件,可以作为友好的替代品来管理恢复。它似乎还可以处理交换文件。我不确定如何处理.swo
没有.swp
文件的目录。您可能仍然需要使用:recover
这种情况。
vim-obsession是另一个声称可以简化会话处理的插件。
是。它称为“会话”,您可以在以下网站中阅读有关它的全部信息:
:help session