转自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
注:如果多个用户同时修改一个文件,以最后一个修改保留为主。