我有一条短信:
"1-1-1"
"1-1-2"
"1-1-3"
"1-2-1"
"1-2-2"
"1-2-3"
"1-3-1"
"1-3-2"
"1-3-3"我想在第二个连字符之后的每一行插入0,将"1-1-1"转换为"1-1-01"。
我试着用:%s/-\d"/-0\d/代替,但这把1-1-1变成了1-1-0d。
如何在不改变周围文字的情况下插入一个符号?
发布于 2019-11-03 05:53:16
发布于 2019-11-04 13:37:53
我只想在戒指里加入一个不同的特征,因为我觉得它很独特。Vim正则表达式有两个零宽度原子来指定文本的开始(\zs)和结束(\ze),这两个原子被认为是匹配的。您可以以有趣的方式使用它们,例如:
:%s/-\zs\ze\d"/0/它告诉vim如果其余的正则表达式匹配,则将\zs和\ze之间的文本替换为0 (这里正好是空的)。
或者,只使用\ze
:%s/-\ze\d"/-0/当原始的-后面跟着一个数字和一个双引号时,它告诉vim用-0代替-。
有关更多信息,请参见:help \zs和:help \ze。
发布于 2019-11-03 06:09:46
从正常模式开始,您可以将光标放在第一行的最后一个连字符上,然后使用:
<c-v>GA0<esc>解释:
<c-v>:Ctrl+v输入块-视觉modeG:将可视选择扩展到fileA0:的末尾,进入插入模式,并将0<esc>:Escape插入模式关于:help v_b_A的更多信息
https://stackoverflow.com/questions/58677733
复制相似问题