如何在Vim中将所有文本转换为小写
你如何将Vim中的所有文本转换为小写? 这甚至有可能吗?
- 
如果你确实是指小型大写 ,那么不,这是不可能的,就像在任何文本编辑器 (而不是文字处理器 )中将文本转换成粗体或斜体一样。 如果要将文本转换为小写,请创build一个可视块,然后按 u(或U转换为大写)。 指令模式中的Tilde(~)反转光标下方字符的大小写。
- 
如果你想在Vim中看到所有的文本,你可能想看一下 guifont选项,或者input:set guifont=*如果你的Vim风格支持GUI字体select器。
我假设你想小写的文字。 解决scheme非常简单:
 ggVGu 
说明:
- gg – 去文本的第一行
- V – 在线模式下打开视觉select
- G – 到文件结尾(此刻你select了全文)
- u – 小写的选定区域
类似mangledorf的解决scheme,但更短,对外行友好
 :%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. 
许多方法去皮肤猫…这是我刚刚发布的方式:
 :%s/[AZ]/\L&/g 
同样对于大写字母:
 :%s/[az]/\U&/g 
 我更喜欢这种方式,因为我一直在使用这个构造( :%s/[pattern]/replace/g ),所以更自然。 
- 用g〜然后移动大小写“HellO”到“hELLo”。
- 大写字母“HELLO”变成“HELLO”然后用gU进行一个动作。
- 用小写的“HellO”与“gullo”用gu来表示一个动作。
有关示例和更多信息,请阅读以下内容: http : //vim.wikia.com/wiki/Switching_case_of_characters
如果你正在Unix下运行
 :0,$!tr "[AZ]" "[az]" 
 我有一个类似的问题,我想用":%s/old/new/g" ,但最后使用了两个命令: 
 :0 gu:$ 
通常V u (或V U大写)足以将整行变成小写,因为V已经select整行来应用该行动。
蒂尔达( 〜 )改变了个别字母的情况,导致骆驼或类似情况。
Vim有很多不同的模式来处理各种场合,以及这些模式是如何整齐地组织起来,这真的很棒。
例如, v – 真正的视觉模式,相关的V -visual线, Ctrl + Q – 视觉模块模式(可以让你select模块,其他一些高级编辑器通常还提供了一个很棒的function,通过按住Alt键select文字)。
 使用ggguG 
gg:去第一行。 顾:改为小写。 G:走到最后一行。