如何在Vim中将所有文本转换为小写

时间:2009-07-09 09:43:32

标签: vim text-processing

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

10 个答案:

答案 0 :(得分:371)

我假设你想要小写文本。解决方案非常简单:

ggVGu

说明:

  1. gg - 转到第一行文字
  2. V - 以行模式打开视觉选择
  3. G - 转到文件末尾(此时您已选择全文)
  4. u - 小写选区

答案 1 :(得分:116)

  1. 如果您的意思是small caps,那么不,这是不可能的 - 就像在任何text editor中无法将文本转换为粗体或斜体一样(而不是{ {3}})。如果要将文本转换为小写,请创建一个可视块,然后按u(或U转换为大写)。命令模式中的Tilde(~)会反转光标下的字符大小写。

  2. 如果您希望以小写的形式查看Vim中的所有文本,您可能需要查看guifont选项,或者如果您的Vim风格支持GUI字体选择器,请键入:set guifont=*。< / p>

答案 2 :(得分:35)

使用此命令模式选项

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.

答案 3 :(得分:34)

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

:%s/.*/\L&/g

答案 4 :(得分:24)

很多方法可以给猫皮肤......这就是我posted关于的方式:


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

同样适用于大写:


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

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

答案 5 :(得分:20)

  • 用g~然后一个动作将案例“HellO”切换为“hELLo”。
  • 大写“HellO”到“HELLO”与gU然后一个动作。
  • 小写“HellO”到“hello”与gu然后是一个动作。

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

答案 6 :(得分:7)

使用ggguG

gg:转到第一行。 gu:改为小写。 G:转到最后一行。

答案 7 :(得分:6)

如果您在Unix的风格下运行

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

答案 8 :(得分:5)

通常 V u (或 V U 表示大写)足以将整行变为小写因为 V 已经选择了整行以对其进行操作。

Tilda()更改了个别字母的大小写,导致驼峰案例或类似情况。

Vim有很多不同的模式来处理各种场合以及这些模式如何整齐有序,这真的很棒。

例如, v - 真正的视觉模式,以及相关的 V - 视线, Ctrl + Q < / kbd> - 可视块模式(允许您选择块的内容,一些其他高级编辑器通常通过按住 Alt 键并选择文本来提供的一个很棒的功能)。

答案 9 :(得分:2)

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

:0
gu:$