输入:
==abc==
===abc===
====abc====
Run Code Online (Sandbox Code Playgroud)
Vim的命令模式→ :g/=$/normal b i InsertedtexT
(别名:"norm"和"norm!")→输出:
==abc==
InsertedtexT===abc===
InsertedtexT====abc====
Run Code Online (Sandbox Code Playgroud)
正常模式→→ $ b i InsertedtexT
输出(这是它应该做的):
==abcInsertedtexT==
===abcInsertedtexT===
====abcInsertedtexT====
Run Code Online (Sandbox Code Playgroud)
Ama*_*dan 12
:g
不会将光标定位在匹配位置,而是位于行的开头.并且空间将向右移动光标(我假设您在正常模式下测试时没有键入.)所以这会发生::g
找到以等于结尾的行; b
带你到前一行(第一行除外,:norm
因为你不能倒退,执行中止),所以现在光标位于行之间; 空间让你前进,到下一行的开头; i
进入插入模式; 并InsertedtexT
与前导空间一起插入零件和包裹.
您想要做的就是您在正常模式下所做的事情:
:g/=$/norm! $biInsertedtexT
Run Code Online (Sandbox Code Playgroud)
(注意没有空格,并注意您需要明确地转到行的末尾; :norm!
以防万一,如果您的环境有任何奇怪的映射.)
tl; dr:Vim的正常命令在命令模式下可以正常工作.
归档时间: |
|
查看次数: |
101 次 |
最近记录: |