เหตุใดฉันจึงต้องมีทั้ง vimrc และ gvimrc


38

ดูเหมือนจะมีสองวิธีในการจัดเก็บค่ากำหนดเฉพาะสำหรับ gvim:

  1. เก็บ.vimrcไฟล์สำหรับ vim และ.gvimrcไฟล์สำหรับการเพิ่มเฉพาะ gvim

  2. ให้การตั้งค่าทั้งหมดใน.vimrcและห่อการตั้งค่าเฉพาะ gvim ในเงื่อนไขการตรวจจับคุณสมบัติ:

    if has('gui_running')
        " gvim specific settings here
    endif
    

เมื่อมีตัวเลือกหลังทำไมฉันต้องมี.gvimrcไฟล์ด้วยซ้ำ


ตัวอย่างเฉพาะที่ฉันพบว่ามีประโยชน์คือwinposการเปลี่ยนตำแหน่งของหน้าต่างที่ใช้โดย gvim นี้ไม่มีผล (และทำให้รู้สึกไม่) ภายใน~/.vimrcก็จะต้องมีใน~/.gvimrc
jalanb

คำตอบ:


29

เมื่อ GUI เริ่มต้นการตั้งค่าบางอย่างจะถูกรีเซ็ตและ.gvimrcจะถูกประมวลผล

ดังนั้นหากคุณต้องการค่าที่ไม่ใช่ค่าเริ่มต้นสำหรับการตั้งค่าเหล่านั้นคุณจะต้องตั้งค่าใน.gvimrc; การทดสอบโหมด GUI ใน.vimrcจะไม่ทำงาน

หนึ่งการตั้งค่าดังกล่าวคือt_vbรหัสเทอร์มินัลที่ใช้สำหรับการส่งสัญญาณภาพ อันที่จริงตัวเลือกเทอร์มินัลทั้งหมดจะถูกรีเซ็ตเป็นค่าเริ่มต้นสำหรับโหมด GUI (ดู:help terminal-options)

นอกจากนี้ยังมีการตั้งค่า GUI และการปรับแต่งเมนูอีกมากมาย หากคุณต้องการปรับแต่งสิ่งใดสิ่งหนึ่งคุณจะต้องการสิ่งนั้นใน.gvimrcหรืออาจไม่มีผลกระทบใด ๆ

การอ่านมากกว่า:help gvimrcให้ภาพรวมที่ดีของสิ่งต่าง ๆ ที่อาจเปลี่ยนแปลงคุณระหว่างการจัดหาของคุณ.vimrcและ.gvimrcคุณอาจต้องการปรับเปลี่ยนอีกครั้งในภายหลัง


3
IIRC คุณสามารถใช้:guiคำสั่ง (ภายในhas("gui_running")แน่นอน) เพื่อบังคับให้ลำดับการเริ่มต้น gui เกิดขึ้นก่อนคำสั่ง. vimrc ใด ๆ ที่ตามมา . vimrc ของฉันใช้สิ่งนี้เพื่ออนุญาตให้การตั้งค่าแสงพื้นหลัง / ความมืดเริ่มต้นขึ้นอยู่กับสีพื้นหลัง GUI จริง
Random832
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.