Loading ...
Sorry, an error occurred while loading the content.
 

Re: escape / after \V

Expand Messages
  • Tony Mechelynck
    ... Or, you could use any character instead of / if there is one which you know will not happen in the pattern, for instance exec 3match User1 £ . @/ . £
    Message 1 of 3 , Jul 30, 2012
      On 29/07/12 20:11, Gary Johnson wrote:
      > On 2012-07-29, Bee wrote:
      >> escape / after \V
      >>
      >> :help \V
      >>
      >> Use of "\V" means that in the pattern after it only the backslash has
      >> a special meaning. "very nomagic"
      >>
      >> I have a function:
      >>
      >> function! Visual2Highlight()
      >> let @/ = '\c\V' . substitute(escape(@@,'/\'),'\n','\\n','g')
      >> execute '3match User1 /' . @/ . '/'
      >> endf
      >> vnoremap <F12> y:call Visual2Highlight()<cr>
      >>
      >> If / is NOT included in escape(@@,'/\') it does NOT work.
      >>
      >> If I use the function on line(s) that have a / then I get an error:
      >> Example: Visually select this whole line:
      >>
      >> " multi-line visual to /highlight
      >>
      >> Error detected while processing function Visual2Highlight:
      >> line 2:
      >> E488: Trailing characters: 3match User1 /\c\V" multi-line visual to /
      >> highlight\n/
      >>
      >> It looks like / still has special meaning.
      >> What is happening?
      >
      > In the 3match command, you are using / to delimit the pattern, so
      > any / within the pattern will have to be escaped, otherwise the
      > first one will terminate the pattern and the following characters
      > will be seen as "trailing characters".
      >
      > Regards,
      > Gary
      >

      Or, you could use any character instead of / if there is one which you
      know will not happen in the pattern, for instance

      exec '3match User1 £' . @/ . '£'

      if you know that there will be no £ sign in what you just put into @/ in
      the preceding :let statement.


      Best regards,
      Tony.
      --
      "I'd love to go out with you, but I'm staying home to work on my
      cottage cheese sculpture."

      --
      You received this message from the "vim_dev" 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
    Your message has been successfully submitted and would be delivered to recipients shortly.