如何将Vim中的所有文本转换为小写?它甚至可能吗?
我假设你想要小写文本.解决方案非常简单:
ggVGu
说明:
gg - 转到第一行文字
V - 在线模式下打开视觉选择
G - 转到文件末尾(此时您已选择整个文本)
u - 小写选择区域
如果你真的是指小型大写,那么不,那是不可能的 - 就像在任何文本编辑器中都不可能将文本转换为粗体或斜体(而不是文字处理器).如果要将文本转换为小写,请创建一个可视块并按u
(或U
转换为大写).~
命令模式下的Tilde()会反转光标下的字符大小写.
如果您希望以小写的形式查看Vim中的所有文本,您可能需要查看该guifont
选项,或者:set guifont=*
如果您的Vim flavor支持GUI字体选择器,则键入.
类似于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.
许多方法给猫皮肤......这就是我发布的方式:
:%s/[A-Z]/\L&/g
同样适用于大写:
:%s/[a-z]/\U&/g
我更喜欢这种方式,因为我一直在使用这个construct(:%s/[pattern]/replace/g
),所以它更自然.
用g~然后一个动作将案例"HellO"切换为"hELLo".
大写"HellO"到"HELLO"与gU然后运动.
小写"HellO"与gu"hello"然后是一个运动.
有关示例和更多信息,请阅读:http: //vim.wikia.com/wiki/Switching_case_of_characters
使用 ggguG
gg:转到第一行。 顾:改为小写。 G:到最后一行。
如果你在Unix的风格下运行
:0,$!tr "[A-Z]" "[a-z]"
通常Vu(或VU大写)足以将整行变为小写,因为V已经选择整行来应用动作.
Tilda(~)改变了单个字母的大小写,导致了驼峰或类似的情况.
Vim有很多不同的模式来处理各种场合以及这些模式如何整齐地组织起来真的很棒.
例如,v- 真实的视觉模式,相关的V视觉线和Ctrl+ Q- 视觉块模式(允许您选择块的功能,一些其他高级编辑器通常通过按住Alt键并选择文本来提供的一个很棒的功能).