Emacs有一个名为open-rectangle的函数,它允许你选择一个矩形区域(即Vim的可视块模式),然后点击一个组合键用空格填充该矩形,将任何现有内容推出到右边:

在处理垂直对齐的文本列时,这非常有用.我觉得我也应该能够在Vim中轻松地使用visual block +搜索和替换.但我似乎无法弄清楚为什么我的搜索和替换没有绑定到我的矩形当我尝试它.
:'<,'>s/\^/ /
Run Code Online (Sandbox Code Playgroud)
这实际上缩进了整行,而不是打开这个选定的区域.我试过更换:
:'<,'>s/\v(.*)/ \1/
Run Code Online (Sandbox Code Playgroud)
但这有同样的效果.如何让我的模式理解我只想用空格+所选区域替换所选块中的每一行?简单的替换,如只是改变字母工作,但使用^或.*不按我期望的方式工作.
我知道有能力点击"I"并将一些空格插入正常模式,但是当你在很多行中进行大量缩进时,这很难判断.