On Fri 6-Oct-06 12:25am -0600, Igor Prischepoff wrote:
> Well, i still don't understand vim logic behind that process.
>
> Let's see more realistic example.
> ========================
> gvim -U NONE -u NONE
Only last time, although I don't think it matters in this
example, you are working in 'cp' mode. Many of vim/gvim
features will not work in that mode. (Also, the -U NONE is
redundant. See ':h -u' second paragraph for why you don't
need -U and the side effect of setting 'cp')
> Let's suppose that I am a poor pascal programmer and typing code like this:
> :set completeopt+=longest
> :set complete-=t
> i
> var one : byte;
> two : byte;
> two_and_three : byte;
> three : byte;
> // may be this is a word?
> one:=three;
> // or next one is a a word?
> one:=two_and_three;
> o<C-N>:=t<C-n>
> // completion in second <C-N> still not working here...
> // so there is no word? not 'one:=t*' or 't*' words in buffer?
> // I still thinks it should be considered as a bug.
What action did you take on the first <C-N>? Since 'o' is
the longest common, no addition completion is done. If you
just want the 'o' type <C-Y>, if you want 'one' type <C-N>,
or if you want 'or' type <C-P>.
Why <C-Y>? See ':h complete_CTRL-Y'
Now type ':=t<C-N>'. What do you mean by "still not
working"?
I see (since I picked 'one' for the first completion):
one:=t
two
two_and_three
three
this
Nothing was added to the 't' because it's the longest
common.
If I now want 'this;' I would type '<C-P>;'.
My complete keystrokes from insert mode at the beginning of
that line are:
o<C-N><C-N>:=t<C-N><C-P>;<Esc>
and my line reads:
one:=this;
and my cursor would be on the ';'.
--
Best regards,
Bill