本篇文章介绍 vim 的一些使用技巧:vim
在 vim 的插入模式下编辑文件,可能临时须要执行某个命令来完成一些操做,例如要跳转到第 100 行进行编辑。常见的作法是,按 Esc 键退出插入模式,执行 100G
命令跳转光标到第 100 行,再按 i
命令从新进入插入模式,开始编辑。this
其实,有一个更快的方法是,在插入模式下,按 CTRL-O 键,以后就能够输入普通模式的命令,按回车执行该命令。执行命令后,仍是保持在插入模式下。code
注意:CTRL-O 键指的是同时按下 CTRL 键和小写字母 o 键,不须要按 Shift 键。orm
在插入模式按下 CTRL-O 键后,能够执行不带冒号的命令,例如执行 100G
命令跳转光标到第 100 行。也能够执行带冒号的命令,例如执行 :100
命令跳转光标到第 100 行。it
具体能够查看 :help usr_24
的 Normal mode commands 小节,部分说明以下:io
With CTRL-O {command} you can execute any Normal mode command from Insert mode. For example, to delete from the cursor to the end of the line: CTRL-O D You can execute only one Normal mode command this way.
也能够查看 :help i_CTRL-o
的说明,具体描述以下:table
CTRL-O execute one command, return to Insert mode *i_CTRL-O*
即,CTRL-O 能够在插入模式下执行一个命令,执行以后仍是保持在插入模式下。技巧
在 vim 中,有不少命令能够用于快速转换大小写。查看 :help case
的说明,就会看到全部能够转换大小写的命令。下面对经常使用的几个命令进行说明。command
使用 gu{motion}
命令把 {motion}
选中的文本转换为小写。{motion}
能够是 vim 任意移动光标的操做。部分操做举例说明以下。方法
使用 guu
命令把光标所在行都转换成小写。
注意:guu
的最后一个 u
不是前面提到的 {motion}
操做。gu{motion}
执行的是 gu
命令,{motion}
是移动光标的操做。而这里的 guu
就是完整的命令。
使用 v
、V
、或者 CTRL-V
命令进入可视模式,选中部份内容后,输入 u
则把选中的内容都转换成小写。
使用 gU{motion}
命令把 {motion}
选中的文本转换为大写。{motion}
能够是 vim 任意移动光标的操做。上面已经有部分说明。
使用 gUU
命令把光标所在行都转换成大写。
使用 v
、V
、或者 CTRL-V
命令进入可视模式,选中部份内容后,输入 U
则把选中的内容都转换成大写。
能够使用下面命令来切换大小写,也就是把大写转成小写,把小写转成大写。
用列表形式总结经常使用的转换大小写命令以下。
命令 | 含义 |
---|---|
guw | 若是光标在单词开头,会转换整个单词成小写 |
gUw | 若是光标在单词开头,会转换整个单词成大写 |
guu | 把光标所在行都转换成小写 |
gUU | 把光标所在行都转换成大写 |
{Visual}u | 把可视模式选中的内容都转换成小写 |
{Visual}U | 把可视模式选中的内容都转换成大写 |
~ | 切换光标下字符的大小写 |
g~~ | 切换光标所在行的大小写 |