1
我使用以下包裹当前段落,然后取下双位:映射一个Vim命令,然后更换
nnoremap Q gqap :s///g<cr>
但是,当我执行它,我得到的图案没有发现,这是奇怪的因为它是有效的,如果我单独做::s///g
+ Enter
可能是什么问题?
我使用以下包裹当前段落,然后取下双位:映射一个Vim命令,然后更换
nnoremap Q gqap :s///g<cr>
但是,当我执行它,我得到的图案没有发现,这是奇怪的因为它是有效的,如果我单独做::s///g
+ Enter
可能是什么问题?
映射本身看起来很好;我想问题是:s
只适用于当前行,而重新格式化后,文本可能分布在多行。您可以通过解决:substitute
上最后更改的范围(:'[,']
)来解决此问题。由于有不一定多个空格(由\+
更好的匹配也匹配多于2),你可以用/e
标志取消错误:
:nnoremap Q gqap:'[,']s/ \+/ /ge<cr>
感谢它的工作。 – alexchenco 2015-02-24 10:02:14
有没有可能是因为nnoremap是它不评估gqap非递归? – Gordonium 2015-02-24 08:45:33