Как по-разному раскрасить идентификаторы и классы CSS в gvim - PullRequest
2 голосов
/ 09 марта 2011

Я использую gvim и vim и просто люблю его. Но у меня есть одна любимая мозоль. Мне нравится различать цвета #id и .class в файле CSS, в настоящее время цвета #value и .value одинаковы.

Я бы хотел, чтобы синтаксические цвета идентификаторов и классов различались в gvim и vim, чтобы получить визуальную обратную связь для классов и идентификаторов. Как этого добиться?

Ответы [ 3 ]

6 голосов
/ 09 марта 2011

Добавьте эту команду к вашему .vimrc:
:hi link cssClassName Type

Почему это работает:

Прежде всего, вам нужно найти имена групп синтаксиса элементов, которые вы используете.
Вы можете сделать это, поместив курсор на выделенную область синтаксиса и выполнив команду:
:echo synIDattr(synID(line("."), col("."), 1), "name")

Вы должны получить cssIdentifier и cssClassName для #id{...} и .class{...} соответственно.

Затем вы можете увидеть, с какой группой подсветки они связаны, используя :highlight cssIdentifier и :highlight cssClassName. Вы можете просмотреть весь набор подсветки, используя :highlight.

По умолчанию они оба связаны с функцией. Лучшее решение, вероятно, состоит в том, чтобы вместо этого связать cssClassName с синтаксической группой Type. Вы должны быть в состоянии использовать любую цветовую схему, и она все равно будет работать:
:hi link cssClassName Type

Если вы добавите это в свой .vimrc, vim будет использовать эту ссылку вместо той, которая определена в файле синтаксиса css.

2 голосов
/ 09 марта 2011

Перейдите к вашему .vim / syntax / css.vim Там вы увидите строки:

<code>
252: HiLink cssIdentifier Function
and
279: HiLink cssClassName Function
Вы можете изменить любой из них, который будет выделен, как один из других типов в этомраздел файла.Например:
<code>
252: HiLink cssIdentifier Constant
and
279: HiLink cssClassName Function
Пока оба различны.
2 голосов
/ 09 марта 2011

Если вы говорите с CSS, тогда

Для идентификатора

#value {
  color:red ; // or and hex value that you prefer
}

для класса

.value {
  color : blue;
}

Добавлено после редактирования вопроса

Ну, вам нужно изменить файл цветовой схемы в ~/vim/colors

* Шаги *

  1. Найдите файл конфигурации в /vim/colors (для windows это место, где установлен vim), расширение будет vim
  2. Добавьте следующие строки в конец файла и сохраните его ( создайте резервную копию )

syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"

syn match cssClass "\.[A-Za-z][A-Za-z0-9_-]\{0,\}"

hi cssIdentifier guifg=#FF9900 gui=none

hi cssClass guifg=#FF0000 gui=none

введите : имя файла цвета в vim

Если все пойдет хорошо, цвет #id будет оранжевым, а цвет .id красным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...