命令~
可以改变字母的大小写。如果当前光标下的字母为小写,那么点击~
可以将该字母转换为大写。同理如果当前光标下的字母为大写,那么点击~
则可以将该字母转换为小写。
'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
命令,将选中的字母转换为大写。而使用~
命令,则可以进行大小写转换。
gUU
和gUgU
命令,都可以将整行字符转换为大写。如果指定了数字参数,例如3gUU
则可对指定行数进行转换。
相对应的guu
和gugu
命令,则是用于将整行字符转化为小写。
命令ggguG
可以将整个文件转化为小写;而命令gggUG
则可以将整个文件转化为大写。
选中文本,然后进入命令行模式并使用以下命令,可以将选中的文本转换为首字母大写(title case / initial capitals):
:s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g
使用以下命令,将句首字母转换为大写:
:%s/[.!?]\_s\+\a/\U&\E/g
使用以下命令,可以查看大小写转换的帮助信息:
:help case
~ | 转换字符大小写 |
u | 将选中的字母转换为小写 |
U | 将选中的字母转换为大写 |
:set notildeop | 设置大小写转换命令的行为仅针对单个字符 |
:set tildeop | 设置大小写转换命令的行为类似于操作符 |