如果要缩进文档中的所有行,可以键入>G将其应用于当前行及以下行,然后依次输入和>gg将其应用于上方行。

是否有组合I可以一次将>应用于所有行吗?

#1 楼

您正在寻找整个文件的:>命令和1,$范围(简称%)。

:%>


有关更多帮助,请参见:

:h :>
:h :range


评论


由于此问题的标题(“将命令应用于所有行”),我觉得值得指出的是,该示例中的示例提到了普通模式运算符>,而此答案使用了Command-mode命令:>。严格来讲,这些不是同一件事。它们具有相同的名称应视为巧合;不要以为您通常可以互换运算符和命令。例如,gU运算符将文本转换为大写,但:%gU是无效的命令,无法将其应用于整个缓冲区。

–tommcdo
2015年12月9日,0:43



#2 楼

缩进文档中所有行的一种方法:

:%>


#3 楼

无需退出普通模式,您只需执行以下操作即可:

gg>G


评论


缺点是您在文件中失去了位置

–TankorSmash
2015年12月8日20:56在

所有其他答案都有缺点,OP没有提到“尊重光标位置”。

– romainl
2015年12月8日在21:05

可用于返回到先前的位置@romainl的解决方案要求您返回两次,而另一个仅需要返回一次

–布雷特Y
2015年12月8日在21:24



当然,您会喜欢保持自己的位置的价值,以及保持该位置的答案将是有价值的。

–TankorSmash
2015年12月8日在22:33

这就是为什么它没有被低估的原因。这只是一条纸条,说某处有更好的选择,他们应该继续寻找。例如,在SE编程网站上,解决问题的草率代码可以解决问题,但是您仍然希望找到另一种解决问题且看起来不错的解决方案。

–TankorSmash
2015年12月8日在23:04

#4 楼

尚未提及的另一个选项:

:g/^/>


这将在与模式>匹配的所有行上运行命令^

缺点就是这样会覆盖您的搜索记录。