คำถามติดแท็ก tabbed-user-interface

หน้าแท็บมีหน้าต่างอย่างน้อยหนึ่งหน้าต่าง คำถามเกี่ยวกับวิธีใช้และปรับแต่งลักษณะการทำงานของ Vim tabs

2
เปิดชื่อไฟล์ภายใต้เคอร์เซอร์เช่น gf แต่อยู่ในแท็บใหม่ (หรือแยก)?
คำสั่งโหมดปกติgfไปที่ไฟล์ที่มีเคอร์เซอร์ปัจจุบันอยู่ที่ แต่จะทำเช่นนั้นในหน้าต่างปัจจุบันแทนที่ข้อความปัจจุบัน ซึ่งหมายความว่าคุณต้องนำทางกลับอย่างชัดเจนเพื่อไปที่หลังในภายหลังและคุณต้องเขียนการเปลี่ยนแปลงในบัฟเฟอร์ปัจจุบันที่อาจเกิดขึ้น ฉันแน่ใจว่าเป็นไปได้หรือไม่ที่เปิดไฟล์ภายใต้เคอร์เซอร์ใน tabview ใหม่แทน?

1
คุณจะเปิดบัฟเฟอร์ใหม่ในหน้าต่างปัจจุบันได้อย่างไร
ฉันเปิดแท็บสองสามแท็บด้วยการตั้งค่าหน้าต่างที่แตกต่างกัน ฉันต้องการเปิดบัฟเฟอร์ว่างใหม่ในหน้าต่างปัจจุบันโดยไม่ต้องแยก / windows หรือแท็บเพิ่มเติมอีก มีวิธีการทำเช่นนี้? ฉันรู้ว่าฉันสามารถทำอะไรบางอย่างเช่น:nตอนC-w jนั้น:qแต่ดูเหมือนว่ายุ่งเล็กน้อย หรือคล้ายกับแท็บ: :tabe gT :q ฉันสับสนเล็กน้อยเกี่ยวกับความสัมพันธ์ระหว่างหน้าต่างและบัฟเฟอร์โดยทั่วไป - คุณสามารถเปิดบัฟเฟอร์ได้มากมายโดยไม่สามารถมองเห็นได้ซึ่งคุณสามารถทำความสะอาดได้โดยใช้bdแต่ถ้ามองไม่เห็นพวกเขาจะต้องบันทึกเพราะคุณไม่สามารถซ่อนได้ พวกเขา (โดยใช้: q) โดยไม่บันทึกหรือยกเลิกการเปลี่ยนแปลง ... ที่ดูแปลกไปหน่อย

1
ฉันจะจัดลำดับแท็บที่เปิดใหม่ได้อย่างไร
สมมติว่าฉันมีสี่เปิดไฟล์: file0.txt, file1.txt, และfile2.txt file3.txtฉันเปิดทั้งหมดในลำดับนั้นเป็นแท็บ ดังนั้นแท็บของฉันคือ: file0.txt file1.txt file2.txt file3.txt แล้วขอบอกว่าผมต้องการที่จะแทนการสั่งซื้อแท็บของฉันเพื่อให้file2.txtมาก่อนfile1.txt: file0.txt file2.txt file1.txt file3.txt ฉันจะทำอย่างไร มีคำสั่งเสียงเรียกเข้าเพื่อย้ายแท็บปัจจุบันไปทางซ้ายหรือขวาหรือจะเรียงลำดับแท็บที่เปิดอยู่ในปัจจุบันหรือไม่?


