ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【VI】用Vi/Vim/gVim处理字符的大小写转换(暨命令gu gU的灵活使用)

【VI】用Vi/Vim/gVim处理字符的大小写转换(暨命令gu gU的灵活使用)

原创 Linux操作系统 作者:secooler 时间:2009-04-15 12:27:17 0 删除 编辑
今天在整理一些DBA维护脚本的过程中,一次又一次的使用到了大小写转换功能,于是乎,整理总结到这个小文儿中,希望对大家有帮助。
举一个在UNIX系统中修改输入脚本的例子的使用场景:
sys@ora10g> col table_name for a14
sys@ora10g> col comments for a55
sys@ora10g> select * from dict where table_name = 'dba_tables';

no rows selected

这里之所以没有查询到数据,是因为'dba_tables'需要是大写的样子'DBA_TABLES'
下面展示一下secooler是如何调用vi编辑器进行修改的

sys@ora10g> define _editor=vi  --设置UNIX中SQLPLUS中的编辑器是vi
sys@ora10g> edit               --使用edit或ed命令就可以进入到vi编辑的界面
Wrote file afiedt.buf          --定位到dba_tables的头部,
                               --使用“gUw”命令就可以将其变成大写的DBA_TABLES啦
  1* select * from dict where table_name = 'DBA_TABLES'
sys@ora10g> /                  --再次执行就可以看到结果喽

TABLE_NAME     COMMENTS
-------------- -------------------------------------------------------
DBA_TABLES     Description of all relational tables in the database

当然,对于伟大的vi编辑器,功能不仅仅是这个,功能还是很丰富的,请慢慢的观看secooler的这个总结小文儿。

所有的操作都是围绕着“gu"和“gU”另个命令展开的。
secooler的语法: [开始位置]gu/Gu[结束位置]
secooler的翻译:
  [开始位置]  ---- 可以指定开始的位置,默认是光标的当前位置
  gu        ---- 把选择范围全部小写
  gU        ---- 把选择范围全部大写
  [结束位置]  ---- 可以跟着类似的w,6G,gg等定位到错做的结束范围

通过上面的语法翻译,您可能已经暗暗的感受到这个命令的强大了吧,如果还没有,不要着急,看下面慢慢分解(有“理”也要有“例”嘛):

1.“字”级别的大小写转换
  guwgue ---- 两个命令功能是一样的:光标后面的“字”会变成小写
  guwgue ---- 两个命令功能是一样的:光标后面的“字”会变成大写
  扩展一下下
  gu6wgu6e ---- 两个命令功能是一样的:光标后面的6个“字”会变成小写
  gU6wgU6e ---- 两个命令功能是一样的:光标后面的6个“字”会变成小写

2.“行”级别内容大小写转换
  guu/gUU   ---- 光标当前行统统变小写/大写
  gu0/gU0   ---- 光标位置到行首,统统变小写/大写(不包含光标当前的字母)
  gu$/gU$   ---- 光标位置到行尾,统统变小写/大写(包含光标当前的字母)
  guG/gUG   ---- 光标位置所在行到文章最后一行,统统变为小写/大写
  gu1G/gU1G ---- 光标位置所在行到文章第一行,统统变为小写/大写

3.整篇内容大小写转化
  1GguG/1GgUG 整篇文章统统变小写/大写(Vim和gVim中可以使用ggguG/gggUG
    secooler示意:1GguG 可以分三部分解释 1G gu G
      1G或vim中的gg ---- 光标定位到文件首
      gu            ---- 选定范围统统变小写
      G             ---- 一直操作到文件结束部分

以上是我经常使用的大小写转换的方法,希望对大家有帮助。
再“买一送一”个小技巧,如果您只是想修改光标当前的字母的大小写,可以使用“~”(键盘左上角数字1左边的键)在反复转换。
工欲善其事必先利其器,强烈建议大家熟练使用Vi、Vim,Windows环境下可以使用gVim。
还有一个Windows下模拟Linux的软件Cygwin,非常的优秀,我一直用它,对我提高工作效率起到了很大的帮助。

就到这里,就到这里,休息,休息一下……

-- The End --

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-589227/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE 总监,阿里云MVP,北京大学理学硕士,恩墨学院创始人,教育专家,中国区 Cloudera 首位官方授权大数据讲师,金牌培训专家,BDA大数据联盟创始人,OCM联盟创始人,ACCUG创始人、ACOUG核心专家,Blogger。

注册时间:2008-03-16

  • 博文量
    797
  • 访问量
    8026507