Как я могу получить Vim, чтобы выделить синтаксис, а также textmate - PullRequest
0 голосов
/ 31 мая 2011

Мне нравится идея редактирования внутри терминала, и мне нравится привязка клавиш в Vim, но выделение текста в моем Vim намного хуже, чем в Textmate.Сравнение (сначала текстовый):

Textmate

Vim

Очевидно, что Vim намного хуже.Я включил подсветку синтаксиса в моем .vimrc и установил python.vim (не уверен, работает ли это с python 2.7).Будем благодарны за любые предложения о том, как привести его в соответствие.

Спасибо

1 Ответ

4 голосов
/ 31 мая 2011

РЕДАКТИРОВАТЬ 2:

Если вы отредактируете python.vim, вы найдете следующую строку:

syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite

Это критическая строка для вас.Таким образом, в основном, это стили def и class с pythonStatement, и все, что следует за ним, имеет стиль pythonFunction.Возможно, вы захотите переписать его в что-то вроде

syn keyword pythonStatement def nextgroup=pythonFunction skipwhite
syn keyword pythonStatement class nextgroup=pythonClass skipwhite

, где pythonClass определяется вами как в моем редактировании 1 (изменить по вашему желанию) или связан с одним из множества вариантов цвета, предлагаемых вашимсхема.Сделайте :hi, чтобы увидеть список и связать ваш новый цветовой стиль с существующим как

HiLink pythonClass Special

(или что-то еще).Возможно, вам придется немного поиграть, чтобы поразить ваше личное сладкое пятно.

Я бы ответил на это в первый раз, если бы вы сформулировали свой вопрос лучше и сделали бы прямую просьбу вместо напыщенной речи.Я не совсем понял, что именно вы хотели.В любом случае, я оставлю свой предыдущий ответ ниже.


Pre Edit 2:

Пытались ли вы реально изменить цветовую тему на что-то похожее на то, что использует TextMate?Вот несколько примеров кода Python в моем vim с красивой подсветкой синтаксиса.

enter image description here

Конечно, отдельные вкусы различаются, и то, что я считаю привлекательным, может не понравиться другим, но перед тем, как отмахнуться от негоvim и разжигая войну пламени здесь, вы должны взглянуть на то, какие другие цветовые схемы доступны.Google был бы хорошим местом для начала.

РЕДАКТИРОВАТЬ:

Вот быстрый пример, который показывает вам, как изменить подсветку.Это пример с текущей темой

enter image description here

blah в классе и __blah__ оба стилизованы схемой выделения pythonFunction.Поэтому я просто временно изменяю его на случайный цвет и подчеркиваю его как

:hi pythonFunction cterm=underline ctermfg=217 ctermbg=16

Результат:

enter image description here

Так что это всего лишь общее представление окак это сделать.Вы должны изменить эти определения в файле цветовой схемы, чтобы они каждый раз загружались.Если вы хотите, чтобы __blah__ отличался от blah в классе, вам придется взглянуть на python.vim или любой другой скрипт, который вы используете, и настроить его соответствующим образом.

...