Hi Tony,

Reading :h <amatch>, I'm unable to tell whether <amatch> would be the
basename or the full pathname of the matched file. Could you say?

Thanks

On Thu, Oct 15, 2015 at 1:29 AM, Tony Mechelynck <
[email protected]> wrote:

>  On Thu, Oct 15, 2015 at 7:27 AM, Tony Mechelynck
> <[email protected]> wrote:
> > On Thu, Oct 15, 2015 at 4:30 AM,  <[email protected]> wrote:
> >> Hi all,
> >>
> >> I have right now an autocommand, au BufWritePost *.foo :run_cmd.
> >>
> >> I want it to run upon writing all files matching *.foo, but not any
> files matching bar.*, or more equivalently bar.*.foo.
> >>
> >> How can I disable the autocommand for files starting with bar? The full
> path of an ideally excluded file may be /tmp/dir/bar.qux.foo, while
> /tmp/dir/qux.foo should be included
> >>
> >> Thanks, everyone!
> >
> > Simple (but sometimes when it's too simple we don't think of it)
> >
> > :au BufWritePost *
>
> oops —the above should of course have been :au BufWritePost *.foo
>
> >     \ if <amatch> !~ '^bar\.' | RunCmd | endif
> >
> > see
> >     :h <amatch>
> >     :h expr-!~
> >     :h line-continuation
> >
> > Notes:
> >   1. !~ takes a full-fledged Vim pattern as in the / :s :g etc.
> > commands, not a shell-like "glob pattern". So the ^ (spacing
> > circumflex) matches zero characters at the beginning of the string,
> > and the \. (slash-dot) matches an actual dot. Any match starting with
> > "bar." will thus take the (empty) false path of the :if — and do
> > nothing.
> >   2. The use of line continuation assumes that you're running Vim in
> > 'nocompatible' mode, or at least without the C flag in 'cpoptions'.
> >   3. You cannot define a user command named :run_cmd but you can
> > define one named :RunCmd (every user-command name must start with an
> > uppercase letter).
> >
> >
> > Best regards,
> > Tony.
>
> --
> --
> 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
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to