替换之vi命令
命令 | 说明 |
---|---|
r | 精确替换一个字符(不进入输入模式)。 |
R | 替换多个字符(以覆盖方式替换)。(先将光标移动到希望开始替换的位置,然后输入R。切换到输入模式,随后键入的每个字符都将替换当前行上的一个字符。) |
s | 允许使用多个字符替换一个单个的字符(以插入方式替换)。 |
C | 允许替换从当前光标位置到本行末尾的所有字符。 |
S 或 cc | 以插入方式替换当前整行。 |
cmove | 以插入方式从当前光标处替换到move所给出的位置处。 |
替换之ex命令_常用方法
ex命令:
语法::s/pattern/replace/ 其中,pattern是替换的模式,replace是替换的文本。
命令 | 说明 |
---|---|
:s/pattern/replace/ | 替换当前行 |
s/pattern/replace/g | 替换当前行所有 |
:lines/pattern/raplace/ | 替换指定行 |
:line,lines/pattern/replace/ | 替换指定范围内的行 |
:%s/pattern/replace/ | 替换所有行 |
:.,$s/pattern/replace/g | 从当前行末尾至编辑缓冲区的末尾进行相同的替换 |
:line,.s/pattern/replace/g | 从编辑缓冲区的指定位置到当前行进行相同的替换 |
备注:
- 所有的ex命令都以
:
开头。 :s
只替换当前行上该模式的第一个匹配项。- 为了替换所有匹配项,需在该命令的末尾键入字母
g
。例如::s/UNIX/linux/g
- 替换前进行确认,可在命令末尾添加
c
。例如::s/UNIX/linux/cg
.
点号代表当前行。$
代表缓冲区最后一行。%
代表编辑缓冲区内所有的行。
交换字符
交换两个字符的位置:xp
交换两行的位置:ddp
调换两个单词(光标开始处于第一个单词的左边):deep