7 搜索
7.1搜索常用命令
向前搜索: /
向后搜索: ?
常用命令:
1 / 向前重复搜索
2 ? 向后重复搜索
3 /regex 向前搜索指定的正则表达式
4 ?regex 向后搜索指定的正则表达式
5 n 重复上一条/或?命令,搜索方向相同
6 N 重复上一条/或?命令,搜索方向相反
附:
命令历史记录:用上下箭头来查找用过的搜索
7.2查找字符串便捷方式
*命令 : 将光标定位于字符串,按下*键,vi将会取当前光标所在的字符串并将它作用目标字符串进行搜索。
#命令: 与*相反。
%:搜索与当前花括号、圆括号、方括号成对的符号。
7.3 查找整个字符串
方法:
使用\< \>进行匹配。
例子:/\
8 文本改动
8.1替换之vi命令
r:精确替换一个字符(不进入输入模式)。
R:替换多个字符(以覆盖方式替换)。(先将光标移动到希望开始替换的位置,然后输入R。切换到输入模式,随后键入的每个字符都将替换当前行上的一个字符。)
s:允许使用多个字符替换一个单个的字符(以插入方式替换)。
C:允许替换从当前光标位置到本行末尾的所有字符。
S 或 cc:以插入方式替换当前整行。
cmove:以插入方式从当前光标处替换到move所给出的位置处。
8.2替换之ex命令_常用方法
ex命令:
语法::s/pattern/replace/ 其中,pattern是替换的模式,replace是替换的文本。
使用方法总结:
1 :s/pattern/replace/ 替换当前行
2 s/pattern/replace/g 替换当前行所有
3 :lines/pattern/raplace/ 替换指定行
4 :line,lines/pattern/replace/ 替换指定范围内的行
5 :%s/pattern/replace/ 替换所有行
6 :.,$s/pattern/replace/g 从当前行末尾至编辑缓冲区的末尾进行相同的替换
7 :line,.s/pattern/replace/g 从编辑缓冲区的指定位置到当前行进行相同的替换
说明 :
1 所有的ex命令都以:开头。
2 :s只替换当前行上该模式的第一个匹配项。
3 为了替换所有匹配项,需在该命令的末尾键入字母g。例如::s/UNIX/linux/g
4 替换前进行确认,可在命令末尾添加c。例如::s/UNIX/linux/cg
5 .点号代表当前行。$代表缓冲区最后一行。%代表编辑缓冲区内所有的行。
8.3 交换字符
交换两个字符的位置: xp
交换两行的位置:ddp
调换两个单词(光标开始处于第一个单词的左边):deep