最近的崩溃引发了这个问题 - 我打开了两个 gui 窗口。会话或插件有什么方法可以保存窗口配置和位置,并在完全退出/重新打开macvim时恢复它?我认为这将非常有用,但我无法通过谷歌找到任何关于它的信息。如果我在一个窗口中进行会话,它只会保存该窗口。
GVim 还是 MacVim?它与您的问题无关,但您的问题标题不能反映其主题。
在 GUI Vim 中,GUI 窗口是单独的实例,彼此之间没有太多了解,也没有共享进程。你想要的东西似乎在 Vim 本身中是不可能的。MacVim 作为单个进程运行,但每个 GUI 窗口仍然是一个单独的实例。也许你会有一些第三方选项。
它对您的两个 GUI 窗口没有真正的帮助,但您是否阅读了:h :mksession
和:h :mkview
?
阅读会话和视图(如 romainl 提到的):
:h :mksession
:h :mkview
这些将按照您想要的方式进行。就像他提到的,尽管您需要为每个 vim 实例保留不同的会话文件。例如:
:mksess! instance_1.vim
合二为一,和
:mksess! instance_2.vim
在另一种情况下。
重新加载会话,例如:
gvim -S instance_1.vim&
gvim -S instance_2.vim&
要分配密钥以轻松保存"当前"会话而无需进一步思考:
:nnoremap <F2> :exe "mksession! " . v:this_session<CR>
现在按 F2 将保存活动会话(例如已加载的会话)。