การเน้นสตริงสีด้วยสีที่สอดคล้องกัน

Aug 19 2020

เมื่อปรับแต่งธีมสีสิ่งหนึ่งที่ฉันพลาดจริงๆคือการไฮไลต์ที่จะทำให้สตริงสีมีสีที่สอดคล้องกัน

อาจฟังดูสับสน? ตัวอย่าง: นี่คือส่วนหนึ่งของธีมกลุ่ม:

hi Constant    ctermfg=Magenta      guifg=Magenta
hi Special     ctermfg=Red          guifg=Red
hi Identifier  ctermfg=Cyan         guifg=Green

ฉันต้องการเน้นไวยากรณ์ที่จะเป็นสีMagentaม่วงRedแดงเป็นสีแดงและอื่น ๆ คล้ายกับสิ่งที่เกิดขึ้นกับรหัสสีสำหรับไฟล์ dircolors:

01;34คือรหัสสีสำหรับสีน้ำเงินดังนั้น Vim จึงแสดงเป็นสีน้ำเงิน01;36เป็นสีฟ้าเป็นต้น

ฉันค้นหาในไดเร็กทอรีไวยากรณ์สำหรับไฟล์ที่มี "color" ในชื่อ

$ find . -iname '*color*'
./colortest.vim
./dircolors.vim
./syncolor.vim

แต่ไม่มีสิ่งเหล่านี้ทำงานสำหรับสตริงสี

ฉันขาดทรัพยากรหรือต้องสร้างไฟล์ไวยากรณ์ของตัวเองหรือไม่?

คำตอบ

3 Rich Aug 19 2020 at 18:29

มีปลั๊กอินจำนวนมากที่ทำสิ่งนี้สำหรับชื่อสีสีฐานสิบหกและสี RGB:

  • Colorizerโดย Christian Brabandt (ซึ่งดูเหมือนจะไม่ตอบคำถามนี้ด้วยลิงก์ไปยังปลั๊กอินของตัวเองอย่างสุภาพ)
  • Coloresqueโดย Konstantin
  • vim-css-colorโดย Aristotle Pagaltzis
  • vim-css-color (อันอื่น) โดย Max Vasiliev