![]() |
1
4
我认为你的脚本唯一的问题是位置保存看起来不正确。你基本上可以做你想做的事情:
与问题中的(正确的)代码相同。您可以简单地将其映射为:
如果你想保存这个位置,它会变得更复杂一些。最好的办法可能是使用这样的工具:
其中大部分是注释,但关键是要查看替换前后行的长度,并相应地决定新的光标位置。你可以通过比较你的方法来做到这一点
编辑 如果希望光标在空格字符后结束,请修改行:
这样看起来像这样:
编辑(2) 我已经更改了上面的脚本来考虑您的注释,这样光标位置只会根据光标位置之前的空格数进行调整。这是通过创建第二个正则表达式来完成的,该表达式从行中提取光标前面的空格(而不是其他任何内容),然后根据空格数调整光标位置。 |
![]() |
2
3
我不使用vim,但是如果你想匹配零个或更多的空格,你不应该使用
编辑:是光标定位的问题:你现在要做的是在替换之前在空格的开头设置位置,然后向前移动一个位置,使其在空格之后。尝试将其设置为 结束 相反,像这样:
这样,任何添加或删除都会发生 之前 光标位置。在大多数编辑器中,光标位置自动移动以跟踪这些更改。你不需要做任何getpos/setpos的事情。 |
![]() |
3
0
相反,我使用了法线和修改线之间的差异,找到了第一个与替换的正则表达式匹配的空间的位置。然后我将光标位置设置为+1。 |
![]() |
4
0
我使用的这个简单的方法几乎是相同的:
将光标放在要删除空格的位置,并删除光标和下一个文本后的所有空格。 |
![]() |
David Robie · VIM:寄存器中填充字符断点宏的有向图 11 月前 |
![]() |
Haoshu · 打开文件时如何简化包含“..”的文件路径 1 年前 |
|
Paw-1 Poudel · 在窗口中显示neovim内部的隐藏文件 1 年前 |
![]() |
Bippan Kumar · 保存时删除在nvim中添加的空白 1 年前 |
![]() |
perpetual · 防止在git主分支上意外直接提交 1 年前 |
![]() |
ashish singh · 如何删除VIM中的单词和以前的空白? 1 年前 |
![]() |
farnsy · Vim如何将第二个参数添加到缓冲区列表(备用文件)? 1 年前 |
![]() |
MdNihal05 · vim插件安装在linux中不工作如何安装插件 1 年前 |