VIM学习笔记 大小写转换(tilde)

转换字符大小写

命令~可以改变字母的大小写。如果当前光标下的字母为小写,那么点击~可以将该字母转换为大写。同理如果当前光标下的字母为大写,那么点击~则可以将该字母转换为小写。

'tildeop'选项可以控制命令~的行为。以下默认设置下,只会对单个字符进行大小转换:

:set notildeop

如果设置了tildeop选项,那么将会使用~motion模式:

:set tildeop

例如以下文字:

this is a test

在行首执行~ft命令,则结果为:

THIS IS A Test

命令将当前光标至第一个"t"字符处的全部文字转换为大写。如果句子中还有小写字符"t",那么可以继续执行此命令。

可以指定转换字符的个数和方向。例如3~命令,将从当前光标向右3个字符进行大小写转换。

命令g~3w可以转换当前光标开始之后的3个单词;而命令g~iw则可以转换当前inner word;而命令g~$则可以转换从当前位置到行尾的所有字符。

命令g~g~g~~可以转换整行的大小写。而且并不依赖于tildeop选项的设置。

在可视化模式下,可以使用u命令,将选中的字母转换为小写;也可以使用U命令,将选中的字母转换为大写。而使用~命令,则可以进行大小写转换。

gUUgUgU命令,都可以将整行字符转换为大写。如果指定了数字参数,例如3gUU则可对指定行数进行转换。

相对应的guugugu命令,则是用于将整行字符转化为小写。

命令ggguG可以将整个文件转化为小写;而命令gggUG则可以将整个文件转化为大写。

首字母大写

选中文本,然后进入命令行模式并使用以下命令,可以将选中的文本转换为首字母大写(title case / initial capitals):

:s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g

Title_Case

使用以下命令,将句首字母转换为大写:

:%s/[.!?]\_s\+\a/\U&\E/g

使用以下命令,可以查看大小写转换的帮助信息:

:help case

命令小结
~转换字符大小写
u将选中的字母转换为小写
U将选中的字母转换为大写
:set notildeop设置大小写转换命令的行为仅针对单个字符
:set tildeop设置大小写转换命令的行为类似于操作符

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>