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文件的类型,以令其适应不同的插件。

     
    分类: 工具
  • 相关阅读:
    2012第50周星期日
    2012第51周星期一
    2012第51周星期三
    2012第51周六
    2012第52周一
    2012第51周五冬至
    2012第51周星期二
    2012第52周二
    2012年第51周日
    2012第51周星期四
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2589627.html
Copyright © 2011-2022 走看看