แสดงไฟล์เดียวกันในทั้งสองคอลัมน์ของหน้าต่าง Sublime Text


203

เมื่อฉันมี 2 คอลัมน์ในหน้าต่างข้อความ Sublime ฉันสามารถแสดงไฟล์เดียวกันในทั้งสองคอลัมน์ได้หรือไม่?

คำตอบ:


307

ใช่คุณสามารถ. 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)


12
Ctrl + Shift + 2 ทางลัดสำหรับหน้าจอแยกและลากไฟล์ทับ
zadubz

คุณยังสามารถใช้ปุ่มลูกศร Windows + Ctrl + เพื่อจัดเรียงหน้าต่าง
Shital Shah

cmd ในการโพสต์ถัดไปทำงาน - Shift + Alt + 2 เพื่อแยกออกเป็น 2 หน้าจอไม่ใช่อันนี้ด้านล่าง
LED Fantom

@LEDFantom เมื่อคุณพูดคำตอบนี้ไม่ทำงานคุณหมายถึงอะไร OP ทราบวิธีสร้าง windows ที่แยกแล้วซึ่งเป็นเหตุผลที่ฉันไม่ได้อธิบายวิธีการทำในคำตอบของฉัน ฉันไม่แน่ใจว่าการลงคะแนนเสียงนั้นมีไว้เพื่ออะไร
MattDMo

@ MattDMo ฉันเห็นสิ่งที่คุณหมายถึงตอนนี้ ฉันจะลบการลงคะแนนได้อย่างไร
LED Fantom

93

มันShift+ Alt+ 2เพื่อแบ่งออกเป็น 2 หน้าจอ พบตัวเลือกเพิ่มเติมภายใต้รายการเมนูมุมมอง -> เลย์เอาต์
เมื่อหน้าจอถูกแบ่งคุณสามารถเปิดไฟล์โดยใช้ทางลัด:
1. Ctrl+ P(จากไดเรกทอรีที่มีอยู่ภายในประเสริฐ) หรือ
2 Ctrl+ O(เรียกดูไดเรกทอรี)


2
หากต้องการขยาย CTRL + P จะอนุญาตให้คุณ "เปิด" ไฟล์เดียวกันมากกว่าหนึ่งครั้ง
jayflo

65

ภายในบรรณาธิการประเสริฐหาแท็บชื่อView,

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

1
View --> Layout --> "select your need" เลือกความต้องการของคุณ = [เดี่ยว, คอลัมน์, แถว, กริด] ดังนั้นนี่หมายถึงตัวเลือกที่มีให้เมื่อคุณไปที่ Layout. ลองก่อนทดสอบใน Sublime 2
sg28

ขอขอบคุณการนำทางเมนูแทนที่จะเป็นทางลัดที่เกิดขึ้นกับผู้ใช้บางคนและไม่ได้อธิบายว่าคุณลักษณะใดที่ใช้งานได้ดีซึ่งเป็นเมนูที่กำหนดไว้อย่างชัดเจน :)
แหลม

นี่ควรเป็นที่ยอมรับเท่านั้นนี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน คนที่ยอมรับไม่ทำงานอีกต่อไป อาจไม่สามารถใช้งานได้ในเวอร์ชันปัจจุบัน
VaTo

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 ตำแหน่งที่แตกต่างกัน ฉันแก้ไขมันใน Sublime Text 3 โดยใช้origamiและchainกับ config เพิ่มเติมบางอย่าง

เวิร์กโฟลว์ของฉันคือ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

@ wehal3001 ขอขอบคุณอัปเดต (อัปเดตการตั้งค่าแบบกลมด้วยซึ่งมีการวางการตั้งค่าผิด)
mrtnlrsn

2

ผมขอแนะนำให้คุณใช้Origami มันเป็นปลั๊กอินที่ยอดเยี่ยมสำหรับการแยกหน้าจอ สำหรับข้อมูลที่ดีขึ้นเกี่ยวกับแป้นพิมพ์ลัดติดตั้งและหลังจากรีสตาร์ท Sublime text open การกำหนดค่าตามความชอบการตั้งค่า->แพ็คเกจ->Origami ->Key Bindings - Default

สำหรับคำถามของคุณโดยเฉพาะฉันขอแนะนำให้คุณดูทางลัดที่เกี่ยวข้องกับการโคลนไฟล์ในไฟล์ที่กล่าวถึงข้างต้น



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

ค่อนข้างช้า แต่ฉันพยายามที่จะขยายคำตอบ @ 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]]
            })
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.