Objective-C-Syntaxhervorhebung für Vim

Objective-C-Syntaxhervorhebung für Vim

Ich hätte gerne einen hervorragenden Syntax-Highlighter für obj-c, der dem in meinem Xcode entspricht oder ihn übertrifft.

Ich habe installiertBasis 16durchJahr, und ich habe auch installiertKakao.vimum eine bessere Syntaxhervorhebung zu haben... aber die Installation des letzteren hat nicht viel geändert und das hier ist, was ich habe:

Bildbeschreibung hier eingeben

Vergleichen Sie das mit demZenburn für XcodeFarbliche Hervorhebung derselben Datei:

Bildbeschreibung hier eingeben

abgesehen von den unterschiedlichen Farben (was eine Frage der persönlichen Vorliebe ist undnichtwonach ich frage).. mir ist aufgefallen, dass Zenburn für Xcode viel mehr Dinge erkannt hat als Vim.. wie kann ich das in Vim angehen? Ich möchte in Zukunft wirklich meine gesamte Entwicklung mit Vim durchführen.

ps ich bin nicht sicher, ob cocoa.vim oben den gleichen Job macht wie dasDasrepo tut für Javascript zum Beispiel .. Sie können eine visuelle Darstellung für diesen Unterschied erhaltenHier

Antwort1

Sie müssen wahrscheinlich ziemlich umfangreiche Änderungen an diesen beiden Dateien vornehmen:

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

um die Syntaxhervorhebung von XCode anzupassen. Das ist keine triviale Aufgabe, die Sie hier wirklich von niemandem erwarten können. Die Tatsachen, dass a) diese Dateien 4 Jahre alt sind und b) ihr Autor den Support für sein Vim-Material komplett eingestellt hat, machen es nicht einfacher.

Mir ist kein einziges umfassendes Online-Tutorial zum Schreiben eines eigenen Syntaxskripts bekannt. Sie werden also nicht darum herumkommen, es :help syntaxvon oben nach unten und wieder zurück durchzulesen und sich andere Syntaxskripte in anzusehen $VIMRUNTIME/syntax/.

Die von cocoa.vim definierten Hervorhebungsgruppen sind alle mit diesen sieben Standard-Hervorhebungsgruppen verknüpft (ich habe ihren Hex-Wert aus Ihrem Farbschema hinzugefügt):

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

Sie werden feststellen, dass in Base16 Typedieselben ConstantFarben verwendet werden, was möglicherweise nicht gut ist. Aus Ihrem XCode-Screenshot geht hervor, dass nicht mehr Farben als Base16 verwendet werden, sodass das Hinzufügen einiger Syntaxgruppen möglicherweise ausreicht.

Antwort2

Ich habe Base16 über yadr installiert und auch cocoa.vim, um eine bessere Syntaxhervorhebung zu haben. Aber die Installation des letzteren hat nicht viel geändert und das hier ist, was ich habe:

Das liegt daran, dass cocoa.vim seit Jahren nicht mehr gepflegt wird und die Syntaxdatei nicht zum neuesten Vim passt.

Ich habe es gerade in meiner Gabel behoben: https://github.com/kentaroi/cocoa.vim

Ich habe nicht die Absicht, meinen Fork zu bewerben. Aber angesichts der aktuellen offiziellen cocoa.vim (https://github.com/msanders/cocoa.vim) habe ich der Einfachheit halber einen Link zu meinem Fork eingefügt.


Bearbeiten:

Da ich das obige Repository nicht mehr pflegen werde, empfehle ich das folgende Vim-Syntax-Plugin: https://github.com/SolaWing/vim-objc-syntax

verwandte Informationen