Saturday, April 12, 2014

Re: How to match one OR another word?

Thanks Christian, this works great!

When I tried \| it didn't work and I assumed pattern.txt refers to patterns used with
search command and there are some special rules when you use matching with =~ .

I've run into double escape issue before but I keep forgetting to do that.. thanks again!  -ak



On Sat, Apr 12, 2014 at 5:55 PM, Nikolay Pavlov <zyx.vim@gmail.com> wrote:


On Apr 13, 2014 1:47 AM, "Christian Brabandt" <cblists@256bit.org> wrote:
>
>
> On Sa, 12 Apr 2014, Andrei Kulakov wrote:
>
> > Hi, how can I get this to work:
>
> What are you trying to achieve?
> >
> > imap -
> > <c-r>=synIDattr(synIDtrans(synID(line("."),col(".")-1,1)),"name")=~"(String)||(Comment)"
> > ? '-' : '_'<cr>
>
> I think this should be:
> imap - <c-r>=synIDattr(synIDtrans(synID(line("."),col(".")-1,1)),"name")=~?'String\\|Comment'?'-':'_'<cr>
>
> I am not sure, why the \ needs to be doubled. I guess it has to be
> escaped, because it is evaluated twice or something.

One escaping for :map (so bar is not treated as commands separator), one for regex engine.

> > And how can this be found in Vim manual?

I would say that OP needs to read all of :h pattern.

> Depends on what your problem in understanding is. For starters, look here:
>
> :h i_CTRL-R_=
> :h synIDattr()
> :h synIDtrans()
> :h synID()
> :h line()
> :h col()
> :h expr1
> :h expr4
> :h /bar
> :h /\(
>
> Best,
> Christian
> --
> Der Ärger ist als Gewitter, nicht als Dauerregen gedacht; er soll die
> Luft reinigen und nicht die Ernte verderben.
>                 -- Ernst R. Hauschka
>
> --
> --
> 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 vim_use+unsubscribe@googlegroups.com.
> 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 vim_use+unsubscribe@googlegroups.com.
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 vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: