Vim: Редактирование файла синтаксиса python.vim для выделения, как TextMate - PullRequest
10 голосов
/ 29 ноября 2011

Я пытаюсь отредактировать файл синтаксиса python.vim, чтобы дублировать подсветку синтаксиса для python в Textmate.Прикрепленное изображение иллюстрирует выделение параметров функции, которых я изо всех сил пытаюсь достичь.

imgur pic of code

Self, a, b выделен в Textmate, но не в Vim.Я понял, что должен сделать следующее.

  1. Соответствовать новому региону

    syn region pythonFunction start="(" end=")" contains=pythonParameters skipwhite transparent
    
  2. Попробуйте сопоставить строку с запятой

    syn match pythonParameters ".*" contained
    

Таким образом, в пункте 2 ". *" Будет соответствовать любой строке в данный момент и должна быть расширена, чтобы быть правильной.Однако я не уверен, что нахожусь на правильном пути, так как совпадение в 2 не ограничено областью между скобками ().Будем благодарны за любые советы или комментарии.

РЕДАКТИРОВАТЬ 1: Если кому-то интересно, как это получилось в итоге.

Вот моя подсветка синтаксиса vim для python.

imgur pic of code

РЕДАКТИРОВАТЬ 2: Так что для максимальной тщательности я создал страницу GitHub для него.

http://pfdevilliers.github.com/Pretty-Vim-Python/

Ответы [ 2 ]

6 голосов
/ 29 ноября 2011

Хорошо, у вас есть пара проблем.

  1. Уже есть область с именем pythonFunction для подсветки имен def и функций.
  2. Эта область будет соответствовать любой скобке,в любом месте

Итак, найдите совпадение функции pythonFunction и измените его на следующее:

syn match   pythonFunction
      \ "\%(\%(def\s\|class\s\|@\)\s*\)\@<=\h\%(\w\|\.\)*" contained nextgroup=pythonVars

Добавление следующей группы указывает vim сопоставить pythonVars после определения функции.Затем добавьте:

syn region pythonVars start="(" end=")" contained contains=pythonParameters transparent keepend
syn match pythonParameters "[^,]*" contained skipwhite

Наконец, чтобы выделить его, найдите раздел HiLink и добавьте:

HiLink pythonParameters       Comment

Измените Comment на нужную группу или добавьтетвой собственный.Я использую Statement себя.

0 голосов
/ 27 апреля 2015

Vim, выделение совпадения Круглые скобки (), квадратные скобки [] и фигурные скобки: {}

Параметры конфигурации для установки цветов переднего плана и фона под курсором, когдав скобках указана квадратная скобка или фигурная скобка:

hi MatchParen      ctermfg=16  ctermbg=208 cterm=bold

Чтобы включить / отключить цвет фона линии под курсором:

:set cursorline
:set nocursorline

Чтобы установить цветцвет фона линии под курсором:

hi VisualNOS                   ctermbg=999
hi Visual                      ctermbg=999

enter image description here

Вот мое приспособление:

https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting

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