在Sublime Text窗口的两列中显示相同的文件


Answers:


307

是的你可以。打开文件后,单击File -> New View Into File。然后,您可以将新选项卡拖到另一个窗格中,并查看文件两次。

有几种创建新窗格的方法。如其他答案所述,在Linux和Windows上,您可以使用AltShift2Option ⌥Command ⌘2在OS X上),它与View → Layout → Columns: 2菜单中的相对应。如果你有出色的Origami安装插件,你可以使用View → Origami → Pane → Create → Right,或者CtrlKCtrl在Windows / Linux的弦(替换Ctrl在OS X)。


12
Ctrl + Shift + 2快捷键用于拆分屏幕并将文件拖到上方
zadubz 2014年

您也可以使用Windows + Ctrl +箭头键排列窗口。
Shital Shah

下一篇文章中的cmd起作用-Shift + Alt + 2分成2个屏幕,而不是下面的屏幕。
LED Fantom

@LEDFantom当您说此答案无效时,您是什么意思?OP已经知道如何创建拆分窗口,这就是为什么我在回答中没有解释如何执行此操作的原因。我不确定那票是干什么的。
MattDMo

@MattDMo,我明白您的意思了。如何删除不赞成票?
LED Fantom

93

Shift+ Alt+ 2分为2个屏幕。在菜单项“视图”->“布局”下可以找到更多选项。
屏幕拆分后,您可以使用快捷方式打开文件:
1. Ctrl+ P(从Sublime中的现有目录中)或
2。Ctrl+ O(浏览目录)


2
要展开,CTRL + P将允许您多次打开同一文件。
jayflo

65

在Sublime编辑器中,找到名为的标签View

View --> Layout --> "select your need"

1
View --> Layout --> "select your need" 选择您的需求= [单列,行,网格]。因此,这意味着,当你去布局的可用选项。尝试了第一,二经测试,在崇高
SG28

欣赏菜单导航,而不是仅仅为某些用户使用的快捷方式,并且没有解释正在使用的高级功能-菜单明确定义了什么。:)
敏锐的

这应该是唯一被接受的,这对我有用。被接受的人不再起作用。可能在当前版本中不起作用。
VaTo19年

10

这是一个简单的插件,可以“打开/关闭拆分器”到当前文件中,如其他编辑器中所示:

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]]

6

我经常在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软件包
wehal3001 2016年

@ wehal3001,谢谢,已更新(还更新了粘贴错误设置的全局设置)。
mrtnlrsn

2

我建议您使用折纸。它是分割屏幕的绝佳插件。有关键盘快捷键的更多信息,请安装并重新启动Sublime文本后,打开“首选项” ->程序包设置->折纸->键绑定-默认

对于您的问题,我建议您查看上述文件中与克隆文件有关的快捷方式。



2

查看->布局->选择一个选项或使用快捷方式

Layout        Shortcut

Single        Alt + Shift + 1
Columns: 2    Alt + Shift + 2
Columns: 3    Alt + Shift + 3
Columns: 4    Alt + Shift + 4
Rows: 2       Alt + Shift + 8
Rows: 3       Alt + Shift + 9
Grid: 4       Alt + Shift + 5

在此处输入图片说明


1

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]]
            })
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.