[转有改动]vi
转自http://www.51testing.com/html/86/427686-247344.html
多按几次[ESC],系统会发出滴滴声以确定进入命令模式。就进入了命令模式,所有在键盘上打的字母都有可能是命令,此时并不存在编辑的命令。
命令模式的插入命令:
<a> |
在光标后输入文本 |
<A> |
在当前行末尾输入文本 |
<i> |
在光标前输入文本 |
<I> |
在当前行开始输入文本 |
<o> |
在当前行后输入新一行 |
<O> |
在当前行前输入新一行 |
文件定位命令:
<h> |
向前移动一个字符 |
<j> |
向上移动一行 |
<k> |
向下移动一行 |
<l> |
向后移动一个字符 |
<$> |
直接移动到行尾 |
<0> |
直接移到行首 |
<Enter> |
移到下行行首 |
<H> |
移到屏幕上端 |
<L> |
移到屏幕中间 |
<M> |
移动屏幕下端 |
<G> |
移动到文件的最后一行 |
n<G> |
到文件第n行 |
:n |
到文件第n行 |
命令模式删除命令:
<x> |
删除后面的一个字符 |
<X> |
删除前面的一个字符 |
<dd> |
删除光标所在行 |
<DD> |
删除光标所在行到文件末尾内容 |
<D> |
删除光标所在行到行尾内容 |
:a,b d |
删除a到b 行的内容 |
命令模式复制命令:
yy Y |
复制当前行 |
nyy nY |
复制当前行一下n行 |
p |
将已经选择的复制的,或为被删除的行,放在当前行下,粘贴 |
命令模式常用的替换和取消命令:
r |
取代光标所在处的字符 |
R |
从光标所在字符一直替换,知道按ESC键结束 |
s |
取代光标所在处的字符,并进入文本输入模式 |
S |
取代光标所在处全行,并进入文本输入模式 |
u |
取消上一步操作(直到刚打开的状态),Ctrl+r取消取消的动作 |
U |
取消 |
命令行搜索和替换命令:
/string |
向前搜索 |
?string |
向后搜索 |
n |
向上搜索 |
N |
向下搜索 |
文件退出的命令:
<:q> |
不保存退出 |
<:q!> |
不保存强制性退出 |
<:w> |
保存编辑 |
<:w filename> |
存入文件filename中 |
<:w! filename> |
强制性存入文件filename中 |
<:wq> |
保存退出 |
<:x> |
同<:wq> |
<ZZ> |
同<:wq> |
Vi常用的一些输入命令:
1.在编辑模式下设置行号
:set nu 显示行号
:set no nu 取消行号
配置文件: ~/.vimrc中写入 set nu就会默认以行号形式打开vi
2.用vi替换或删除搜索到的内容:
:%s /sbin/wwww/g 替换搜索的内容
:%s /sbin/空/gg 删除搜索的内容
3.把其它文件读取到当前文件中:
:r FileName
4.在输入模式下执行系统操作命令:
:!ifconfig查看IP地址
:!操作命令直接输入
5.用Vi同时打开多个文件:
用vi同时打开多个文件:
vi -o FileName1 FileName2 .. 横着
vi -O FileName1 FileName3 .. 竖着
切换时用Ctrl + ww
注:如果多个用户同时修改一个文件,以最后一个修改保留为主。