用vim寫ios程式

來源:互聯網
上載者:User

以前介紹過一些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.vim2                \| let b:match_words = '@\(implementation\|interface\):@end'3                \| setl inc=^\s*#\s*import omnifunc=objc#cocoacomplete#Complete4                \| 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=objcpp4     else5         set filetype=cpp6     endif7 endfunction8 9 map<F4> :call ChangeFileTypeBetweenCppAndObjcpp()<ENTER>

這樣就可以按F4切換.mm檔案的類型,以令其適應不同的外掛程式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.