有人知道 vi 中的 Objective-J 语法高亮吗?
-
09-06-2019 - |
题
我一直在看新的 Objective-J / 卡布奇诺 JavaScript 框架来自 280北. 。他们为 SubEthaEdit 和 TextMate 提供插件来处理语法突出显示,但我主要使用 vi。有谁知道在 vi 中获得 Objective-J 语法突出显示的方法,或者转换其他两个编辑器使用的任何格式的好方法?
解决方案
Objective-J 工具包(http://cappuccino.org/download)并且 github 上的源代码现在包含一个 vim 高亮模块。
其他提示
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->目标 J
应该会突出显示您选择的 Objective-J 文件。
Objective-J 自动突出显示?
但是加载文件时自动突出显示怎么样?似乎没有文件关联。所以:
sudo vim /usr/share/vim/vim7.1/filetype.vim
在该文件中,您将找到文件类型关联的列表。如果您想知道在哪里添加该行,请搜索“setf ocaml" 在 filetype.vim 中。添加上面下面的行(按字母顺序):
"" Objective J au BufNewFile,BufRead *.j setf objj
保存结果。您现在应该能够加载带有“.j”扩展名的文件,并且 Objective-J 文件的语法突出显示可以正常工作。
结果
现在您应该可以通过文件类型“.j”自动识别 Objective-J 文件,以及在 gvim 中设置此文件类型的方法。这可能应该由 Bram 或任何正式发布 vim 的人添加,但目前这个 hack 对我有用。(Ubuntu 8.10、Vim 7.1)
这是另一种向 (Mac)Vim 添加具有自动文件检测功能的 Objective J 突出显示的方法,它比 bootload 的版本更干净、更短(它不会向 MacVim 添加菜单,但我根本不需要它) :
- 下载弗朗西斯科提到的 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 文件,而不是按原样使用它。