Я хотел бы иметь превосходную подсветку синтаксиса для obj-c, которая соответствует или превосходит тот, что в моем xcode ..

Я установил base16 через yadr, и я также установил cocoa.vim для лучшей подсветки синтаксиса ... но установка последнего не сильно изменилась, и вот что у меня есть:

Сравните это с zenburn для выделения цвета xcode в том же файле:

кроме разницы в цветах (что является личным предпочтением, а не тем, о чем я спрашиваю).. я заметил, что zenburn для xcode распознает гораздо больше вещей, чем vim .. как я могу решить это в vim? Я действительно хочу сделать все свое развитие на VIM в будущем.

PS Я не уверен , что если выше cocoa.vim делает ту же работу , что это делает для репо JavaScript, например .. Вы можете получить визуальное эту разницу здесь

2 ответа2

3

Я установил base16 через yadr, и я также установил cocoa.vim для лучшей подсветки синтаксиса ... но установка последнего не сильно изменилась, и вот что у меня есть:

Это потому, что cocoa.vim не поддерживается годами, а файл синтаксиса не подходит для последней версии Vim.

Я просто исправил это в моей вилке:https://github.com/kentaroi/cocoa.vim

Я не собираюсь рекламировать свою вилку. Но, учитывая текущую официальную ситуацию с cocoa.vim ( https://github.com/msanders/cocoa.vim ), для вашего удобства я разместил ссылку на мой форк.


Редактировать:

Поскольку я больше не буду поддерживать вышеуказанный репозиторий, я рекомендую следующий плагин синтаксиса vim:https://github.com/SolaWing/vim-objc-syntax

2

Вам, вероятно, потребуется сделать довольно большие правки в этих двух файлах:

https://github.com/msanders/cocoa.vim/blob/master/after/syntax/objc_enhanced.vim
https://github.com/msanders/cocoa.vim/blob/master/after/syntax/cocoa_keywords.vim

соответствовать подсветке синтаксиса XCode. Это нетривиальная задача, от которой вы не можете ожидать, что кто-то здесь сделает для вас. Факты, что а) этим файлам 4 года и б) их автор полностью прекратил поддерживать его материал Vim, не делают его проще.

Я не знаю ни одного исчерпывающего онлайн-учебника по написанию собственного синтаксического скрипта, чтобы вы не смогли избежать чтения :help syntax сверху донизу и обратно и посмотрите на другие синтаксические скрипты в $VIMRUNTIME/syntax/ ,

FWIW, группы подсветки, определенные cocoa.vim, все связаны с этими семью стандартными группами подсветки (я добавил их шестнадцатеричное значение, взятое из вашей схемы цветов):

Keyword    #b48ead
Special    #96b5b4
Type       #d08770
Constant   #d08770
Error      no value
String     #a3be8c
Identifier #bf616a

Вы заметите, что в base16 Type и Constant имеют одинаковые цвета, что может быть не очень хорошо. Из вашего скриншота XCode не видно, что он использует больше цветов, чем base16, поэтому добавления пары групп синтаксиса может быть достаточно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .