我一直在看新的 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 添加菜单,但我根本不需要它) :

  1. 下载弗朗西斯科提到的 objj.vim 文件。
  2. 将其放入 ~/.vim/syntax/ (如有必要,创建文件夹)
  3. 添加行 au BufNewFile,BufRead *.j setf objj~/.vim/filetype.vim
  4. 不要忘记在您的文件中打开文件类型检测 ~/.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 文件,而不是按原样使用它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top