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