# vim大小写转换

在编程中经常需要转换大小写字母，vim提供的命令键：

`gu` 或 `gU` ：小u意味着转为小写；大U意味着转为大写

* 整篇文章大写转化为小写

打开文件后，无须进入命令行模式。键入 `:ggguG`

```
gg=光标到文件第一个字符
gu=把选定范围全部小写
G=到文件结束
```

* 整篇文章小写转化为大写

打开文件后，无须进入命令行模式。键入`:gggUG`

```
gg=光标到文件第一个字符
gU=把选定范围全部大写
G=到文件结束
```

* 只转化某个单词

`guaw` - 单词转小写 `guw` - 光标后单词转小写 `gUaw` - 单词转大写 `gUw` - 光标后单词转大写

想转换5个单词的命令如下：

```
gu5aw、gu5w
gU5aw、gU5w
```

* 转换几行的大小写

将光标定位到想转换的行上，键入：`1gU` 从光标所在行 往下一行都进行小写到大写的转换

`10gU`，则进行11行小写到大写的转换

以此类推，就出现其他的大小写转换命令

```
gU0        ：从光标所在位置到行首，都变为大写
gU$        ：从光标所在位置到行尾，都变为大写
gUG        ：从光标所在位置到文章最后一个字符，都变为大写
gU1G      ：从光标所在位置到文章第一个字符，都变为大写
```

vim有一个规则，当一个操作符命令被连续调用两次时，会作用于当潜航。所以`dd`删除当前行，`>>`缩进当前行。`gU`是一个特殊情况，既可以用`gUgU`也可以简化版`gUU`来作用于当前行。

## 参考

* [vim使用技巧](https://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B00VHNQH4W/ref=sr_1_2?s=books\&ie=UTF8\&qid=1491958574\&sr=1-2\&keywords=vim%E5%AE%9E%E7%94%A8%E6%8A%80%E5%B7%A7)
