我希望有一个出色的 obj-c 语法高亮器,能够匹配甚至超越我的 xcode 中的语法高亮器。
我已经安装了base16通过亚德尔,我还安装了cocoa 病毒有更好的语法突出显示..但安装后者并没有太大变化,这就是我所拥有的:
与之形成对比的是适用于 xcode 的 zenburn同一文件上的颜色突出显示:
除了颜色不同(这是个人喜好问题,不是我问的是...我注意到 zenburn for xcode 识别的东西比 vim 多得多...我该如何在 vim 中解决这个问题?我真的想在 vim 上进行我的所有开发。
ps 我不确定上面的 cocoa.vim 是否与这以 repo 对 javascript 为例,你可以通过视觉来看到其中的差异这里
答案1
您可能需要对这两个文件进行相当大的编辑:
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 的语法高亮。这是一项不简单的任务,您不能指望这里的任何人为您完成。a) 这些文件已有 4 年历史,b) 它们的作者已完全停止支持他的 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 更多的颜色,因此添加几个语法组可能就足够了。
答案2
我已经通过 yadr 安装了 base16,并且还安装了 cocoa.vim 以获得更好的语法突出显示..但安装后者并没有太大变化,这就是我所拥有的:
这是因为 cocoa.vim 多年来一直没有维护,并且语法文件与最新的 Vim 不兼容。
我刚刚在我的 fork 中修复了它: https://github.com/kentaroi/cocoa.vim
我无意推广我的 fork。但是,鉴于目前官方的 cocoa.vim (https://github.com/msanders/cocoa.vim) 的情况,我放上我的 fork 的链接,方便大家查看。
编辑:
由于我不再维护上述存储库,因此我推荐以下 vim 语法插件: https://github.com/SolaWing/vim-objc-syntax