Tabs 将单独的窗口(和其中的选项卡)合并到升华文本3中的一个窗口中
在我的mac电脑上,我在SublimiteText 3中使用了很多选项卡和窗口。我经常喜欢拉出标签来创建一个新窗口,但后来,我希望能够轻松地合并它们 场景:我打开了两个SublimateText窗口,每个窗口有5个选项卡。现在,我想将窗口2的所有选项卡合并到窗口1中,这样我只剩下一个包含10个选项卡的窗口 Chrome有一个很棒的扩展名为,它完美地展示了这种行为Tabs 将单独的窗口(和其中的选项卡)合并到升华文本3中的一个窗口中,tabs,sublimetext3,Tabs,Sublimetext3,在我的mac电脑上,我在SublimiteText 3中使用了很多选项卡和窗口。我经常喜欢拉出标签来创建一个新窗口,但后来,我希望能够轻松地合并它们 场景:我打开了两个SublimateText窗口,每个窗口有5个选项卡。现在,我想将窗口2的所有选项卡合并到窗口1中,这样我只剩下一个包含10个选项卡的窗口 Chrome有一个很棒的扩展名为,它完美地展示了这种行为 在SublimateText 3中我将如何做到这一点?这是可行的,但不受支持,如果你搞砸了,可能会耗尽你的缓冲区。所以备份这个文件 /
在SublimateText 3中我将如何做到这一点?这是可行的,但不受支持,如果你搞砸了,可能会耗尽你的缓冲区。所以备份这个文件 /用户/username/Library/Application Support/Sublime Text 3/Local/Session.Sublime_Session 此文件包含所有会话数据、所有窗口、选项卡搜索历史记录等 按照以下说明,可以将整个选项卡窗口从一个窗口移动到另一个窗口: 查找“Windows”JSON条目,其中是一个窗口列表,该列表用[]括号表示,并用逗号分隔。“窗口”列表中每个“窗口”条目的内部是一个“缓冲区”列表,每个“缓冲区”代表一个选项卡。 还有一个“组”列表,其中包含一个“工作表”列表,该列表功能相同,但包含有关选项卡的信息,而不包含太多内容 在本练习中,我们对其中的其他数据位不感兴趣,但在打开Sublime之前,文件必须通过JSON验证,这一点非常重要
"windows":
[
{
"auto_complete":
{
"selected_items":
[
]
},
"buffers":
[
{
"contents": "This tab has not been saved and is in Window 1",
"settings":
{
"buffer_size": 46,
"line_ending": "Unix",
"name": "This tab has not been saved and is in Window 1"
}
},
{
"file": "/Users/username/Desktop/This file has been saved and not changed and is in Window 1",
"settings":
{
"buffer_size": 59,
"line_ending": "Unix",
"name": "This file has been saved and not changed and is in Window 1"
}
}
],
"groups":
[
{
"selected": 0,
"sheets":
[
{
"buffer": 0,
"semi_transient": false,
"settings":
{
"buffer_size": 46,
"regions":
{
},
"selection":
[
[
46,
46
]
],
"settings":
{
"auto_name": "This tab has not been saved and is in Window 1",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
},
{
"buffer": 1,
"file": "/Users/username/Desktop/This file has been saved and not changed and is in Window 1",
"semi_transient": false,
"settings":
{
"buffer_size": 59,
"regions":
{
},
"selection":
[
[
59,
59
]
],
"settings":
{
"auto_name": "This file has been saved and not changed and is in",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"type": "text"
}
]
}
]
},
{
"buffers":
[
{
"contents": "This tab is also unsaved and in Window 2.",
"settings":
{
"buffer_size": 41,
"line_ending": "Unix",
"name": "This tab is also unsaved and in Window 2."
}
}
],
"groups":
[
{
"selected": 0,
"sheets":
[
{
"buffer": 0,
"semi_transient": false,
"settings":
{
"buffer_size": 41,
"regions":
{
},
"selection":
[
[
41,
41
]
],
"settings":
{
"auto_name": "This tab is also unsaved and in Window 2.",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
}
]
}
]
}
如果将每个“缓冲区”条目从第二个“窗口”重新定位到第一个“窗口”的末尾,并对“组”下的每个“工作表”重复此操作。然后将每个工作表条目的“缓冲区”编号更新为更高的值,它们应按先前存在的条目顺序排列。当您打开升华3时,您会注意到窗口2的所有选项卡现在都在窗口1中
编辑的会话文件看起来有点像这样:
"windows":
[
{
"auto_complete":
{
"selected_items":
[
]
},
"buffers":
[
{
"contents": "This tab has not been saved and is in Window 1",
"settings":
{
"buffer_size": 46,
"line_ending": "Unix",
"name": "This tab has not been saved and is in Window 1"
}
},
{
"file": "/Users/username/Desktop/This file has been saved and not changed and is in",
"settings":
{
"buffer_size": 59,
"line_ending": "Unix",
"name": "This file has been saved and not changed and is in"
},
},
{
"contents": "This tab is also unsaved and in Window 2.",
"settings":
{
"buffer_size": 41,
"line_ending": "Unix",
"name": "This tab is also unsaved and in Window 2."
}
}
],
"groups":
[
{
"selected": 0,
"sheets":
[
{
"buffer": 0,
"semi_transient": false,
"settings":
{
"buffer_size": 46,
"regions":
{
},
"selection":
[
[
46,
46
]
],
"settings":
{
"auto_name": "This tab has not been saved and is in Window 1",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
},
{
"buffer": 1,
"file": "/Users/username/Desktop/This file has been saved and not changed and is in",
"semi_transient": false,
"settings":
{
"buffer_size": 59,
"regions":
{
},
"selection":
[
[
59,
59
]
],
"settings":
{
"auto_name": "This file has been saved and not changed and is in",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"type": "text"
},
{
"buffer": 2,
"semi_transient": false,
"settings":
{
"buffer_size": 41,
"regions":
{
},
"selection":
[
[
41,
41
]
],
"settings":
{
"auto_name": "This tab is also unsaved and in Window 2.",
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
}
]
}
]
},
{
"buffers":
[
],
"groups":
[
{
"selected": 0,
"sheets":
[
]
}
]
}
给你。它既不美观也不直接,但可以很快完成任务,并且可以使用Python、Perl或许多其他语言编写脚本,特别是如果您使用JSON库。这并不是您想要的,但我认为这已经足够: 将选项卡从“源”窗口拖动到“目标”窗口,并将光标悬停在源窗口中其他选项卡附近。然后把它放在那里。瞧。您已经移动了一个选项卡。
冲洗并重复其他标签。我创建了一个Supreme软件包来帮助解决这个问题,名为
它可以从Sublime下载,也可以使用Sublime下载。[不确定是否适用于其他操作系统,但对于MAC来说,它很容易而且非常有用] 在mac中,打开sublime
click Window -> Click Merge all Windows
另外,如果你只打开了一个非常明显的窗口,请确保这不会起作用。好问题。类似地,当我使用通用的
subl
别名从命令行启动ST3时,我希望所有新文件都在同一个窗口中启动,只需单独的选项卡。如果您可以将选项卡拖出以创建新窗口,您就不能将选项卡拖回另一个窗口吗?@rowmorehouse添加此“在新窗口中打开文件”:false
至设置-用户
。这将在同一窗口中打开所有文件,但它们各自的选项卡。@Row Morehouse:我不希望所有文档都在同一窗口中打开,因为我有很多理由使用不同的窗口。我只是希望能够快速(最好是通过键盘)整合所有内容。@Blkc,你可以这样做,但当你有25个以上的选项卡时,很快就会发现键盘快捷键或一键解决方案是必要的。嘿,Joshua,谢谢你的想法。“不支持”是什么意思?在升华文本中没有这样的规定,即使是通过一个包?理想情况下,我希望有一个包(例如,在packagecontrol.io上),因为我觉得很多人都会从完善的实现中受益。但我不是程序员……没错。在Sublime中没有自动执行两个缓冲区文件合并的功能,但是可以自己执行,因为文件是JSON。Sublime可以添加一个缓冲区合并功能,但这取决于作者是否觉得这个想法足够有用,足以证明实现它的合理性。另一个可能有用的特性是机器之间缓冲区的云同步。也可以将窗口或选项卡缓冲区组的导出/导入添加到文件中。