私は Linux の初心者ですが、ついに試してみることにしました。最近 openSUSE をインストールしました。Windows 7 では、c/c++ プログラミングに Visual Studio を使用しました。Linux で IDE を見つけようとしましたが、KDevelop を試してみましたが気に入らなかったので、VIM をソース コード エディターとしてセットアップすることにしました。
まず、オートコンプリートを見つける必要がありました。GCCSense と clang_complete についていくつか読みましたが、今のところ、これらのインストールは少し複雑なので、omnicpp と ctags に落ち着きました。
omnicpp をダウンロードしてそれらのファイルを ~/.vim フォルダーに置き、ctags をインストールしました。私の .vimrc は次のようになります。
set number
" --- OmniCppComplete ---
" -- required --
set nocp " non vi compatible mode
filetype plugin on " enable plugins
" -- optional --
" auto close options when exiting insert mode
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
set completeopt=menu,menuone
" -- configs --
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype (i.e. parameters) in popup window
" -- ctags --
" map F8 to generate ctags for current folder:
map <F8> :!/usr/bin/ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
" add current directory's generated tags file to available tags
set tags=./tags,tags,/home/andrzej/vim/commontags
試してみるために、単純な .c ファイルを作成しました
struct str
{
int aaa;
};
int main()
{
str *wsk;
wsk->aaa=5;
return 0;
}
入力モードではないときに F8 を押すと、.c ファイルが見つかったときにタグ ファイルが生成されるはずです (map :!/usr/bin/ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .) しかし、そのようなファイルは生成されません。私が間違っていることは何ですか?