Saturday, November 15, 2014

Re: :%s//\=@o/gce ignores c flag in key mapping

On Friday, November 14, 2014 4:02:55 PM UTC-8, porphyry5 wrote:
> In a key mapping I use the command ':%s//\=@o/gce'.
>
> The command executes as expected except that it behaves as if the c flag were not set.  Is this flag unavailable in a key mapping, or is there some other option that needs to be set for it to work.  It works as expected at the command line.
>
>
>
> --
>
> Graham Lawrence

This is the mapping concerned:
"map ,, /@@<CR>"myWcwqq<Esc>h"oywxx"nywma:let @/=@m<CR>:%s//\=@n/ge<CR>:let @/=@n<CR>:%s//\=@o/gce<CR>`ay2h`a:if @" != 'qq'<CR>:norm "Zyw<CR>:en<CR><CR>

The input file it processes has certain words flagged with a leading '@@' to indicate a possible error that can only be resolved by inspection. The mapping strips the leading @@ from all occurrences of the current word with the first :%s, then runs the second :%s with the c flag to allow the user to respond either 'a' or 'q' depending on whether the word is actually an error, or should be added to the reference word list.

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