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