ใช้ Vim / Gvim กับหน้าต่าง GUI หลายหน้าต่าง


25

เป็นไปได้หรือไม่ที่จะมีหน้าต่าง vim 2 บานขึ้นไป (G) สำหรับเซสชันเดียวกันหรืออย่างน้อยก็แบ่งปันบัฟเฟอร์บางอย่าง ที่นี่ "หน้าต่าง" หมายถึงหน้าต่าง Gnome (หรือ KDE หรือ Windows เป็นต้น) ไม่ใช่หน้าต่าง VIM

ฉันใช้สองหน้าจอกับ xinerama และต้องการเปิดหน้าต่าง GUI แยกกันสองจอแทนที่จะเป็นแบบเดี่ยวขนาดใหญ่ที่ครอบคลุมหลายหน้าจอ


คุณได้ลองแล้ว: sp <filename> หรือ: vsp <filename> หรือไม่ นี่คือคำสั่งแบ่งหน้าต่างของ vim และมันยอดเยี่ยม นี่คือเอกสารบางอย่าง
Tom Stephens

2
@ Tom Stephens: และนั่นช่วย .. ได้อย่างไร OP ต้องการจัดตำแหน่ง vim-windows ของอินสแตนซ์ ONE vim บนจอภาพของเขา OP ไม่ต้องการอินสแตนซ์ ONE Vim แบบหนึ่งข้ามบนจอภาพทั้งหมด
akira

1
นี้เป็นสิ่งสำคัญ; ตัวแก้ไขไม่ควรทำการจัดการหน้าต่างด้วยตัวเอง
Sam Watkins

คำตอบ:


19

ปัจจุบัน gVim ไม่สามารถมีหน้าต่าง 'tovelvel' แยกต่างหากสำหรับกระบวนการ / เซสชันเดียวกัน มีรายการสิ่งที่ต้องทำเพื่อใช้ระบบการสื่อสารระหว่างกระบวนการระหว่างอินสแตนซ์ Vim หลายอินสแตนซ์เพื่อให้มันทำงานราวกับว่ากระบวนการที่แยกเป็นเอกภาพ (ดู:help todoและค้นหา "ระดับสูงสุด")


7 ปีต่อมา Vim8 นี้ยังอยู่ในรายการสิ่งที่ต้องทำ
อัลจี

1
บริจาคเพื่อการกุศลเป็นกลุ่มและรับคะแนนจากนั้นลงคะแนนให้กับคุณลักษณะ: vim.org/sponsor/index.php
Heptite

3

ดูที่หน้าจอ GNU ที่ใช้ร่วมกับ Vim

หน้าต่างแรกเริ่มหน้าจอ gnu และเป็นกลุ่ม

xterm
screen -S edit
vim

หน้าต่างที่สองเชื่อมต่อกับเซสชันหน้าจอ:

xterm
screen -x edit

มีประโยชน์อย่างเหลือเชื่อผ่านเดสก์ท็อป xinerama หน้าจอเสมือนหลายหน้าจอหรือเซสชัน VNC Vim หนึ่งเซสชันพร้อมแท็บมากมายเป็นสิ่งที่คุณต้องการ

- ทอม


1
คะแนนสำหรับการสอนสั้น ๆ อย่างรวดเร็วถึงแม้ว่าฉันจะเรียกมันว่ามีประโยชน์เพียงเล็กน้อยเท่านั้นเพราะฉันไม่สามารถแก้ไขบัฟเฟอร์ของเซสชันเดียวกันด้วยวิธีนี้
Atilla Filiz

น่าสนใจนี่คือจุดที่หน้าจอชนะเหนือ tmux - ใน tmux ที่แนบมากับเซสชั่นเดียวกันจากไคลเอนต์ที่แตกต่างกันหมายความว่าคุณเห็นสิ่งที่สะท้อนในทั้งสองกรณี ... ฉันกำลังพิจารณาการรวมกันที่ไม่บริสุทธิ์ของทั้งสอง ค้นหาสิ่งที่ฉันต้องการจะทำ!
JonnyRaa

