Изменение цвета цикла for Python в Vim - PullRequest
3 голосов
/ 22 января 2012

Я только начал изучать python и использую MacVim в качестве редактора с цветовой схемой Jellybeans. Когда я пишу цикл for в python, «for» окрашивается в синий цвет (ish), а «in» - нет. Я вижу в других темах они оба окрашены одинаково. Как мне отредактировать тему желейных бобов, чтобы получить это?

Вот картинка, показывающая, что я имею в виду:
imagein not highlighted">

Ответы [ 3 ]

3 голосов
/ 23 января 2012

Файл синтаксиса Vim определяет in как часть группы синтаксиса pythonOperator. Группа pythonOperator связана с встроенной группой Operator, которая (по умолчанию) связана в свою очередь с Statement.

вместо Jellybeans ссылки Operator на Normal для получения неокрашенных символических операторов (+, * и т. Д.) Без изменения Statement.

Добавление ссылки в специальном регистре непосредственно с pythonOperator на Statement восстанавливает окраску.


tl; dr Я исправил это . Возьмите новую копию из репозитория GitHub .

1 голос
/ 23 января 2012

Есть несколько способов "выполнить" это.Не могли бы вы дать ссылку, откуда вы скачали вышеупомянутую цветовую схему Jellybeans ?

Мой первый взгляд был бы, есть ли в схеме цветов что-то, что перезаписывает "в" элемент другого цвета, нежели "for" .Если внутри ничего нет, то это должно быть что-то с подсветкой синтаксиса для python.

Но в этом случае это также будет видно и для других цветовых схем.

0 голосов
/ 23 января 2012

Чтобы изменить цвет циклов только в Python, добавьте это в ваш .vimrc после того, как вы установите цветовую схему

autocmd FileType python hi Repeat guifg=#hexnumber

с #hexnumber кода GUI для цвета, который вы хотите изменить, просто замените операторы. Повторите с оператором

редактирование:

Возможно, я неправильно понял, что ваши циклы вопросов находятся в повторении группы подсветки и в операторе hi-group оба принадлежат оператору группы, поэтому, если оператор является единственным, заданным в вашей цветовой схеме, вы должны установить Repeat и оператор себя

...