vim 大小写快速转换

2014-5-2 孤独求学人 Vim

平时在写程序的过程中会经常遇到大小写转换的问题.我们可以借助命令命令tr和sed进行转换.
,vim中提供了很多非常方便的大小写转换命令,可以快速的进行字母、单词、任意行的大小写转换,可以和vim的光标移动指令组合使用。


范例:
 
:1,$ s/.*/\L&/ #整个文件全部转换为小写
:1,$ s/.*/\U&/ #整个文件全部转换为大写
:1,$ s/\<./\u&/g #整个文件中每个单词的首字母大写

:1,$ s/\<./\u&/gc 
#带确认提示首字母转成大写,此模式会进行确认信息交互,选择参数有replace with \u& (y/n/a/q/l/^E/^Y)?
#1)y确认转换
#2)n不进行转换
#3)a文件中全部替换
#4)q退出替换模式 
#5)l替换第一个然后退出交互 
#6)^E/^Y这两个暂未明白

:1,$ s/\<[a-z]/\u&/gc #:1,$ s/\<./\u&/gc #带确认提示首字母转成小写,参数信息同上


vim的光标移动指令组合使用:
~          将光标下的字母改变大小写

3~         将光标位置开始的3个字母改变其大小写

g~~        改变当前行字母的大小写

U          将可视模式下选择的字母全改成大写字母

u          将可视模式下选择的字母全改成小写

gUU        将当前行的字母改成大写

3gUU       将从光标开始到下面3行字母改成大写

guu       将当前行的字母全改成小写

gUw       将光标下的单词改成大写。

guw       将光标下的单词改成小写。

(转)
http://www.unixcl.com/2008/01/lowercase-uppercase-titlecase-vi-way-of.html
http://www.linuxsong.org/2010/09/vim-convert-capitalization/

标签: linux vim sed tr

Powered by emlog 豫ICP备15004178号-1