MacVim / Vim 保留所有缓冲区的内容(如 Sublime Text)。保留交换吗?

MacVim / Vim 保留所有缓冲区的内容(如 Sublime Text)。保留交换吗?

总结:Vim 是否可以存储其交换文件,并在每次加载时加载同一组交换文件和缓冲区?

我在 Mac(操作系统:Maverick)上,其中许多应用程序将数据保存在某种本地/不显眼的位置贮存在机器重启/应用程序崩溃之间恢复。

经过 '贮存', 拿Sublime Text例如,只要我打开一个新选项卡,它就会保存选项卡的内容,即使我没有明确将该选项卡保存为文件以在任何地方永久存储。因此,如果我关闭 ST 并重新打开它(或者它/机器崩溃),它会恢复关闭前我拥有的所有选项卡和内容。

这种万无一失的内容保留(TM) 可见于许多 Mac 应用程序(例如 iMovie、QuickTime Player、TextEdit 等),并且符合 Mac 的设计理念,即始终让用户从上次中断的地方继续操作 - 而无需明确保存任何内容。

鉴于以下事实:
1. Vim 会保留交换文件,并且每 200 次点击 / 4 秒不活动时更新一次recover
。2. Vim 具有允许打开文件 / 交换的启动选项

这里有足够的基础让我怀疑 Vim / MacVim 是否没有这个内容保留(TM) 功能已经存在于其数百种配置选项之中?

附言我目前使用 vim-sessions,纯粹是为了“像文件分组一样的项目”,但它不会保留未保存的缓冲区的内容

聚苯硫醚一直在使用.vimrc 中的:preserve选项cpoptions+=&。似乎没有影响,MacVim 关闭时仍会删除交换文件,并且 MacVim 再次启动时不会打开任何内容

答案1

您提到的会话功能正是您想要的,但您需要向其传递一个选项,使其保存缓冲区以及打开的文件和位置。您可以使用:mksession它来实现这一点。

但是,:mksession仍然是手动控制的;虽然您可以将其绑定到热键以实现快速保存/恢复功能,但如果您忘记运行该命令,您将丢失会话。

因此,我建议会话.vimvim 插件。这(以及 .vimrc 中的一些额外选项)将自动保存和恢复会话。完整选项列表在页面上。具体来说,您需要告诉它将选项传递bufferssessionoptions,如这一页

相关内容