VI


全局替换真正使用的是两个 ex 命令 —— :g(全局)和 :s(替换)
替换命令的语法 如下:
(1)
: s/old/new/                           这将把当前行中模式 old 的第一次出现修改为 new
/(斜杠)是命令不同部分之间的分隔符(当斜杠为该行的最后一个字符时,它是可选的)。
(2)
: s/old/new/g                         把当前行old的每次出现改为new,而不只是该行的第一个old
:s 命令允许替换后面带有选项,上面语法中的 g 选项代表全局(注意:g 选项影响一行中的每个模式,不要把它与影响文件中所有行的 :g 命令混淆)。
(3)
: 50 , 100 s/old/new/g          通过在 :s 命令前面加上地址前缀,可以把它的范围扩展到多行
: 1 , $ s/old/new/g                 将把整个文件中的old的每次出现改为new
: % s/old/new/g                     也可以使用 % 代替 1 , $ 来指定文件中的每一行

 

 

4).

:%s/^//    修改开头 

:%s/$//   修改结尾

 

5)教你怎么用vi和vim进行大小写转换

vim中大小写转化的命令是
gu或者gU
形象一点的解释就是小u意味着转为小写;大U意味着转为大写.

剩下的就是对这两个命令的限定(限定操作的行,字母,单词)等等

1、整篇文章大写转化为小写
  光标放在第一个字符上,
  打开文件后,无须进入命令行模式。键入:ggguG 

解释一下:ggguG分作三段gg gu G
gg=光标到文件第一个字符
gu=把选定范围全部小写
G=到文件结束

2、整篇文章小写转化为大写
光标放在第一个字符上,
打开文件后,无须进入命令行模式。键入:gggUG

解释一下:gggUG分作三段gg gU G
gg=光标到文件第一个字符
gU=把选定范围全部大写
G=到文件结束

3、只转化某个单词

guw 、gue
gUw、gUe
这样,光标后面的单词便会进行大小写转换
想转换5个单词的命令如下:
gu5w、gu5e
gU5w、gU5e
4、转换几行的大小写
将光标定位到想转换的行上,键入:1gU 从光标所在行 往下一行都进行小写到大写的转换
10gU,则进行11行小写到大写的转换
以此类推,就出现其他的大小写转换命令
gU0 :从光标所在位置到行首,都变为大写
gU$ :从光标所在位置到行尾,都变为大写
gUG :从光标所在位置到文章最后一个字符,都变为大写
gU1G :从光标所在位置到文章第一个字符,都变为大写

 

 

原文地址:https://www.cnblogs.com/feiyun8616/p/5868600.html