ฉันจะเก็บรายการบัฟเฟอร์ต่อหน้าต่างใน Vim ได้อย่างไร?


15

ผมแปลกใจที่ผมยังไม่ได้รับสามารถที่จะหาคำตอบนี้ แต่บางทีฉันไม่มีอะไรชัดเจน: มันเป็นไปได้ที่จะเก็บรายชื่อบัฟเฟอร์ต่อหน้าต่าง ? ฉันมักจะมีประมาณสี่แยกและแต่ละคนมักจะให้บริการวัตถุประสงค์เฉพาะ: CSS ในที่หนึ่ง, JS ในที่อื่น, HTML ในอื่น ๆ ไม่กี่ ฯลฯ

สิ่งที่ฉันกำลังมองหาคือปลั๊กอินที่ทำให้สิ่งนี้สำเร็จ เมื่อเร็ว ๆ นี้ฉันใช้ BufExplorer ซึ่งมีการตั้งค่าที่ให้คุณเก็บรายการบัฟเฟอร์ต่อแท็บ แต่ไม่ใช่ต่อหน้าต่าง

ฉันชอบรายการ MRU ที่ BufExplorer มี แต่ฉันพบว่ามันน่ารำคาญที่มันขึ้นอยู่กับรายชื่อบัฟเฟอร์ทั่วโลก - สิ่งที่ฉันต้องการคือประวัติ MRU ต่อหน้าต่าง


คุณหาไม่พบเพราะมันยังไม่ได้สร้าง เพื่อนบ้านที่ใกล้ที่สุดส่วนใหญ่ระบุไว้ในคำถาม & คำตอบนี้
อเล็กซานเดรียใหม่

คำตอบ:


1

IMHO สิ่งที่คุณต้องการจริงๆคือผู้จัดการพื้นที่ทำงาน

คุณสามารถค้นหา vim @ http://www.vim.org/scripts/script.php?script_id=1410

มันจะให้คำสั่งดังต่อไปนี้:

:WsAddFile              Add a new file to the workspace.                  
:WsAddGroup             Add a new group to the workspace.                 
:WsClose                Close the workspace window.                       
:WsInsertFile           Insert a file.                                    
:WsInsertGroup  Insert a group.                                           
:WsOpen         Open a workspace and display it in a window.              
:WsRun          Run a command using the selected unquoted file names.     
:WsRunq         Run a command using the selected quoted file names.       
:WsSave         Save the workspace.                                       
:WsSessionOpen  Open the workspace and Vim session.                       
:WsSessionSave  Save the workspace and the Vim session.                   
:WsToggle               Open or Close the workspace window. 

ฉันมีสกรีนช็อตของการทำงานกับผู้จัดการพื้นที่ทำงานที่มีหน้าต่าง 4+ โพสต์บนfbของฉันคุณสามารถดูได้ที่นั่น (ซึ่งเป็นสาธารณะ)

มันไม่ใช่รายการของบัฟเฟอร์อย่างที่คุณต้องการ แต่คุณสามารถเปิดไฟล์ในหน้าต่างที่แตกต่างกันและในหลายบัฟเฟอร์ในหน้าต่างเดียวกัน

ในกรณีต่อมาผู้จัดการพื้นที่ทำงานจะทำหน้าที่เป็นรายการบัฟเฟอร์ อย่างที่คุณเห็นในภาพหน้าจอฉันได้จัดกลุ่มไฟล์เป็นกลุ่มต่าง ๆ

นี่ใกล้เคียงกับสิ่งที่คุณจะได้รับ AFIK

ขอให้เป็นวันที่ดี.


0

ทำไม shoehorn ถึงระดับการจัดการหน้าต่างให้เป็นกลุ่ม? บางครั้งฉันก็ใช้ split windows - ฉันได้ทำการแมป Ctrl-F กับคำสั่ง grep style find-in-files ที่ปรากฏในหน้าต่างแยกและฉันก็ใช้ vimdiff ในบางโอกาส

แต่คุณต้องการการจัดการหน้าต่างถาวรในกลุ่มหรือไม่? ตัวจัดการการเชื่อมต่อ PuTTY และตัวจำลองเทอร์มินัลทุกประเภทช่วยให้คุณสามารถแยกเทอร์มินัลตามที่คุณต้องการจากนั้นเรียกใช้เซสชัน vim แยกในแต่ละ


