![]() |
1
4
我认为你的脚本唯一的问题是位置保存看起来不正确。你基本上可以做你想做的事情:
与问题中的(正确的)代码相同。您可以简单地将其映射为:
如果你想保存这个位置,它会变得更复杂一些。最好的办法可能是使用这样的工具:
其中大部分是注释,但关键是要查看替换前后行的长度,并相应地决定新的光标位置。你可以通过比较你的方法来做到这一点
编辑 如果希望光标在空格字符后结束,请修改行:
这样看起来像这样:
编辑(2) 我已经更改了上面的脚本来考虑您的注释,这样光标位置只会根据光标位置之前的空格数进行调整。这是通过创建第二个正则表达式来完成的,该表达式从行中提取光标前面的空格(而不是其他任何内容),然后根据空格数调整光标位置。 |
![]() |
2
3
我不使用vim,但是如果你想匹配零个或更多的空格,你不应该使用
编辑:是光标定位的问题:你现在要做的是在替换之前在空格的开头设置位置,然后向前移动一个位置,使其在空格之后。尝试将其设置为 结束 相反,像这样:
这样,任何添加或删除都会发生 之前 光标位置。在大多数编辑器中,光标位置自动移动以跟踪这些更改。你不需要做任何getpos/setpos的事情。 |
![]() |
3
0
相反,我使用了法线和修改线之间的差异,找到了第一个与替换的正则表达式匹配的空间的位置。然后我将光标位置设置为+1。 |
![]() |
4
0
我使用的这个简单的方法几乎是相同的:
将光标放在要删除空格的位置,并删除光标和下一个文本后的所有空格。 |
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Katia · 根据特定规则进行多行匹配 2 年前 |
![]() |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
![]() |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |