Hi Christian, Still doesn't work. But your defined function give me a hint. Thanks.
(1) set wildmode=longest,list in vimrc. Copy and paste the custom completion function you provided in vimrc. (2) vim usa1.txt test/usa2.txt (3) type ":b u" in EX mode, then press TAB, still cannot expand to ":b usa" On Jun 9, 11:37 am, Christian Brabandt <[email protected]> wrote: > Hi heirloom! > > On Do, 09 Jun 2011, heirloom wrote: > > > > > > > > > > > Thanks a lot for being so patient and giving me so much details. I can > > reproduce all the examples in your posts and agree with what you said, > > No problems. > > > But when I "vim /xxx/yyy/zzz/usa1 /mmm/usa2", it seems less a burden > > if I only have to remember the file names, not their differebt FULL > > paths. So it seems better if vim can provide an option/feature so that > > <tab> auto-completion only considers file names ONLY (not including > > file paths). In this case, when I type ":b u" and press <tab>, since > > "usa" is the common prefix of two file names: "usa1" and "usa2", it > > will auto-complete up to ":b usa" for me. Reasonable? > > > You may say I can press tab repeatly to choose what I want. But what > > if I have tons of similar files in different directories to edit, > > like: usa1, usa2... usa10. I don't want to press tab many many times. > > Thanks. > > Make a custom completion function: > fu! <sid>CustomComplete(A,L,C) > let clist=[] > let i=0 > while i < argc() > call add(clist, argv(i)) > let i+=1 > endw > call filter(clist, 'v:val =~? a:A') > call map(clist, 'fnameescape(v:val)') > return clist > endfu > > com! -complete=customlist,<sid>CustomComplete -nargs=1 B :b <args> > > regards, > Christian > -- -- 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
