As my typical use of vim is applying the substitute command, I decided to maintain a file of previously used such commands, and to grep a selection of them back into my current buffer by providing grep with the first few characters of the pattern for the substitute I wish to make. For that, I have produced this mapping:
The imap RHS works as expected if run by hand as ex commands, but fails as a mapping because one superfluous \ (inserted by the plplp sequence) remains after the substitute that should remove them all.
e.g. the sequence /\([ is converted to \/\\\(\[\ instead of the required \/\\\(\[" grep pattern from subs.vim into current buffer imap <S-F8> \<Esc>xbPlplplplplp:s/\\*$//<CR>d$:r!grep " ^R"" subs.vim<CR>Note ^R is the blue text produced by the sequence ^V^R
The imap RHS works as expected if run by hand as ex commands, but fails as a mapping because one superfluous \ (inserted by the plplp sequence) remains after the substitute that should remove them all.
--
Graham Lawrence
--
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:
Post a Comment