What's more, when I include --c++-kind=+p as the ctags parameter, the member functions appears in the popup menu when I insert . or -> to try to do the completion. However, when I type <C-]>, tying to jump to the definition of the function, I doesn't work. Instead, it pop up a list, wandering where I want to jump.
Are there any ways to jump to the definition of a function under my cursor, when I include --c-kind=+p and --c++-kind=+p in my ctags parameter list?
I'm Appreciate your reply.
2011/7/8 Tim K <scheintoter@googlemail.com>
Hi everybody,I am new to vim and tried to set up Omni completion for C++ in vim.I use gvim Version 7.3 and Windows XP.What I have done so far is:Download OmniCppComplete from http://www.vim.org/scripts/script.php?script_id=1520 and the Windows version of ctags from http://ctags.sourceforge.net/Copy the after autoload and doc directories from the archive to C:\Programme\Vim\vimfiles\after, C:\Programme\Vim\vimfiles\autoload and C:\Programme\Vim\vimfiles\docAs wriiten at http://vim.wikia.com/wiki/VimTip1608:Add the following lines in my _vimrc file:set nocpfiletype plugin on" OmniCppCompletelet OmniCpp_NamespaceSearch = 1let OmniCpp_GlobalScopeSearch = 1let OmniCpp_ShowAccess = 1let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameterslet OmniCpp_MayCompleteDot = 1 " autocomplete after .let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->let OmniCpp_MayCompleteScope = 1 " autocomplete after ::let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]" automatically open and close the popup menu / preview windowau CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endifset completeopt=menuone,menu,longest,previewWrite a file main.cpp://------------------------------------#include<vector>class MyClass{public:int f(){return 3;}int g(){return 6;}};int main(){MyClass a;std::vector<int> v;vector<int> w;return 0;}//----------------------------------Download modified header files from http://www.vim.org/scripts/script.php?script_id=2358On this header files I executed ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_srcIn the directory with the main.cpp I executed ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .The 2 tags files where then added to vims tags variable by :set tags += C:/some/path/tagsMy Problem now is:When I type "MyClass::" then I get a "-- Omni completion (^O^N^P) Pattern not found"The same for "std::" and "v."But "a." and "w." works as expected.Did I misunderstand the capabilities of OmniCppComplete; did I do something wrong; or is my computer hating me?Hope somebody can help.TimP.S.:I didn't know if I should write what I have done as detailed as I did, since everbody who tries to help me has to read all that.But on the other hand there may be details in there that are needed.I appreciate advices how long I should describe the situation when I have another problem in the future.--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--
Stanley Rice
Sun Yat-sen University
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
No comments:
Post a Comment