【问题标题】:Anyone know of Objective-J syntax highlighting in vi?有人知道vi中的Objective-J语法高亮吗?
【发布时间】:2010-09-08 03:51:13
【问题描述】:

我一直在研究来自280North 的新Objective-J / Cappuccino javascript 框架。它们为 SubEthaEdit 和 TextMate 提供插件来处理语法高亮,但我主要使用 vi。有谁知道在 vi 中获得 Objective-J 语法突出显示的方法,或者转换其他两个编辑器使用的任何格式的好方法?

【问题讨论】:

    标签: javascript vi cappuccino objective-j


    【解决方案1】:

    这是向 (Mac)Vim 添加具有自动文件检测功能的 Objective J 突出显示的另一种方法,它比 bootload 的版本更简洁、更短(它不会向 MacVim 添加菜单,但我不需要它完全):

    1. 下载 Francisco 提到的 objj.vim 文件。
    2. 将其放入~/.vim/syntax/(必要时创建文件夹)
    3. au BufNewFile,BufRead *.j setf objj 行添加到~/.vim/filetype.vim
    4. 不要忘记在~/.vimrc 配置文件中打开文件类型检测:filetype plugin on

    【讨论】:

      【解决方案2】:

      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)

      【讨论】:

      【解决方案3】:

      Objective-J 工具包 (http://cappuccino.org/download) 和 github 上的源代码现在包含一个 vim 高亮模块。

      【讨论】:

        【解决方案4】:

        如果常规的 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 文件,而不是按原样使用它。

        【讨论】:

        • 或者您可以将 javascript.vim 更改为 objj.vim(在您将 objj.vim 复制到 usr/share/vim/vim72/syntax/ 之后)。使用 MacVim 为我工作。
        猜你喜欢
        • 2011-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-11
        • 1970-01-01
        • 1970-01-01
        • 2011-12-31
        • 1970-01-01
        相关资源
        最近更新 更多