On Wed 26-Jul-06 1:07pm -0600, Benji Fisher wrote:

> On Wed, Jul 26, 2006 at 07:45:12AM +0200, A.J.Mechelynck wrote:

>> IIUC, it's a feature: \* means a literal asterisk. Not a very good
>> feature since IIUC, asterisks are not allowed in filenames on Windows. 
>> Or can they happen in long file names?

>      Right, as explained under
>
> :help dos-backslash
>
> (There is not enough detail there to predict what vim will do in this
> particular situation, though.)  This might also work (but I am not going
> to find a W32 box to test it, sorry):
>
>         :ru! plugin\\**\\*.vim

    :verb ru! plugin\\**\\*.vim
    not found in 'runtimepath': "plugin\\**\\*.vim"
    
> :help starstar-wildcard
>
> to explain using \**\ on DOS-like systems.  In fact, after reading that,
> it seems to me as though \**\ *should* be interpreted as path separator,
> wildcard, path separator in this case.

In many cases Vim does work OK here.  For example, if I
type:

    :args .\**\*.c

I will get all *.c files in directories below the current
(but no *.c files in current).  Also,

    :args **\*.c

does the same incorrect thing - at least it's consistent :-)

OTOH, either of:

    :args ./**/*.c
    :args **/*.c

find all the *.c files, including in the current, as
expected.

In just feels like a bug when it almost works in :args but
produces an error in :runtime.

BTW, until reading through the docs you mentioned, I thought

    args **\*.c

returning everything below current, was a feature.  If I
needed all *.c in the current and below, I was typing:

    args *.c **\*.c

How do you restrict to just the directories below current
(without any shell tricks)?

-- 
Best regards,
Bill

Reply via email to