6
วิธีผูกชุดบัฟเฟอร์เข้ากับแท็บ?
เมื่อฉันต้องการทำงานในโครงการที่แตกต่างกันในเวลาเดียวกันฉันมีเวิร์กโฟลว์ folowing: ฉันสร้างหนึ่งแท็บสำหรับแต่ละโครงการ ในแต่ละแท็บฉันเปิดไฟล์ที่ฉันต้องการแก้ไขซึ่งทำให้หลายบัฟเฟอร์ Optionnaly ถ้าฉันต้องการเห็นสองไฟล์ (หรือมากกว่า) ในเวลาเดียวกันฉันสร้างหน้าต่างแยกดังนั้นฉันมีแท็บที่มีหน้าต่างที่แตกต่างกันซึ่งแสดงบัฟเฟอร์หนึ่ง เพื่อนำทางระหว่างบัฟเฟอร์ของฉันฉันไม่ได้ใช้จริง ๆ:lsและ:b [name or number of buffer]ฉันได้สร้างการจับคู่ที่สะดวกทำให้ฉันสามารถสลับระหว่างบัฟเฟอร์ด้วย:bnextและ:bprevious วิธีการทำงานนี้ค่อนข้างดี แต่มีบางอย่างที่รบกวนฉัน: บัฟเฟอร์ถูกแชร์ระหว่างแท็บ ถ้าผมเปิดfile1และfile2ในtab1และfile3ในtab2ถ้าในtab1ผมใช้เวลาหลาย:bnextฉันจะเห็นfile3ในแท็บนี้ซึ่งผมไม่ต้องการที่จะ ขั้นตอนการทำงานที่ผมต้องการที่จะได้รับคือ folowing : เริ่มเป็นกลุ่ม (ฉันมีแท็บแรกที่มีบัฟเฟอร์อยู่): $ vim foo เพิ่มบัฟเฟอร์ลงในแท็บนี้: :e bar เปิดแท็บใหม่และเปลี่ยนเป็น: :tabnew เปิดบัฟเฟอร์ใหม่ในแท็บนี้: :e baz ถ้าฉันอยู่ในบัฟเฟอร์นี้และทำ:bnextหรือ:bpreviousฉันจะอยู่ในbazบัฟเฟอร์ (เพราะเป็นเพียงคนเดียวในแท็บนี้) ถ้าฉันไปที่แท็บก่อนหน้า:tabpreviousและดำเนินการหลายครั้ง:bnextฉันจะสลับระหว่างfooและbarบัฟเฟอร์เท่านั้น แต่จะไม่เห็นbaz ดังนั้นคำถามของฉันมาที่นี่:มันเป็นไปได้ที่จะผูกชุดของบัฟเฟอร์ไปยังแท็บและทำให้เป็นกลุ่มที่ไม่อนุญาตให้เข้าถึงบัฟเฟอร์บางส่วนจากแท็บอื่นกว่าที่พวกเขาตั้งใจจะอยู่ใน? หมายเหตุ:ฉันทราบว่าการใช้:b [myBuffer]จะเป็นวิธีหนึ่งในการเก็บบัฟเฟอร์ไว้ในแท็บ แต่เมื่อฉันมีไฟล์ 3 หรือ 4 ไฟล์ที่จะแก้ไขฉันรู้สึกว่าฉันใช้การแมปของฉันเร็วกว่าการพิมพ์ชื่อบัฟเฟอร์(แม้ว่าฉันจะทำได้ พิมพ์ตัวอักษรเพียงบางส่วนให้ตรงกับชื่อบัฟเฟอร์)

4
ย้ายหน้าต่างที่มีอยู่ไปยังแท็บที่มีอยู่
บางครั้งฉันต้องการย้ายหน้าต่างไปยังแท็บที่มีอยู่แล้วและฉันสงสัยว่ามีคำสั่ง / แป้นพิมพ์ลัดที่สามารถทำได้ ฉันรู้ว่าฉันสามารถปิดหน้าต่างสลับไปที่แท็บแล้วเปิดในการแยกใหม่ แต่ฉันสงสัยว่ามีวิธีที่สั้นกว่าในการบรรลุเป้าหมายนี้ โปรดทราบว่าฉันต้องการย้ายไปยังแท็บที่มีอยู่ไม่ใช่แท็บใหม่อย่างที่เป็น<C-w>Tอยู่


1
ฉันจะเปิดไฟล์เพื่อดูในแท็บใหม่ได้อย่างไร
ฉันจะเปิดไฟล์เพื่อดูในแท็บใหม่ได้อย่างไร :tabe[dit] <filename>โดยเฉพาะฉันต้องการอ่านอย่างเดียวเทียบเท่า ฉันเหนื่อย :tab :view <filename> แต่นั่นไม่ได้สร้างแท็บใหม่ตามที่เอกสารแนะนำ

