vi使用总结

06-8-16 :vi的文本替换

(1)替换从第n行到第m行的文本
:[n],[m]s/[需要替换的文本]/[替换文本]/g

(2)替换整个文本种的需要替换的文本
:%s/[需要替换的文本]/[替换文本]/g

(3)替换从当前光标开始处,到第n行的需要替换的文本
:.,[n]s/abcd/dbde/g

06-8-17 vi 中的查找命令
(1):/的用法
<1>从光标向后查找相应字符串[STR]
:/[STR]
<2>从光标向后查找句首含有[STR]的行
:/^[STR]
<3>查找后光标的移动,移到从光标起到下x个找到的字符的位置
xn
<4>移动到找到的第一个匹配的位置

<5>光标移动到找到模式的最后一个位置
(2)?string
<1>光标所在处向前查找相应的字符串
:?[STR]
<2>

06-8-18 vi中光标移动命令
<1>上下左右移动x行:  也就是右手在键盘上放置的位置部分
xk,xj,xh,xl   其中x是数字如1k,2j,3h,4l 分别是向上下左右移动1,2,3,4行
<2>跳到指定行数
nG 其中n是行数
<3>报告光标所在的行数和列数
Ctrl+G
<4>使光标向前或向后跳一个单词
w,b
<5>使光标移动到行首/尾

<5>在屏幕中移动的命令
H 跳到第一行
M 跳到中间一行
L 跳到最后一行
06-8-18 vi中的删除命令

(1)删除当前一个字符
<1>删除当前字符,光标停留在原字符处
dl
<2>删除当前字符,光标停留在光标前一个字符
x

(2)删除一行中的字符
<1>删除光标所在的一行
dd
<2>删除从光标起前一个字符到行首的所有字符
d0 或 d^
<3>删除从光标处到行尾的所有字符
D 或 d$
<4>删除从光标起到一行开始处的所有字符
d 0
d ^(不包括空格和tab键)
<5>删除从光标起的后5行内容
5dd

(3)删除单词
<1>删除(改变)当前单词(d->delete,c->change)
dw (cw)
<2>删除光标后三个单词
3dw
<3>删除从光标起的三个单词末尾
d3w
<4>删除光标前x个单词
dxb
<5>删除到某个以空格作为分隔符的单词的结尾位置
dW
<6>删除到某个以空格作为分隔符的单词的开始位置
dB
<7>删除到前面7个以空格作为分隔符的单词的开始位置
d7B

(4)删除屏幕中的字符
<1>删除直到屏幕上第一行的内容
dH
<2>删除到屏幕所在文本的最后一行
d L
(5)删除缓冲区中的区域
<1>删除从光标到结尾处的所有行
dG
<2>删除从光标位置到工作缓冲区开始处所有行(包括光标所在行)
d1G

(5)删除特定条件下的字符
<1>删除当前行直到下一个字符“ c”所出现位置之间的内容
d tc
<2>删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括
该字符)之间的内容
d fc

(6)段落的删除
<1>删除到某个语句的结尾位置
d)
<2>删除到第四个语句的结尾位置
d 4)
<3>删除到某个语句的开始位置d
d(
<4>删除到某个段落的结尾位置
d }
<5>删除到某个段落的开始位置
d {
<6>删除到当前段落起始位置之前的第7个段落位置
d 7 {

08-19  vi 中的修改操作命令(change)

(1)字符的修改
<1>修改当前字符
cl
<2>

<2>单词的修改
<1>修改到某个单词的结尾位置
c w
<2>修改到第三个单词的结尾位置
c 3 w
<3>修改到某个单词的开始位置
c b
<4>修改到某个以空格作为分隔符的单词的结尾位置
c W
<5>修改到某个以空格作为分隔符的单词的开始位置
c B
<6>修改到前面7个以空格作为分隔符的单词的开始位置
c 7 B
(3)行的修改
<1>修改到某行的开始位置
c 0
<2>修改当前行
c c
<3>修改到某一行的结尾
C

c) 修改到某个语句的结尾位置
c 4) 修改到第四个语句的结尾位置
c( 修改到某个语句的开始位置
c } 修改到某个段落的结尾位置
c { 修改到某个段落的开始位置
c 7 { 修改到当前段落起始位置之前的第7个段落位置
c tc 修改当前行直到下一个字符c所出现位置之间的内容

5 c c 修改从当前行所开始的5行内容

重复上一次修改!

表8-4 替换命令
替换命令操作
s 将当前字符替换为一个或多个字符
S 将当前行替换为一个或多个字符
5 s 将从当前字符开始的5个字符替换为一个或多个字符
vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串

08-19  vi中移动字符的命令
(1)字母的交换
<1>交换光标所在字母和下一个字母
xp

 (2)行的移动
<1>上下两行调换
ddp
<2>将上下两行合并
J

08-19  vi中的复制粘贴命令
(1)同一文件中的操作
<1>复制粘贴一行的命令
yy 复制光标所在行 p 粘贴到光标位置
<2>从当前位置复制到行尾
y$
p是粘贴命令
<3>复制向下x行
xyy
<4>复制光标所在列到第一列的所有资料
y1G
<5>复制光标所在列到最后一列的所有资料
yG
<6>粘贴
p 粘贴在光标下一行
P 则为贴在光标上一行!

(2)
08-19 vi 的保存和退出

  w 将编辑的资料写入硬盘档案中(常用)
:w! 若档案属性为『只读』时,强制写入该档案
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq 储存后离开,若为 :wq! 则为强制储存后离开(常用)
:e! 将档案还原到最原始的状态!
ZZ 若档案没有更动,则不储存离开,若档案已经经过更动,则储存后离开!
:w [filename] 将编辑的资料储存成另一个档案(类似另存新档)
:r [filename] 在编辑的资料中,读入另一个档案的资料。亦即将 『filename』这个档案内容加到光标所在行后面
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]

本文固定链接: http://www.ccsbbs.com.cn/archives/6780.html | 极限手指

该日志由 极限手指 于2013年05月29日发表在 Linux 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: vi使用总结 | 极限手指

vi使用总结:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!