sublimetext2 - Showing the same file in both columns of a Sublime Text window


Translate

When I have 2 columns set in a Sublime Text window, can I display the same file in both columns?


All Answers
  • Translate

    Yes, you can. When a file is open, click on File -> New View Into File. You can then drag the new tab to the other pane and view the file twice.

    There are several ways to create a new pane. As described in other answers, on Linux and Windows, you can use AltShift2 (Option ⌥Command ⌘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 chord on Windows/Linux (replace Ctrl with on OS X).


  • Translate

    Its Shift + Alt + 2 to split into 2 screens. More options are found under the menu item View -> Layout.
    Once the screen is split, you can open files using the shortcuts:
    1. Ctrl + P (From existing directories within sublime) or
    2. Ctrl + O(Browse directory)


  • Translate

    Inside sublime editor,Find the Tab named View,

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

  • Translate

    Here is a simple plugin to "open / close a splitter" into the current file, as found in other editors:

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

    Save it as Packages/User/split_pane.py and bind it to some hotkey:

    {"keys": ["f6"], "command": "split_pane"},
    

    If you want to change to vertical split change with following

            "cols": [0.0, 0.46, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
    

  • Translate

    I regularly work on the same file in 2 different positions. I solved this in Sublime Text 3 using origami and chain with some additional config.

    My workflow is ctrl-k 2 splits the view of the file in two (horizontal) panes with the lower one active. Use ctrl-k o to toggle between the panes. When done ensure the lower pane is the active and press ctrl-f4 to close the duplicated view and the pane.

    In sublime global settings (not origami settings!) add

    "origami_auto_close_empty_panes": true,
    

    Add the following shortcuts

      { "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" },
    

  • Translate

    I would suggest you to use Origami. Its a great plugin for splitting the screen. For better information on keyboard short cuts install it and after restarting Sublime text open Preferences->Package Settings -> Origami -> Key Bindings - Default

    For specific to your question I would suggest you to see the short cuts related to cloning of files in the above mentioned file.


  • Translate

    It is possible to edit same file in Split mode. It is best explained in following youtube video.

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


  • Translate

    View -> Layout -> Choose one option or use shortcut

    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
    

    enter image description here


  • Translate

    Kinda little late but I tried to extend @Tobia's answer to set the layout "horizontal" or "vertical" driven by the command argument e.g.

    {"keys": ["f6"], "command": "split_pane", "args": {"split_type": "vertical"} } 
    

    Plugin code:

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