最近一次撞车引发了这个问题 - 我打开了两个gui窗户。会话或插件是否有任何方法可以保存窗口配置和位置,并在完全退出/重新打开macvim时恢复它?我认为这将是非常有用的,但我无法通过谷歌找到任何关于它的内容。如果我在一个窗口中进行会话,则只保存该窗口。
答案 0 :(得分:2)
GVim还是MacVim?它与您的问题无关,但您的问题标题并未反映其主题。
在GUI Vim中,GUI窗口是单独的实例,彼此之间没有太多的了解,也没有共享进程。你想要的东西在Vim内部似乎是不可能的。 MacVim作为单个进程运行,但每个GUI窗口仍然是一个单独的实例。也许你会在那里有一些第三方选择。
它对您的两个GUI窗口确实没有帮助,但您是否阅读了:h :mksession
和:h :mkview
?
答案 1 :(得分:1)
阅读会话和观点(如提到的romainl):
:h :mksession
:h :mkview
这些可以满足您的需求。就像他提到的那样,尽管你想要为每个vim实例保留不同的会话文件。 E.g:
: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将保存活动会话(例如已加载的会话)。