คุณสามารถแบ่งปันการลงทะเบียนระหว่างอินสแตนซ์กลุ่มได้หรือไม่? นี่คือเหตุผลอันดับหนึ่งของฉันเสมอที่ไม่ต้องการให้มีการเรียกใช้ vim หลายอินสแตนซ์: ฉันไม่สามารถyankจากที่หนึ่งและputที่อื่นได้
brianmearns

0

เปิด NERDTree ทางซ้าย >

ฉันเปิดบัฟเฟอร์หลายครั้ง (มีเพียงหนึ่งที่มองเห็นได้ในมุมมองหลัก ... เรียกว่า "บัฟเฟอร์ 1")

ตอนนี้ฉันไปที่ NERDTree และเลือกไฟล์อื่นที่ฉันต้องการดูอย่างรวดเร็วหรือคัดลอกบางอย่างจาก ดังนั้นฉันเปิดไฟล์จาก NERDTree และ buffer1 ถูกซ่อนอย่างถูกต้องและตอนนี้ฉันกำลังดูบัฟเฟอร์ที่ฉันเพิ่งเปิด (เรียกมันว่าบัฟเฟอร์ 2)

ตอนนี้ฉันต้องการออกจากบัฟเฟอร์ 2 นี้อย่างสมบูรณ์และกลับไปที่การแก้ไขบัฟเฟอร์ 1 แต่เมื่อฉัน: q บนบัฟเฟอร์ 2 ฉันสิ้นสุดการดู NERDTree ขนาดใหญ่เพียงอันเดียวและฉันต้องแสดงบัฟเฟอร์ 1 อีกครั้ง ... [แสดงส่วนที่เหลือของคำพูด]

ฉันไม่ได้ใช้ Nerdtree แต่ดูเหมือนว่าคุณควรจะพิมพ์ Ctrl- ^ (อาจเป็น Ctrl + ปุ่ม 6) เพื่อสลับกลับไปที่ buffer1


0

ฉันไม่ได้ตระหนักถึงปลั๊กอินดังกล่าว

วิธีหนึ่งที่รวดเร็วในการเปิดบัฟเฟอร์ของไฟล์เฉพาะคือการใช้คำสั่ง: FufBuffer ของ FuzzyFinder มันจะเปิดรายการบัฟเฟอร์ที่เปิดอยู่ทั้งหมด (ไม่รวมบัฟเฟอร์ในหน้าต่างปัจจุบันของคุณ) เพื่อให้เข้าถึงได้ง่าย ฉันมีของฉันผูกพันกับ fn ตัวอย่างเช่นฉันจะเห็นไฟล์ css ทั้งหมดด้วย, fncss หรือไฟล์ js ทั้งหมดด้วย, fnjs อย่างรวดเร็ว FuzzyFinder นั้นยอดเยี่ยมสำหรับการเข้าถึงไฟล์ / buffer / directory / etc ที่คุณต้องการด้วยความพยายามเพียงเล็กน้อย (ไม่ใช่แค่กรณีใช้งานนี้โดยเฉพาะ)

อย่างไรก็ตามฉันสงสัยว่าคุณกำลังมองหาบางอย่างที่จะช่วยให้คุณใช้: bn และ: bN (หรือสิ่งที่คุณมีที่แมปไว้ไม่สามารถจำได้ว่า ctrl-n / p เป็นค่าเริ่มต้นหรือกำหนดเองของฉัน) เพื่อสลับระหว่างบัฟเฟอร์ของ ประเภทไฟล์เฉพาะ

บางทีคุณอาจสร้างปลั๊กอินที่ให้คำสั่งอนุญาตให้คุณสลับไปยังบัฟเฟอร์ก่อนหน้า / ถัดไปประเภทเดียวกันกับไฟล์บัฟเฟอร์ปัจจุบันในหน้าต่างปัจจุบัน


BTW ฉันคิดว่าการจัดการรายการบัฟเฟอร์ที่แยกต่างหากเหล่านี้น่าจะบรรเทาได้มากกว่านี้แล้ว
Hannes

-1

นี่ไม่ใช่คำตอบทั้งหมด แต่ดูเหมือนว่ากลุ่มจะเก็บ # และ% บัฟเฟอร์ไว้แยกต่างหากสำหรับแต่ละหน้าต่าง ดังนั้นคุณสามารถสลับระหว่างสองไฟล์ได้อย่างรวดเร็วในหน้าต่างเดียว (โดยใช้ CTRL- ^) และสองไฟล์ที่แตกต่างกันในหน้าต่างอื่น รายการบัฟเฟอร์ยังคงเป็นบัฟเฟอร์ทั้งหมดที่คุณเพิ่มไว้


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