2
ฉันจะเปิดแท็บใหม่เป็นค่าเริ่มต้นได้อย่างไร
เมื่อเปิดvimกับหลายไฟล์ ( vim f1 f2 ...) วิธีการที่ฉันสามารถทำให้มันเปิดในแท็บได้โดยตรงโดยไม่ต้องใช้-p? ฉันกำลังมองหาการแยกพฤติกรรมของเชลล์ออกจากพฤติกรรมที่เป็นกลุ่ม, ลบvimชื่อแทนที่ใช้ ฯลฯ นั่นคือเหตุผลที่ฉันไม่ต้องการใช้ชื่อแทน ฯลฯ (ดังนั้นไม่มี-p) ฉันค่อนข้างแน่ใจว่าสิ่งนี้ถูกถามในเว็บไซต์ SE บางแห่ง (เช่นSO ) อย่างไรก็ตามฉันไม่สามารถตัดสินได้ว่าอะไรจะเป็นวิธีที่ดีที่สุดในการทำสิ่งนี้ดังนั้นฉันจึงหวังว่าจะได้รับทราบว่าทำไมวิธีการที่แนะนำจึงดี สำหรับโพสต์ SO ที่เฉพาะเจาะจงที่เชื่อมโยง: tabpagemax=9999คำตอบที่ได้รับการยอมรับไม่ เรียกว่าอคติส่วนตัว แต่ฉันเห็นว่ามีการ จำกัด จำนวนมากและฉันคิดว่ามีบางอย่างผิดปกติ (อย่างที่ฉันรู้สึกถ้าเห็นchmod 777) :au VimEnter * set tabpagemax=9999|sil tab ball|set tabpagemax&vim คำตอบอื่น ๆ นำไปสู่การเปิดแท็บที่ว่างเปล่าเป็นพิเศษในขณะที่มีความกระชับมากขึ้น :autocmd VimEnter * argdo tabedit ฉันหวังว่าจะได้คำตอบที่ไม่มีแท็บพิเศษเปิดขึ้นมาและไม่ได้กำหนดขีด จำกัด ไว้ที่ค่ามาก (หรืออธิบายว่าทำไมมันจึงไม่ใช่สิ่งเลวร้าย)

2
ทำซ้ำบัฟเฟอร์ลงในแท็บใหม่แทนที่จะย้าย
ฉันมักจะต้องการเพิ่มบัฟเฟอร์ในหน้าแท็บชั่วคราวแล้วกลับไปที่การกำหนดค่าบัฟเฟอร์เก่าที่ฉันดู ขั้นตอนการทำงานปัจจุบันของฉันสำหรับการทำบางสิ่งบางอย่างเช่นนี้เป็นทั้งการปิดบัฟเฟอร์อื่น ๆ ที่ใช้<c-w>oหรือจะย้าย buffer <c-w>Tฉันกำลังมองหาที่ไปที่แท็บของตัวเอง ปัญหาเกี่ยวกับแนวทางที่สองคือมันลบบัฟเฟอร์ออกจากหน้าแท็บเดิม ผมเติมสามไฟล์a.txt, b.txtและc.txtด้วยa, bและcตามลำดับ % echo a > a.txt % echo b > b.txt % echo c > c.txt เมื่อฉันเปิดไฟล์ทั้งสามนี้ในหน้าแท็บเดียวฉันจะได้สิ่งต่อไปนี้ จากนั้นฉันสามารถย้ายa.txtไปที่แท็บด้วยตัวเอง อย่างไรก็ตามเมื่อฉันทำa.txtถูกลบออกจากหน้าแท็บเดิม (ดังนั้นนี่จะเป็นหลัง<c-w>Tgt) ฉันต้องการความสามารถในการเลือกในเวลาที่ฉันจะกด<c-w>Tเพื่อรักษาเนื้อหาของบัฟเฟอร์เดิมสร้างหน้าแท็บใหม่ที่มีเฉพาะบัฟเฟอร์ที่มุ่งเน้นในขณะนี้แล้วมุ่งเน้นหน้าแท็บใหม่ที่ฉันเพิ่ง สร้าง กล่าวอีกนัยหนึ่งคำสั่งเหมือนกันเกือบทุกอย่าง<c-w>Tยกเว้นว่าหน้าแท็บดั้งเดิมนั้นได้รับการเก็บรักษาไว้และขณะนี้a.txtอยู่ในหน้าแท็บสองหน้า มีวิธีทำเช่นนี้หรือไม่?

1
บัฟเฟอร์เทียบกับแท็บ vs arglist เทียบกับ windows
ทางเลือกมากมาย! สับสนมาก! เมื่อใดจึงควรใช้ค่าอื่น สิ่งเหล่านี้เกี่ยวข้องกันอย่างไร ความแตกต่างระหว่างพวกเขาคืออะไร? พวกเขามีผลต่อคำสั่งที่คุณพิมพ์อย่างไร พวกเขาเกี่ยวข้องกับการลงทะเบียนแมโครเครื่องหมายตัวเลือกและประวัติคำสั่งอย่างไร สิ่งใดที่อยู่ข้างในซึ่งผู้อื่นตัวอย่างเช่นแท็บคือส่วนย่อยของหน้าต่างเหมือนในโปรแกรม GUI ทั่วไปหรือเป็นหน้าต่างส่วนย่อยของแท็บ สิ่งนี้เกี่ยวข้องกับอาร์กิวเมนต์บรรทัดคำสั่ง (อาร์กิวเมนต์หลายรายการ) ที่สามารถเข้าถึงได้ผ่าน:nextและ:prevอย่างไร และสุดท้ายสิ่งใดที่viเข้ากันได้(ถ้ามี) นี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.