Vim技巧:插入模式下直接执行命令,快速转换大小写在模式下编辑文件时,可能会临时需要执行某个命令来完成一些操作,比如跳转到第100行进行编辑。通常的做法是按Esc键退出插入模式,执行100G命令将光标跳到第100行,然后按i命令重新进入插入模式开始编辑。其实更快捷的方法是在插入模式下按CTRL-O,然后就可以在普通模式下输入命令,回车执行命令。执行命令后,它仍处于插入模式。注意:CTRL-O键是指同时按下CTRL键和小写字母o键,而不是按下Shift键。在插入模式下按CTRL-O键后,可以执行不带冒号的命令,例如执行100G命令将光标跳转到第100行。也可以执行带冒号的命令,例如执行:100命令将光标跳转到第100行。将光标跳到第100行。详情请参考帮助usr_24的普通模式命令部分,部分解释如下:使用CTRL-O{command}可以从插入模式执行任何普通模式命令。例如,要删除从光标到行尾的内容:CTRL-OD这种方式只能执行一个普通模式命令。也可以查看:helpi_CTRL-o指令,具体说明如下:CTRL-Oexecuteonecommand,returntoInsertmode*i_CTRL-O*也就是说,CTRL-O可以在插入模式下执行一条命令,并且执行后保持插入模式。快速转换大小写在vim中,有很多命令可以用来快速转换大小写。查看:helpcase的描述,你会看到所有可以转换大小写的命令。下面介绍几个常用的命令。将大写字母转换为小写字母使用gu{motion}命令将{motion}选定的文本转换为小写字母。{motion}可以是vim任意移动光标的操作。部分操作说明如下。guw后面的w表示将光标移动到下一个单词的开头。guw将光标下到当前单词末尾的字符转换为小写。但是光标保持不动。如果光标位于单词的开头,它将整个单词转换为小写。如果光标位于单词前的空白字符上,则不会进行任何转换。gu3w后面的3w表示把光标移到后面第三个单词的开头。gu3w会将光标下的字符和后面第二个单词末尾的字符转换为小写。但是光标保持不动。3可以用其他数字代替。后面提到的其他移动光标操作也可以加号指定重复操作多少次。gue后面的e表示将光标移动到下一个单词的末尾。gue将光标下的字符转换为小写,直至当前单词的末尾。但是光标保持不动。如果光标位于单词的开头,它将整个单词转换为小写。如果光标位于单词前面的空白字符上,也会进行转换。这是gue和guw最大的区别。;在gu$之后表示将光标移动到行尾。顾&;将光标下的字符和直到当前行末尾的字符转换为小写。但是光标保持不动。如果光标位于行首,则将整行转换为小写。使用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,将选中的内容转为大写。大小写切换可以使用以下命令进行大小写切换,即大写转小写,小写转大写。~将切换光标下字符的大小写。如果光标下的字符是小写,则将其转换为大写。如果光标下的字符是大写,则将其转换为小写。光标将向前移动一个字符。3~切换光标下的字符和下两个字符的大小写。您可以将3替换为其他数字以切换指定数量的字符的大小写。光标将向前移动三个字符。g~~将切换光标所在行的大小写。当前行中的所有大写字符将转换为小写,所有小写字符将转换为大写。光标将移动到行首的第一个非空白字符。总结将常用的转换案例命令以列表的形式总结如下。命令含义guw如果光标在单词的开头,则将整个单词转为小写gUw如果光标在单词的开头,则将整个单词转为大写guu将光标所在的行转换转小写gUU将光标所在行转为大写{Visual}u将可视模式下所有选中的内容转为小写{Visual}U将可视模式下所有选中的内容转为大写~切换光标所在字符的大小写g~~切换光标所在行的大小写
