Thread: Re: [cream] Problem with CmniCppComplete
Cream is a free, easy-to-use configuration of the Vim text editor
Brought to you by:
digitect
From: Steve H. <dig...@da...> - 2009-03-20 18:43:35
|
From: Massimiliano Mantione, Fri, March 20, 2009 11:56 am > > Hello! > > I am new to cream, and I'm finding it wonderful. > > However, I have a problem with omnicompletion. The "standard" vim > completion is not "complete" enough for me, while CmniCppComplete > ("http://www.vim.org/scripts/script.php?script_id=1520") gives me > exactly what I need. Is the standard omnicomplete only helpful for C? You might try the Vim list and see if any work has been done to improve this feature, it seems a shame to spend time on a plugin that duplicates features in the base program. > I have installed CmniCppComplete 0.41 on gvim 7.2, and it works. The > problem is, it does not work in cream 0.41 (same gvim, of course). > > I have also copied the relevant portion of my .vimrc into > .cream/cream-user.vim, particularly: > > set nocp > filetype plugin on Neither of these are necessary, Cream does these by default. > I was not sure if it was needed, but it seemed so. I also created > the tags file as described in the OmniCppComplete docs. > > At this point the situation is the following: > - If I open a file with gvim, OmniCppComplete works (if I try to > complete a C struct member it gives me the list of members, the > list appears automatically after I have typed the '->' operator). > - If I open the same file with cream, and do exactly the same > editing, after I finish typing '->' I get a "-- Omni completion > (^O^N^P) Pattern not found" message. > > Note that this is the same message I get both in gvim and cream if I > try to complete on an undefined variable (I mean, if I type > something like "xyzw->"). Before I created the "cream-user.vim" file > the error I got in cream was slightly different, IIRC it was just a > "Pattern not found" message, with no mention of the ^O^N^P key > bindings. > > So the question is, how do I make OmniCppComplete work in cream? I'm not familiar with this plugin, but it sounds like it does not deal with Vim's &insertmode feature. You might try: :set noinsertmode and test to see if that helps. If so, contact the author of the plugin and see if they can make it work with &insertmode. (Or perhaps rummage around in the code yourself!) There could be a very basic assumption in the code that assumes the cursor is adjacent to something that &insertmode puts a space farther away. Frequently just one char space makes all the difference with completion. -- Steve Hall [ digitect dancingpaper com ] :: Cream... usability for Vim :: http://cream.sourceforge.net |
From: Massimiliano M. <mas...@gm...> - 2009-03-23 15:53:18
|
On Fri, 2009-03-20 at 11:43 -0700, Steve Hall wrote: > Is the standard omnicomplete only helpful for C? You might try the Vim > list and see if any work has been done to improve this feature, it > seems a shame to spend time on a plugin that duplicates features in > the base program. OmniCppComplete works with C and C++, and it does a great job in completing field and member information, which is completely contextual (it depends on the type of the definition of what comes before the '->' or '.' operator after which you are trying to complete). AFAICS the standard vim completion feature does not even attempt this (or anyway it fails in doing so). > I'm not familiar with this plugin, but it sounds like it does not deal > with Vim's &insertmode feature. You might try: > > :set noinsertmode It changed nothing... I mean, I did the following (I have expert mode on): - go near the place where I wanted to edit my C file, - press esc (cursor changes shape), type ":set noinsertmode" and then enter, - press esc again, - edit the source and try to complete. The result was exactly as before. I also tried giving the ":set noinsertmode" command just before trying to complete, with the same result. So I still have this plugin that works with plain vim and not with cream :-( I'll follow your advice and ask the pluging author as well. Thanks! Massimiliano |
From: Steve H. <dig...@da...> - 2009-03-24 02:21:26
|
On Mon, 2009-03-23 at 16:55 +0100, Massimiliano Mantione wrote: > > > I'm not familiar with this plugin, but it sounds like it does not deal > > with Vim's &insertmode feature. You might try: > > > > :set noinsertmode > > It changed nothing... > > I mean, I did the following (I have expert mode on): > - go near the place where I wanted to edit my C file, > - press esc (cursor changes shape), type ":set noinsertmode" and then > enter, > - press esc again, > - edit the source and try to complete. > The result was exactly as before. > > I also tried giving the ":set noinsertmode" command just before trying > to complete, with the same result. > > So I still have this plugin that works with plain vim and not with > cream :-( > > I'll follow your advice and ask the pluging author as well. I'm not sure what else to recommend. I've spent literally weeks trying to unpack some Vim plugins to no avail. Vim's options are so wide-ranged, that if a plugin makes an errant assumption about a user's environment it may be very difficult to get working. -- Steve Hall [ digitect dancingpaper com ] :: Cream... usability for Vim :: http://cream.sourceforge.net |