星期一, 十二月 19, 2016

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

转换字符大小写

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

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

:set notildeop

如果设置了tildeop选项,那么命令就会变为~motion的模式:

:set tildeop

例如,在下面的句子中:

this is a test

我们将光标放在第一个t上并执行~ft命令,则结果为:

THIS IS A Test

命令使得当前光标以后第一个t和光标间的字符全部转换为大写,如果这个句子中还有小写字符,那么这个命令还可以执行第二次,直到句子中的字符全部为大写为止。

可以指定转换字符的个数和方向。例如命令3~l是从当前字符开始向右3个字符进行大小写的转换。

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

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

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

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

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

首字母大写

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

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

Title_Case

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

Ver: 1.0<上一篇 | 目录 下一篇>

没有评论:

发表评论