如何将Vim中的所有文本转换为小写?它甚至可能吗?
答案 0 :(得分:371)
我假设你想要小写文本。解决方案非常简单:
ggVGu
说明:
答案 1 :(得分:116)
如果您的意思是small caps,那么不,这是不可能的 - 就像在任何text editor中无法将文本转换为粗体或斜体一样(而不是{ {3}})。如果要将文本转换为小写,请创建一个可视块,然后按u
(或U
转换为大写)。命令模式中的Tilde(~
)会反转光标下的字符大小写。
如果您希望以小写的形式查看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)
有关示例和更多信息,请阅读以下内容: 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:$