vi常用命令整理

写入

i/I    i:当前字符处写入,I:当前行首位写入
a/A    a:当前字符后写入,A:当前行末尾写入
w/W    w:将光标向前移到下一个字的首字母。标点符号也被看做一个字。W:按照空格分隔字
b/B    同w/W:表示向后移动
H/M/L    H:光标定位到屏幕顶部一行最左端;M:光标定位到屏幕中行一行,L:光标定位到屏幕底部一行
)/}/(/{    ):句子的开始,}:段落的开始;(:句子的结束;{:段落的结束
u/U    u:撤销错误或修改的文本;U:只能还原已修改的最后一行的内容
x/X    删除当前字符,可使用重复因子删除,x:删除后面的字符,X:删除前面的字符,5x:删除后面5个字符
d/D    删除文本    dd:删除当前行;dl:删除当前字符(x);d0:从行首删除(到光标所在位置);dw:删除到字的末尾;d$:删除到行尾;5dd:删除当前行开始的5行;d1G:从起始位置开始删除;dG:删除到末尾;D:删除到行尾;5dd
c/C    cw:修改到字的末尾;c3W:修改到第3个字的末尾;c0:从行首修改;C:修改到行尾
~    大小写变更    5~变更5个字符的大小写
y/Y    复制,同d  D与Y的不同,D从光标处删除到行尾,Y移出整行


搜索

^    搜索字符串的首字符,/^The:搜索以The开始的下一行

$    搜索字符以$结尾,/!$:搜索以!号结尾的下一下。/^$:搜索空行

.    任意字符

\>    字结束提示符    /s\>:搜索以s结尾的下一个字

\<    字开始提示符    /\<The:搜索以The开始的下一个字    /\<The\>:搜索只配置The的字

*    字符出现的0或多次

例子

/and    查找字符串and下一次出现的位置    sand,and, standand

/\<and\>    查询字and下一次出现的位置    and

/^The    查询以The开始的下一行    The....    There...

/^[0-9][0-9])    查找以2个数字和右括号开始的行    77) ...    06)...

/^[a-zA-Z]    查找以小写或大写字母开始的下一行

替换

vi替换中address示例

5    第5行

77 100    77行至100行

1,.    超始行到当前行

.,$    当前行到结束行

1,$    全部

%    全部

/pine/    包含字pine的下一行

g/pine/    包含字pine的全部行

.,.+10    从当前行到第10行

例子

:s/big/bigest/    将当前行中第一次出现的big替换成bigest

:1,.s/Ch1/Ch2/g    将第1行到当前行中所有Ch1替换成Ch2

:1,$s/ten/10/g    将全部ten替换成10

:g/chapten/s/ten/10    将包括chapten的全部行第一次出现的ten替换成10

:%s/\<ten\>/10/g    将所有字ten替换成10

:%s/<\short\>/"&"/g    将所有字short替换成"short"

你可能感兴趣的:(vi命令)