On Tue, Jun 19, 2012 at 3:42 PM, Clark WANG <[email protected]> wrote:
> My vim settings: wildignore=*.o,*.so wildmode=longest,list,full
>
> On my system (Solaris 11, x86) I have a dir (named foo) under which there're 
> about 200 files (the foo dir itself is part of a big project which has many 
> dirs and files). Everytime I type `:e foo/<TAB>' it takes vim 10~15 seconds 
> to display all the files and vim uses high CPU resource. If I `set 
> wildignore=' then it works fine and all the files are displayed instantly.
>
> With truss (like strace on Linux) I found out that with wildignore=*.o,*.so, 
> vim will call open64()+fchdir()+chdir()+getcwd()+fchdir()+close() for every 
> file it finds. See line 357~862 of the attached file.
>
> Is that a problem?

On my system (linux, vim 7.3 patches 1-556) I don't see such slowness
(albeit with hundreds of repeated getcwd as reported by strace):

  $ mkdir foo
  $ cd foo
  $ for i in `seq 1 300`;do touch a$i.c a$i.o a$i.so;done
  $ cd ..
  $ vi
  :set wildignore=*.o,*.so wildmode=longest,list,full
  :e foo/a<tab>
  <file listing, a*.c, appear almost instantaneously>

Is your file system on NFS by any chance?

nazri

-- 
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