vi常用命令
时间:2005-12-10 来源:j2000
1、移动光标
H?????????? 移到屏幕的左上角
M?????????? 移到屏幕的中间行开头
L?????????? 移到屏幕的最后一行
[?????????? 移到文件开始位置 (双击)
]?????????? 移到文件结束位置(双击)
:n??????? 移到文件的第n行
Ctrl + b ?????? 屏幕上卷一个菜单
Ctrl + F ?????? 屏幕下卷一个菜单
h 将光标左移一格
l 将光标右移一格
j 将光标下移一格
k 将光标上移一格
w 将光标移到下一个小字的前面
b 将光标移到前一个小字的前面
0 把光标移到当前行的第一个字符处
$ 把光标移到当前行的最后一个字符处
2、修改内容
nx?????????? 删除由光标位置起始的n个字符(含光标位置,按一个x表示删
除光标所在的字符)
ndw????????? 删除光标位置其实的n个字符组(dw删除光标所在的单词)
d0 ????????? 将行的开始到光标
1、移动光标 H?????????? 移到屏幕的左上角 M?????????? 移到屏幕的中间行开头 L?????????? 移到屏幕的最后一行 [?????????? 移到文件开始位置 (双击) ]?????????? 移到文件结束位置(双击) :n??????? 移到文件的第n行 Ctrl + b ?????? 屏幕上卷一个菜单 Ctrl + F ?????? 屏幕下卷一个菜单 h 将光标左移一格 l 将光标右移一格
j 将光标下移一格 w 将光标移到下一个小字的前面 b 将光标移到前一个小字的前面
0 把光标移到当前行的第一个字符处 2、修改内容 nx?????????? 删除由光标位置起始的n个字符(含光标位置,按一个x表示删 除光标所在的字符) ndw????????? 删除光标位置其实的n个字符组(dw删除光标所在的单词) d0 ????????? 将行的开始到光标位置的字符全部删除 d$ 或D ??????? 将光标位置起始到行尾的字符全部删除 ndd ????????? 将光标位置起始的n行(整行)删除(dd表示删除光标所在行) :start,endd????? 删除文件的第start到end行 rc 把光符所在字符替换成c R 覆盖本行内容 u 恢复上一次的修改 cw 改变光标所在单词 C 改变一行光标位置以后的部分 cc或S 修改一整行 3、寻找替换
/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。 N 在上次指定的方向的相反方向上,再次执行上次定义的查找 :%s/old/new/g 查找所有old并替换为new :start,ends/old/new 替换指定区域 4、编辑切换 a 在光标之后开始输入文本 A 在行尾开始输入文本 I 在光标之前开始输入文本
I 在行首第一个非空白字符前输入文本 5、复制及移动文件 yy 把当前行放入缓冲区 yw 把光标所在的单词放入缓冲区
p 将缓冲区内容取到光标所在行的下面一行 :first,last co dest ???? 将first 到last行的数据复制到目标行(dest)下面 :Start,end?m dest????将start 到 end行的数据移动到目标行(dest)下 :r filename??????? 将指定文件的内容读入光标所在行下 6、其它 vi ????????? 进入vi而不读入任何文件 vi filename????? 进入vi并读入指定名称的文件(新、旧文件均可)。 vi +n filename???? |