如何将Vim中的所有文本转换为小写?这可能吗?


当前回答

使用ggguG

Gg:到第一行。

Gu:小写。

G:排到最后一行。

其他回答

剥猫皮的方法有很多……这是我刚刚发布的方法:


:%s/[A-Z]/\L&/g

大写字母也是一样:


:%s/[a-z]/\U&/g

我更喜欢这种方式,因为我一直在使用这种结构(:%s/[pattern]/replace/g),所以它更自然。

我有一个类似的问题,我想使用“:%s/old/new/g”,但最终使用了两个命令:

:0
gu:$

我假设你想要小写的文本。解决方法很简单:

ggVGu

解释:

Gg -指向文本的第一行 V -打开视觉选择,在直线模式下 G -转到文件的结尾(此时你已经选择了整个文本) 小写的选定区域

如果您在某种Unix系统下运行

:0,$!tr "[A-Z]" "[a-z]"

通常Vu(或大写的Vu)足以将整行变成小写,因为V已经选择了对整行应用操作。

Tilda(~)改变了单个字母的大小写,导致驼峰大小写或类似情况。

Vim有很多很多不同的模式来处理各种场合,而且这些模式是如何整齐地组织起来的,这真的很棒。

例如,v -真正的可视模式,和相关的v -可视线,以及Ctrl+Q -可视块模式(允许您选择块,这是其他一些高级编辑器也提供的一个很好的功能,通常通过按住Alt键并选择文本)。