2

ถึงเวลาแล้วที่คุณถามคำถามของคุณและหลาย ๆ สิ่งได้รับการปรับปรุง Nvidia มีการรองรับไดร์เวอร์ที่ดีกว่าสำหรับจอภาพหลายจอบน Linux
ตอนนี้ฉันหยุดใช้ Gvim ตั้งแต่ย้ายมาที่ KDE: ตอนนี้ฉันกำลังใช้ vim-qt อนุญาตให้คุณเปิดหลายอินสแตนซ์ในกรณีที่คุณไม่ต้องการใช้ vim ในเทอร์มินัล

แก้ไข: การตั้งค่าของฉัน


ฉันลองตอนนี้ฉันจะใช้หลายอินสแตนซ์เหล่านี้ได้อย่างไร ดูเหมือน gvim ปกติที่มีหน้าตาที่แตกต่างออกไปเล็กน้อยสำหรับฉัน
Atilla Filiz

คุณสามารถเริ่ม vim-qt สองอินสแตนซ์เพื่อให้คุณมีหน้าต่างเดียวสำหรับแต่ละหน้าจอและแท็บ alt ระหว่างพวกเขาหรือกำหนดปุ่มลัดให้กับแต่ละหน้าต่าง Vim-qt เขียนขึ้นสำหรับ qt ดังนั้นสภาพแวดล้อมเดสก์ท็อปที่ใช้ qt เช่น KDE สามารถใช้หน้าต่างได้ดีขึ้น นั่นหมายความว่าคุณจะต้องเปิดหน้าต่างกราฟิกที่แตกต่างกันและหน้าต่างแบบกราฟิกของคุณจะเป็นแบบเต็มหน้าจอ ซึ่งไม่สามารถทำได้ด้วย gvim ปกติ
jollyroger

6
ขอบคุณที่สละเวลา แต่นี่ไม่ใช่สิ่งที่ฉันต้องการ ฉันต้องการเข้าถึงบัฟเฟอร์เดียวกันจากหน้าต่าง GUI แยกสองหน้าต่าง และสิ่งนี้เป็นไปไม่ได้เนื่องจากการแชร์บัฟเฟอร์ยังอยู่ในรายการสิ่งที่ต้องทำของ vim (ดูคำตอบที่ยอมรับ)
Atilla Filiz

1

คุณสามารถมีเซสชันได้มากเท่าที่คุณต้องการโดยใช้หน้าต่างเทอร์มินัลแยกกัน

สำหรับการไม่มีให้ครอบคลุมฉันคิดว่าคุณกำลังวางให้เต็มหน้าจอจากนั้นขยายไปทั่วทั้งสองจอภาพเนื่องจากตั้งค่าเป็นเดสก์ท็อปขยาย อย่าขยายให้ใหญ่สุดและปรับขนาดหน้าต่างเทอร์มินัลหรือ gvim ด้วยตนเอง

หากฉันพลาดเครื่องหมายโปรดลองทำอย่างละเอียดอีกหน่อย

คุณหมายถึงอะไรจากหน้าต่าง vim?

แก้ไข: นี่คือรูปของหน้าจอของฉันที่มีอินสแตนซ์ 4 เสียงเรียกใช้

หวังว่า Heptite จะโดนมันเพราะฉันหลงทางไปแล้ว


1
นั่นคือสิ่งที่ฉันกำลังทำอยู่ในขณะนี้ปรับขนาดด้วยตนเองเพื่อขยายจอภาพสองจอแล้ว: vsplit แต่มันดูน่าเกลียดและบางครั้งฉันต้องการเห็นบัฟเฟอร์บางส่วนบนเดสก์ท็อปเสมือนที่แตกต่างกัน สิ่งที่ฉันต้องการคือการใช้เทอร์มินัล differnet สองตัวและยังคงเข้าถึงบัฟเฟอร์เดียวกันจากทั้งคู่
Atilla Filiz

ฉันเข้าใจแล้ว. ดีใจที่เห็น Heptite ตอบให้คุณ
Dan M.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.