好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

用vim写ios程序

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

 

分类:  工具

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于用vim写ios程序的详细内容...

  阅读:38次