225

当我在 Sublime Text 窗口中设置了 2 列时,我可以在两列中显示相同的文件吗?

4

9 回答 9

340

编辑

随着 Sublime Text 4 的发布,现在有一个名为 Split View 的功能,您可以通过几种不同的方式访问它。通过菜单系统,您可以简单地使用File -> Split View. 您也可以右键单击选项卡并Split View从上下文菜单中选择。它会自动打开一个新窗格,其中包含当前所选文件的新视图。

您应该知道,与下面描述的新窗格不同,新的拆分视图窗格是临时的。这意味着如果您单击另一个选项卡或打开一个新文件,拆分视图就会消失。但是,文件的新视图仍作为单独的选项卡打开,因此要重新打开窗格(或比较任何打开的文件),请在左侧选择所需的选项卡,然后Ctrl单击 (Command ⌘</kbd>-click on macOS) on the other tab(s) you want to compare, and each one will be displayed in its own pane.

如果想要有两个(或更多)“永久”窗格,无论您单击哪个选项卡,它们都将保持打开状态,只需按照以下说明进行操作。


原始答案

(对于崇高文本 3)

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

有几种方法可以创建新窗格。如其他答案中所述,在 Linux 和 Windows 上,您可以使用AltShift2(Option ⌥</kbd>Command ⌘</kbd>2 on OS X), which corresponds to View → Layout → Columns: 2 in the menu. If you have the excellent Origami plugin installed, you can use View → Origami → Pane → Create → Right, or the CtrlK, Ctrl→</kbd> chord on Windows/Linux (replace Ctrl with ⌘</kbd> on OS X).

于 2014-05-30T23:33:48.300 回答
94

它的Shift++分成 2 个屏幕Alt2在菜单项 View -> Layout 下可以找到更多选项。
屏幕分割后,您可以使用快捷方式打开文件:
1. Ctrl+ P(从 sublime 中的现有目录)或
2. Ctrl+ O(浏览目录)

于 2015-01-02T05:52:41.623 回答
74

在 sublime 编辑器中,找到名为的选项卡View

View --> Layout --> "select your need"
于 2016-01-29T21:20:25.133 回答
12

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

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]]
于 2016-02-02T16:09:32.807 回答
6

我经常在 2 个不同的位置处理同一个文件。我在 Sublime Text 3 中使用折纸解决了这个问题,并带有一些额外的配置。

我的工作流程是Ctrl++将文件视图拆分为两个(水平k2窗格,下方的窗格处于活动状态。使用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" },
于 2016-07-29T08:33:47.637 回答
3

我建议你使用Origami。它是一个很好的分屏插件。有关键盘快捷方式的更多信息,请安装它并在重新启动 Sublime 文本后打开Preferences ->Package Settings ->Origami ->Key Bindings - Default

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

于 2015-01-08T13:23:08.337 回答
3

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

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

在此处输入图像描述

于 2018-10-15T08:54:09.873 回答
2

可以在拆分模式下编辑相同的文件。最好在以下 youtube 视频中进行解释。

https://www.youtube.com/watch?v=q2cMEeE1aOk

于 2017-06-07T10:14:27.673 回答
2

有点晚了,但我尝试扩展@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]]
            })
于 2019-01-05T00:55:43.603 回答