จากvi
หากคุณออกคำสั่ง:sp
หน้าจอจะแบ่งเป็นสอง "มุมมอง" ซึ่งอนุญาตให้คุณแก้ไขมากกว่าหนึ่งไฟล์จากเทอร์มินัลเดียวกัน
ในบรรทัดเดียวกันนั้นมีวิธีที่จะเปิดเชลล์หลายอันในเทอร์มินัลเดียวกันหรือไม่?
จากvi
หากคุณออกคำสั่ง:sp
หน้าจอจะแบ่งเป็นสอง "มุมมอง" ซึ่งอนุญาตให้คุณแก้ไขมากกว่าหนึ่งไฟล์จากเทอร์มินัลเดียวกัน
ในบรรทัดเดียวกันนั้นมีวิธีที่จะเปิดเชลล์หลายอันในเทอร์มินัลเดียวกันหรือไม่?
คำตอบ:
คุณสามารถทำได้ในscreen
terminal multiplexer
หมายเหตุ: หลังจากแยกคุณจะต้องเข้าสู่ภูมิภาคใหม่และเริ่มเซสชันใหม่ผ่านทางctrlaนั้นcก่อนจึงจะสามารถใช้พื้นที่นั้นได้
แก้ไขการใช้หน้าจอพื้นฐาน:
ctrl+a
แล้วปล่อยทุกอย่างแล้วshift+s
(ไม่ทราบ caps lock เหมืองถูกปิดใช้งาน)
Ctrl A Shift S
แยกหน้าจอจากนั้นCtrl A Tab
สลับไปที่การแยกอื่นและCtrl A c
สร้างพรอมต์ bash มีอยู่หรือไม่ที่จะให้คำสั่งเหล่านี้ทำงานโดยอัตโนมัติเมื่อเริ่มต้นscreen
ดังนั้นเราจึงไม่จำเป็นต้องเรียกใช้คำสั่งตลอดเวลา
ลอง tmux (Terminal MUltipleXer):
และเพื่อให้เข้าใจความแตกต่างระหว่างsession
, window
และpane
:
byobu
(ซึ่งหุ้มทั้ง multiplexers เทอร์มินัล) แต่ Tmux ดูเหมือนจะเหนือกว่าในหลาย ๆ ด้านนอกเหนือจากการกำหนดค่า และก็เหนือกว่าเมื่อหลายปีก่อน หน้าจอที่ต้องการแพทช์สำหรับการแยกทั้งสองทิศทางและ Tmux มีมันออกมาจากกล่อง สุดท้าย แต่ไม่ท้ายสุดใบอนุญาตอาจเป็นข้อโต้แย้งสำหรับ Tmux หรือ Screen ขึ้นอยู่กับว่าคุณอยู่ที่ไหน
screen
หายไปจากการติดตั้ง Fedora 30 ที่ค่อนข้างใหม่ในขณะที่tmux
มีอยู่
ตามที่ระบุไว้ในความคิดเห็นที่นอกเหนือจากหน้าจออีก Multiplexer ขั้วที่ดีคือtmux คุณสามารถอ้างถึงคู่มือสำหรับคำอธิบายที่สมบูรณ์และการอ้างอิงคำสั่ง การดำเนินการพื้นฐานบางอย่างที่จะเริ่มต้นคือ:
คุณสามารถใช้เลย์เอาต์ที่ซับซ้อนมากขึ้นโดยการแยกบานหน้าต่าง นอกจากนี้คุณยังสามารถมีหลายหน้าต่างพร้อมบานหน้าต่างและสลับระหว่างหน้าต่างได้
หากคุณต้องการโปรแกรมที่เพิ่งแยกterminal¹ที่มีsplitvt มีโปรแกรมที่แบ่งเทอร์มินัลและทำสิ่งอื่น ๆ อีกมากมายเช่น Screen, Tmux, Emacs, ...
นอกเหนือจากคำแนะนำที่ดีเยี่ยมบนหน้าจอและ Tmux หากคุณใช้ตัวจัดการหน้าต่างบางประเภทคุณอาจสนใจTerminatorคุณสามารถแยกแฟชั่นแนวนอนหรือแนวตั้งรวมทั้งแท็บและอื่น ๆ ... นี่คือรายการคุณสมบัติที่นำมาจากเว็บไซต์ของผู้เขียน :
ดูภาพหน้าจอบนไซต์โครงการ
สิ่งสำคัญที่สุดคือคุณสามารถรวม Terminator เข้ากับ Screen / Tmux
ctrl-shift-h/j/k/l
เลื่อนไปมาระหว่างบานหน้าต่างและ ctrl- (shift) -tab สำหรับสลับระหว่างแท็บมันใช้งานได้ดีมาก
same terminal
สองครั้งดังนั้น Terminator หรือ tilix (ดังที่ได้กล่าวไว้โดย @sjas) ไม่ใช่คำแนะนำที่ดี หากคุณอยู่ในเซสชัน ssh ไปยังเซิร์ฟเวอร์ระยะไกลที่ไม่มีเซิร์ฟเวอร์ X คุณจะไม่สามารถเรียกใช้เครื่องมือเหล่านี้ได้
Konsole สำหรับ KDE มีฟังก์ชั่นในตัว :
Ctrl+ (เพื่อแยกมุมมองซ้าย / ขวา
Ctrl+ )to Split ดูด้านบน / ล่าง
Shift+ Tabจะวนผ่านมุมมองแบบแยก
Shift+ Left Arrow/ Right Arrowจะวนรอบมุมมองปัจจุบันผ่านแท็บ / มุมมอง
Ctrl+ Shift+ Xเพื่อปิดมุมมองปัจจุบัน
ใช้เทอร์มิเนเตอร์
ควรจะพร้อมใช้งานผ่านตัวจัดการแพคเกจที่คุณชื่นชอบถ้าคุณใช้การแจกแจงหลัก
เป็นเทอร์มินัลมัลติเพล็กเซอร์เดียวที่การคัดลอกวางทำงานได้อย่างถูกต้องจากภายในบานหน้าต่างในหน้าต่างของคุณ
อัปเดต: tilix
เป็นอีกterminator
ทางเลือกหนึ่งที่เกือบจะสมบูรณ์เมื่อเทียบกับเทอร์มิเนเตอร์ หลังจากประเมินแล้วฉันยังคงติดอยู่terminator
อย่างไรก็ตามเนื่องจากการจัดการแท็บที่ดีกว่าและการกำหนดค่าที่ง่ายขึ้น (จากมุมมอง POV)
ฉันมีความสุขผู้ใช้GuakeกับByobuภายในซึ่งโดยค่าเริ่มต้นใช้งานtmux
( อาจจะดีกว่าscreen
)
ติดตั้ง (ไม่ต้องมี PPA บน Ubuntu หรือ Debian ตรวจสอบ distros อื่น ๆ )
sudo apt install guake byobu
เพิ่มลงในกระสุนที่มี (ตามที่ฉันบอกในปัญหา Guake Github นี้ ):
which byobu | sudo tee -a /etc/shells
ในการตั้งค่า Guake ( guake-prefs
) เลือก Byobu เป็นล่ามเริ่มต้น:
ไม่บังคับ:ยกเลิกการเลือก "แสดงแถบแท็บ" เนื่องจากคุณจะใช้ Byobu สำหรับสิ่งนั้น:
ลองแบ่งแนวตั้งสำหรับหน้าจอ GNU
โปรแกรมแก้ไขนี้มีคุณสมบัติการแบ่งตามแนวตั้งสำหรับหน้าจอ GNU รุ่นปัจจุบัน คุณลักษณะนี้ได้รับการออกแบบให้ทำงานในลักษณะเดียวกับคำสั่งแบ่งที่มีอยู่บนหน้าจอ แต่การแบ่งพื้นที่ในแนวตั้งแทนที่จะเป็นแนวนอน การแยกทั้งสองแบบสามารถใช้ร่วมกันในการผสม / ปริมาณ / คำสั่งที่ต้องการ มีบางสิ่งที่คล้ายกันซึ่งจะปรากฏในหน้าจอ GNU 4.1 ในไม่ช้าและมีอยู่ใน CVS ต่อเธรดรายการส่งเมลนี้ (และรวมอยู่ในแพ็คเกจหน้าจอ Debian และ Ubuntu เริ่มต้นด้วย 4.0.3-10) นอกจากนี้โครงการล่าสุดชื่อ ScreenWM ได้รับการออกแบบโดยเฉพาะเพื่อทำงานกับหน้าจอ vsplit-patched (ลองดูสิ!)
Ctrl+|
แยกscreen
ในอูบุนตูออกจากค้างคาว