บัฟเฟอร์หลายไฟล์เดียวกันการตั้งค่าที่แตกต่างกัน


10

เป็นไปได้หรือไม่ที่จะแก้ไขไฟล์ภายใต้การตั้งค่าที่แตกต่างกันในเวลาเดียวกัน? แม่นยำยิ่งขึ้นฉันต้องการมีหลายบัฟเฟอร์ในอินสแตนซ์เดียวกันของ Vim ซึ่งมีเนื้อหาเหมือนกัน (การเปลี่ยนหนึ่งบัฟเฟอร์ส่งผลกระทบต่อเนื้อหาของบัฟเฟอร์อื่นทันที) แต่ตำแหน่งเคอร์เซอร์ที่แตกต่างกันเครื่องหมายแตกต่างกันการเน้นไวยากรณ์ที่แตกต่าง ฯลฯ

กรณีการใช้งานทั่วไปรวมถึงการแก้ไขส่วนต่าง ๆ ของไฟล์เดียวกันอย่างอิสระ (โดยไม่ต้องเข้าสู่โหมดภาพในกรณีหนึ่งจะหยุดการเลือกโหมดภาพปัจจุบันในอีกอินสแตนซ์อื่น) และแก้ไขไฟล์รูปแบบผสม (เช่น HTML และ Javascript) โดยไม่ต้องสลับการตั้งค่า . (แนวทางสำรองสำหรับกรณีการใช้งานครั้งที่สองคือการเปลี่ยนการตั้งค่าโดยอัตโนมัติตามตำแหน่งเคอร์เซอร์ แต่ไม่มีขอบเขตสำหรับคำถามนี้)

บรรณาธิการที่พูดถึงเป็นที่ยอมรับว่าอาจทำให้ตกใจเรียกสิ่งนี้ว่า "บัฟเฟอร์ทางอ้อม"

คำตอบ:


2

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

การเน้นไวยากรณ์เป็นเรื่องที่ซับซ้อนกว่าขึ้นอยู่กับว่าคุณต้องการอะไร Vim รองรับการเน้นส่วนต่าง ๆ ของบัฟเฟอร์ด้วยไวยากรณ์ต่างกัน ตัวอย่างเช่นหากคุณมีบัฟเฟอร์ html filetype <style>แท็กจะถูกเน้นเป็น CSS <script>แท็กจะถูกเน้นเป็น javascript ฯลฯ โดยใช้:syn includeคำสั่งจากนั้นกำหนดขอบเขตไวยากรณ์ที่เกี่ยวข้องที่ควรใช้ไวยากรณ์

อีกทางเลือกหนึ่งคือการใช้:ownsyntaxคำสั่งเพื่อระบุการเน้นไวยากรณ์ที่ใช้สำหรับหน้าต่างเฉพาะ

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


1
ถ้าฉันใช้หลายหน้าต่างหมายความว่าต้องอยู่บนหน้าจอตลอดเวลาหรือไม่ จะเกิดอะไรขึ้นถ้าฉันปิดหน้าต่างในขณะที่อีกหน้าต่างหนึ่งแสดงบัฟเฟอร์เดียวกันตำแหน่งเคอร์เซอร์ในหน้าต่างนั้นจะหายไปหรือไม่ มีอะไรที่เหมือนกับ:ownsyntaxการตั้งค่าอื่น ๆ เช่นการเยื้องคำสั่งคอมไพเลอร์และอื่น ๆ ?
Gilles 'ดังนั้นหยุดความชั่วร้าย'

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