我想将当前标签移动到MacVim中的新(可视/实际)窗口中.
这可能很难,因为:
所以我想知道是否有人找到了实现这一目标的方法?
我认为你能想到的最接近的是使用mksession
这将有几个缺点(例如,最初辅助会话将打开比最终所需更多的缓冲区)。但是,它将保留您的映射、设置、历史记录、窗口布局(如果当前选项卡中有多个窗口,它们都会被克隆)。
如果这个想法让您感兴趣,您可以考虑创建一个脚本来过滤会话文件中的某些部分(这是另一个 Vim 文本脚本)
:mksession! $HOME/detach.vim
:tabclose
:silent! !gvim remote --servername Detach -nR +'silent! source H:\detach.vim' +tabonly
Run Code Online (Sandbox Code Playgroud)
:he mksession):silent!(尽量不要说太多)!gvim remote --servername Detach; 启动一个新的远程 Vim 服务器(如果尚不存在),或者与名为的现有服务器对话Detach-nR TODO 修复 这是为了避免使用交换文件(因为我发现没有办法抑制可怕的ATTENTION消息[1])。但是,根据您的情况,这可能是不安全的建议,这就是为什么我还包括-R只读模式+'silent! source H:\detach.vim' +tabonly-- 在远程 vim 中,获取要克隆的会话,并仅保留活动选项卡(已在步骤 1 中关闭)。当然,边缘有点粗糙,但我觉得非常接近你的意图。如果您觉得舒服,您可以放下-nR标志,然后单击一些烦人的交换文件注意消息(键盘:)Q。
[1]:he ATTENTION
:silent! !start /b gvim ....在 Windows 上,如果您有终端窗口,您可能需要使用:simalt ~x序列是最大化窗口的一种巧妙方法(假设是英语 UI,因为它x是 Ma imize 的加速器x):se undofile