zoukankan      html  css  js  c++  java
  • 用vim写ios程序

    用vim写ios程序

     

    以前介绍过一些vim插件,有两个插件是方便写iOS程序的,即cocoa和objc_matchbracket(以下称objc_mb)。cocoa插件主要用来补全cocoa框架的API名,objc_mb则用来自动补全中括号。

    不过这两个插件都不支持后缀.mm的objective-C++文件,需要做一些改动。

    在vim中运行

    1 :e $VIMRUNTIME/filetype.vim

    发现vim收集的文件类型还挺全的,连.mm文件是objcpp都知道……

    于是让插件支持objcpp类型就行了。

    1) cocoa插件:

    打开~/.vim/plugin/cocoa.vim,有如下一段:

    复制代码
    1 au FileType objc ru after/syntax/objc_enhanced.vim
    2                \| let b:match_words = '@\(implementation\|interface\):@end'
    3                \| setl inc=^\s*#\s*import omnifunc=objc#cocoacomplete#Complete
    4                \| if globpath(expand('<afile>:p:h'), '*.xcodeproj') != '' |
    5                \  setl makeprg=open\ -a\ xcode\ &&\ osascript\ -e\ 'tell\ app\ \"Xcode\"\ to\ build'
    6                \| endif
    复制代码

    当然看不懂,不过把这段复制一遍,再把第1行的objc改成objcpp就可以让cocoa插件支持objective-C++了。

    2) objc_mb插件:

    打开~/.vim/ftplugin/objc_matchbracket.vim

    看不懂关掉。复制此文件,文件名改为objcpp_matchbracket.vim,再把里面的objc替换成objcpp就成了。

    这样就可以在.mm文件中享用二插件了。

    不过还是有问题——原来一堆C,C++插件不认.mm文件。笔者是在.vimrc文件中写了个补丁,可以手动修改.mm文件的类型——objcpp或cpp:

    复制代码
    1 function ChangeFiletypeBetweenCppAndObjcpp()
    2     if &filetype=="cpp"
    3         set filetype=objcpp
    4     else
    5         set filetype=cpp
    6     endif
    7 endfunction
    8 
    9 map<F4> :call ChangeFileTypeBetweenCppAndObjcpp()<ENTER>
    复制代码

    这样就可以按F4切换.mm文件的类型,以令其适应不同的插件。

     
    分类: 工具
  • 相关阅读:
    禁止 FireFox 提示安装 Flash 插件
    MongoDb不能同步,可能是服务器时间不一致
    simpletest的一点经验:0个测试、1个Case的情况
    VIM学习笔记:列编辑
    使用 nginx 做http代理
    VirtualBox非常简单的克隆虚拟机的功能
    PDOStatement的HY093错误原因及解决办法
    火狐英文原版的下载地址
    修改 PHP 的 memory_limit 内存限定
    TEA 加密解法,统一了C语言、Java与PHP的运算结果
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2589627.html
Copyright © 2011-2022 走看看