วิธีการตั้งค่าสีพื้นหลังสำหรับหน้าต่างที่ใช้งานเป็นกลุ่มเท่านั้น?


16

คุณสมบัติเล็ก แต่น่าดึงดูดใจและเพิ่มความสะดวกในการใช้งานเล็กน้อยฉันต้องการให้ Vim ใช้สีพื้นหลังที่แตกต่างกันสำหรับหน้าต่างที่ใช้งานอยู่

นี่คือภาพร่างของสิ่งที่ฉันเป็นหลังจาก:

ป้อนคำอธิบายรูปภาพที่นี่

โดยปกติเสียงเรียกเข้านั้นจะมีพื้นหลังเป็นสีดำ แต่ถ้าเฉพาะหน้าต่างที่ใช้งานจะมีสีของตัวเองเพื่อเน้นความสนใจของผู้ใช้ การเน้นเฉพาะแถบสถานะเท่านั้นยังไม่พอ!

คำตอบ:


8

Heptite ขอบคุณสำหรับความคิด

ฉันเพิ่งแทนที่ WinEnter และ WinLeave autocmd's เพื่อเพิ่ม / ลบหมายเลขบรรทัดที่ด้านหน้าของแต่ละบรรทัด:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

ตอนนี้ดูทันสมัยกว่าเพื่อติดตามว่าหน้าต่างใดเปิดใช้งานอยู่


ที่นี่หนาว. เสียดายที่ฉันไม่ได้คิดเลขบรรทัดมากนัก
nperson325681

3

กลุ่มไฮไลต์ที่ควบคุมสีพื้นหลังเริ่มต้นคือ " Normal" และ " NonText" น่าเสียดายที่สิ่งเหล่านี้เป็นไฮไลต์ "ส่วนกลาง" และไม่สามารถ "แปลเป็นภาษาท้องถิ่น" ได้ในแต่ละหน้าต่าง

อย่างไรก็ตามนี่คือตัวอย่าง kludgy ที่น่าเกลียดอย่างแท้จริง:

เพิ่มกลุ่ม BgHighlight
    autocmd!
    ไฮไลต์ ActiveWindow guibg = lightblue
    autocmd WinEnter * call matchadd ('ActiveWindow', '. * *, 10, 1682)
    autocmd WinLeave * call matchdelete (1682)
augroup END

doautocmd BgHighlight WinEnter -

เนื่องจากนี่เป็นเพียงตัวอย่างคุณจะต้องแก้ไขสิ่งนี้เพื่อให้เหมาะกับความต้องการส่วนบุคคลของคุณเช่นการเพิ่ม ctermbg = ... ไฮไลต์พร้อมกับ guibg = ...

ข้อเสียเปรียบคือสิ่งนี้จะเน้นเฉพาะพื้นหลังของข้อความที่มีอยู่ในไฟล์ไม่ใช่ทั้งบรรทัด / หน้าต่าง (เหมือนที่ฉันพูดน่าเกลียดและคลุ๊คกิ้ง)


คิดดี แต่รูปแบบ.*ตรงกับข้อความของไฟล์เท่านั้น ไม่มีอะไรจากพื้นหลังที่เหลือ นอกจากนี้ฉันเพิ่งได้รับมันทำงานใน terminal กับctermbgทรัพย์สิน แปลก ...
nperson325681

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