Re: Seach and follow with keystrokes or a macro
------ Original Message ------
From: "Gua Chung Lim" <gua.chunglim@gmail.com>
To: vim_use@googlegroups.com
Sent: Saturday, 10 Jul, 2021 At 14:23
Subject: Seach and follow with keystrokes or a macro
Hi,
I have been using vim for years, I usually use @ macros. I have a question hard to explain. Assuming I have a text file ...
keyword: toggle CASE Retentive Case
keyword: TOGGLE case Retentive Case
keyword: togGLE CASE Retentive Case
...
And I want to toggle the case of some letters after ^keyword:.
Things I usually do is ...
/^keyword
then do the following keystrokes ...
9lv10l~0
And for the rest of file I can simply do ...
n.
to find the next match (n), and repeat the keystrokes (.)
Certainly, I can assign 9lv10l~0 to a macro. But what if I have 1,000+ lines like this, I would never want to use the macro for every line containing "^keyword". Is there anyway to search and replace in a single colon command? Like ...
:%s/^keyword/do_keystrokes/g
or
:%s/^keyword/do_a_macro/g
Thanks in advance,
--
Gua Chung Lim
Hi
as you say, the task is not terribly clear.
Once you've done a
/^keyword
you can find further instances with
n
It is not clear if you have some rule for the case required for various words. I notice that case occurs with different capitalisation where it hasn't obviously been mangled. If there's no rule, you're stuck with going through them all. The usual swap case is just
~
So you can go through finding the next keyword with n and then right arrowing or tilding to get that line right.
If on the other hand you can devise a rule for the capitalization, you can devise a set of commands such as
:g/^keyword/s/toggle\c/TOGGLE/
:g/^keyword/s/CASE\c/CASE/g
:g/^keyword/s/CASE$/Case/
which wd change all the toggles and cases to upper case, and then change all CASEs at the end of line to mixed case. The g command limits the change to lines starting keyword (lower case).
regards - Chris Willis
Nothing ever exists entirely alone without dualities.
--
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/YOmfbxPeLlbqmz2M%40gmail.com.
No comments:
Post a Comment