On Fri, 16 Sep 2011, Mats Rauhala wrote:

I tested with an empty .vim file and my .vimrc contained only minimum. Also ctags needs to be ran before testing. I also tested with the latest from hg, built today.

filetype on
filetype plugin indent on
syntax on
autocmd FileType php set omnifunc=phpcomplete#CompletePHP

Ah.  Thanks.  Yes, it's the tags file that does it.  Full repro:

$ mkdir /tmp/vim-php-test
$ mv first.php second.php /tmp/vim-php-test
$ cd /tmp/vim-php-test
$ ctags *.php
$ vim -o second.php first.php
GG$a<C-X><C-O>

The problem is in:

autoload/phpcomplete.vim

function! phpcomplete#GetClassContents(file, name)

Which, as the message flashed when the error occurs:

        E839: Completion function changed window.

explains, opens a new window. The function contains this ominous comment:
        " We use new buffer and (later) normal! because
        " this is the most efficient way. The other way
        " is to go through the looong string looking for
        " matching {}

It appears to use the '%' motion to find its match, so it's probably non-trivial to recreate without the matchparen plugin. I'll take a look if I get some tuits of the round variety (probably shouldn't hold your breath).

--
Best,
Ben

--
You received this message from the "vim_dev" 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

Raspunde prin e-mail lui