有人知道vi中的Objective-J语法高亮吗?

时间:2020-03-05 18:49:21  来源:igfitidea点击:

我一直在研究来自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