Answers:
是的你可以。打开文件后,单击File -> New View Into File
。然后,您可以将新选项卡拖到另一个窗格中,并查看文件两次。
有几种创建新窗格的方法。如其他答案所述,在Linux和Windows上,您可以使用AltShift2(Option ⌥Command ⌘2在OS X上),它与View → Layout → Columns: 2
菜单中的相对应。如果你有出色的Origami
安装插件,你可以使用View → Origami → Pane → Create → Right
,或者CtrlK,Ctrl→在Windows / Linux的弦(替换Ctrl用⌘在OS X)。
这是一个简单的插件,可以“打开/关闭拆分器”到当前文件中,如其他编辑器中所示:
import sublime_plugin
class SplitPaneCommand(sublime_plugin.WindowCommand):
def run(self):
w = self.window
if w.num_groups() == 1:
w.run_command('set_layout', {
'cols': [0.0, 1.0],
'rows': [0.0, 0.33, 1.0],
'cells': [[0, 0, 1, 1], [0, 1, 1, 2]]
})
w.focus_group(0)
w.run_command('clone_file')
w.run_command('move_to_group', {'group': 1})
w.focus_group(1)
else:
w.focus_group(1)
w.run_command('close')
w.run_command('set_layout', {
'cols': [0.0, 1.0],
'rows': [0.0, 1.0],
'cells': [[0, 0, 1, 1]]
})
将其另存为Packages/User/split_pane.py
并将其绑定到某些热键:
{"keys": ["f6"], "command": "split_pane"},
如果要更改为垂直分割,请更改以下内容
"cols": [0.0, 0.46, 1.0],
"rows": [0.0, 1.0],
"cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
我经常在2个不同的位置处理同一个文件。我使用解决了这个在崇高的文本3 折纸和链带一些额外的配置。
我的工作流程是Ctrl+ k+ 2将文件视图分为两个(水平)窗格,其中较低的一个处于活动状态。使用Ctrl+ k+ o在窗格之间切换。完成后,确保下部窗格处于活动状态,然后按Ctrl+ F4关闭重复的视图和窗格。
在崇高的全局设置(不是折纸设置!)中添加
"origami_auto_close_empty_panes": true,
添加以下快捷方式
{ "keys": ["ctrl+k", "2"],
"command": "chain",
"args": {
"commands": [
["create_pane", {"direction": "down"}],
["clone_file_to_pane", {"direction": "down"}],
],
}
},
{ "keys": ["ctrl+k", "o"], "command": "focus_neighboring_group" },
chain
命令起作用(在快捷方式中可见),您还将需要安装Chain of Command软件包。
我建议您使用折纸。它是分割屏幕的绝佳插件。有关键盘快捷键的更多信息,请安装并重新启动Sublime文本后,打开“首选项” ->
程序包设置->
折纸->
键绑定-默认
对于您的问题,我建议您查看上述文件中与克隆文件有关的快捷方式。
可以在分割模式下编辑相同的文件。最好在以下youtube视频中进行解释。
Kinda有点晚了,但是我尝试扩展@Tobia的答案来设置由命令参数驱动的布局“水平”或“垂直”,例如
{"keys": ["f6"], "command": "split_pane", "args": {"split_type": "vertical"} }
插件代码:
import sublime_plugin
class SplitPaneCommand(sublime_plugin.WindowCommand):
def run(self, split_type):
w = self.window
if w.num_groups() == 1:
if (split_type == "horizontal"):
w.run_command('set_layout', {
'cols': [0.0, 1.0],
'rows': [0.0, 0.33, 1.0],
'cells': [[0, 0, 1, 1], [0, 1, 1, 2]]
})
elif (split_type == "vertical"):
w.run_command('set_layout', {
"cols": [0.0, 0.46, 1.0],
"rows": [0.0, 1.0],
"cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
})
w.focus_group(0)
w.run_command('clone_file')
w.run_command('move_to_group', {'group': 1})
w.focus_group(1)
else:
w.focus_group(1)
w.run_command('close')
w.run_command('set_layout', {
'cols': [0.0, 1.0],
'rows': [0.0, 1.0],
'cells': [[0, 0, 1, 1]]
})