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


当前回答

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

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

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

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

其他回答

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

:0
gu:$

用g~切换大小写“HellO”到“HellO”,然后移动。 大写的“HellO”到“HellO”加上gU然后移动。 小写的“HellO”到“HellO”加上gu然后一个动作。

有关例子和更多信息,请阅读以下内容: http://vim.wikia.com/wiki/Switching_case_of_characters

类似于mangledorf的解决方案,但更简短,对外行更友好

: % s / . * \ l / g

使用此命令模式选项

ggguG


gg - Goto the first line 
g  - start to converting from current line    
u  - Convert into lower case for all characters
G  - To end of the file.

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

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

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

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