我一直在研究280North的新Objective-J / Cappuccino javascript 框架。它们为 SubEthaEdit 和 TextMate 提供插件来处理语法高亮,但我主要使用 vi。有谁知道在 vi 中获得 Objective-J 语法突出显示的方法,或者转换其他两个编辑器使用的任何格式的好方法?
4 回答
github 上的源代码现在包含一个 vim 高亮模块。
我发现只做这里的建议是不够的:
按照弗朗西斯科的建议下载文件
解压,
cd Tools/
目录运行外壳,
sh install-tools
将 objj.vim 文件复制到 vim 目录,
cp Tools/Editors/objj.vim /usr/share/vim/vim71/syntax/
问题
我发现没有语法高亮适用于“.j”文件。所以这里的问题是没有文件扩展名识别。如果您像我一样使用 gvim,也没有菜单项。
将 Objective-J 添加到 gvim 菜单
在 gvim 中为 Syntax->Ne-MO->Objective J 添加一个菜单项:
sudo vim /usr/share/vim/vim71/synmenu.vim
添加以下行。
an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR>
在objective-C条目下方。
保存并退出
:wq!
然后在 gvim 中重新加载一个“.j”文件。如果你然后去:
- 语法->Ne-MO->Objective J
应该会突出显示您选择的 Objective-J 文件。
Objective-J 自动高亮显示?
但是当你加载文件时自动突出显示呢?似乎没有文件关联。所以:
sudo vim /usr/share/vim/vim7.1/filetype.vim
在该文件中,您将找到文件类型关联的列表。如果您想知道在哪里添加该行,请在 filetype.vim 中搜索“ setf ocaml ”。在上面添加以下行(按字母顺序):
"" Objective J au BufNewFile,BufRead *.j setf objj
保存结果。您现在应该能够加载扩展名为“.j”的文件,并且 Objective-J 文件的语法突出显示工作正常。
结果
现在您应该可以通过文件类型“.j”自动识别 Objective-J 文件,以及在 gvim 中设置此文件类型的方法。这可能应该由 Bram 或任何正式发布 vim 的人添加,但目前这个 hack 对我有用。(Ubuntu 8.10,Vim 7.1)
Objective-J 工具包 ( http://cappuccino.org/download ) 和 github 上的源代码现在包含一个 vim 高亮模块。
这是向 (Mac)Vim 添加带有自动文件检测功能的 Objective J 突出显示的另一种方法,它比 bootload 的版本更简洁、更短(它不会向 MacVim 添加菜单,但我根本不需要它) :
- 下载 Francisco 提到的 objj.vim 文件。
- 将其放入
~/.vim/syntax/
(如有必要,创建文件夹) - 将行添加
au BufNewFile,BufRead *.j setf objj
到~/.vim/filetype.vim
- 不要忘记在
~/.vimrc
配置文件中打开文件类型检测:filetype plugin on
如果常规的 javascript 语法高亮足够好,您可以通过在 .vimrc 文件中添加类似这样的内容来将其映射到 .j 文件:
augroup objective-j
au! BufRead,BufNewFile *.j set filetype=objective-j
au! Syntax objective-j source /usr/share/vim/vim71/syntax/javascript.vim
augroup END
我没有尝试过这个确切的代码,但是在我的 Linux 机器上将 C# 语法映射到 .vala 文件时做了类似的事情。(注意:javascript.vim 文件可能位于您计算机上的其他位置。)您当然可以根据该 javascript.vim 语法定义创建一个objective-j.vim 文件,而不是按原样使用它。