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

     
    分类: 工具
  • 相关阅读:
    div自适应高度
    jquery的几种ajax提交方式
    分页后获取的数据怎么横向显示
    ssh项目将搜索条件进行联动
    某平台反war3明图原理分析
    Kali 安装8812au网卡驱动
    eXeScope 注册机制破解
    数据结构稀疏矩阵
    PEcompact 3.X 脱壳
    数据结构算数表达式求值
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2589627.html
Copyright © 2020-2023  润新知