Різний колір фону для декількох типів файлів in vim


10

Чи можливо мати різні кольори фону у vim (тобто один світлий, один темний) при роботі з файлами з кількома типами файлів (тобто :set ft=html.php)? У PHP-коді з вбудованим HTML, може бути важко побачити одне єдине твердження PHP серед десятків рядків HTML, див. Нижче. Я вирішу будь-що, будь то інший колір bg, маркер на полі, другий лівий запас (один плагін Vim робить це для позначок), можливо, виділяючи <?phpтег, наприклад (хоча це менше, ніж ідеально)

PHP в HTML-коді

EDIT: Я не думаю, що це можливо на рівні синтаксису, оскільки синтаксис, як видається, використовує обмежену кількість елементів (String, Function, Identifier ...). Це, без сумніву, дозволяє легко інтегруватися з кольоровими схемами. SyntaxAttr - хороший плагін для демонстрації цього. Поставте його над будь-якою частиною коду, і він підкаже, до якої групи синтаксису він належить.


Можливо, ви могли б використовувати те саме рішення, що і в цій публікації stackoverflow.com/questions/4167425/…, де вони створюють власну кольорову схему, яка виділяє будь-який рядок, починаючи з sql_.

1
Я побачу, чи зможу я виявити регіони між PHP ?>і <?як не.
puk

Відповіді:


1

Ще одне потенційне рішення - налаштувати ваш улюблений файл кольорової схеми, щоб перевірити встановлення "фону". Багато хто встановлює параметр «фон» так чи інакше, але це можна перевірити, щоб змінити, якими будуть кольори підсвічування.

Приклад кольорової схеми


" Search
if &background=="dark"
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
else " background is light
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
fi


Чи є спосіб перевірити мову слова / символу? тобто якщо це HTML v PHP?
puk

Сорт залежить. Ви можете перевірити тип підсвічування певного слова. І якщо це можна відрізнити між HTML та PHP, ви б знали. Але я думаю, що це найкраще, що ви отримаєте без багато зайвої роботи. Використовуйте щось на зразок наступного, щоб отримати тип виділення:: echo synIDattr (synID (рядок ("."), Col ("."), 1), "ім'я")
pottsdl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.