Emacs有一个名为open-rectangle的函数,它允许您选择一个矩形区域(即Vim的可视块模式),然后按下组合键来用空格填充该矩形,将任何现有内容向右推送:
这在处理垂直对齐的文本列时非常有用。我觉得我也应该能够在Vim中轻松地做到这一点,使用可视块和搜索和替换。但是当我尝试时,似乎无法弄清楚为什么我的搜索和替换没有绑定到我的矩形上。
这实际上是缩进整行,而不是展开所选区域。我试过替换以下代码:
但是这种方法的效果相同。我如何让我的模式理解我只想用空格 + 选定区域替换选择块中的每一行?简单的替换,比如只是改变字母可以工作,但使用 "^" 或 " .* "并不按照我的预期工作。
我知道可以按"I"键插入一些空格然后返回到正常模式,但是当您需要缩进大量行时,很难判断。
这在处理垂直对齐的文本列时非常有用。我觉得我也应该能够在Vim中轻松地做到这一点,使用可视块和搜索和替换。但是当我尝试时,似乎无法弄清楚为什么我的搜索和替换没有绑定到我的矩形上。
:'<,'>s/\^/ /
这实际上是缩进整行,而不是展开所选区域。我试过替换以下代码:
:'<,'>s/\v(.*)/ \1/
但是这种方法的效果相同。我如何让我的模式理解我只想用空格 + 选定区域替换选择块中的每一行?简单的替换,比如只是改变字母可以工作,但使用 "^" 或 " .* "并不按照我的预期工作。
我知道可以按"I"键插入一些空格然后返回到正常模式,但是当您需要缩进大量行时,很难判断。