输入:
==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 次 |
| 最近记录: |