vi命令
vi 文件名-->这样就进入了一般模式
一般模式按i o a R进入编辑模式,从编辑模式按Esc退回一般模式.
一般模式按: / ?进入命令行模式.
一般模式光标移动方法
h 光标向左移动一个字符 j 光标向下移动一个字符
k 光标向上移动一个字符 l 光标向右移动一个字符
0 这是数字0,移动光标到光标所在这一行的最前面的字符
$ 移动光标到光标所在这一行的面的字符
H 将光标移动到当前屏幕的最上方那一行
L 将光标移动到当前屏幕的最下方那一 行
G 移动到这个文件的一行
nG n为数字,移动到这个文件的第n行
gg 移动到这个文件的第一行,相当于1G
n<enter> n为数字, 光标从当前屏幕向下移动n行
注: 如果想进行多次移动的话,例如向下移动30行,可以使用30j的组合键.
翻页
ctrl f 向下移动一页 ctrl b 向上移动一页
一般模式的搜索与替换
/word 从光标开始的位置开始,向下搜索一个名为word的字符串
?word 从光标开始的位置开始,向上搜索一个名为word的字符串
一般模式:删除 复制 与 粘贴
x X 在光标所在的行中, x 为向后删除一个字符(相当于del),X 为向前删除一个字符(相当于退格銉)
nx n为数字,连续向后删除n个字符.
dd 删除光标所在的那一整行
ndd n为数字,从光标所在的位置开始,向下删除n行
d1G 删除光标所在位置到这个文件第一行的所有数据
dG 删除光标所在位置到一行的所有数据
yy 复制光标所在的那一行
nyy 复制光标所在位置向下的n行.
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p P p 为将已复制的数据粘贴到光标所在行的下一行,P 为将已复制的数据粘贴到光标所在行的上一行.
u 复原前一个操作
ctrl r 重做上一个操作
. 就是小数点, 意思就是重复前一个操作.
进入编辑模式:
i I i 为从当前光标所在处插入 I 为在当前所在行的第一个非空格符处开始插入.
a A a 为从当前光标所在的下一个字符处开始插入 A 为从光标所在行的一个字符处开始插入
o O o 为在当前光标所在行的下一行处插入新的一行. O 为在当前光标所在行的上一行插入新的一行.
r R 替换 r会替换光标所在的那一个字符 R 会一直替换光标所在的文字,直到按下Esc键为止
Esc 退出编辑模式,回到一般模式中
命令行模式
:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为"只读"时,强制写入该文件,不过,能不能写入与该文件的权限有关.
:q 退出不保存(离开vi)
:q! 若修改过文件,使用! 为强制离开不存储文件. 注: ! 在vi中,!常常具有强制的意思
:wq 保存文件并退出vi :wq! 则为强制保存并退出vi
:e! 将文件还原到最原始的状态
ZZ 若文件没有更改,则不存储离开,若文件已经更改,则存储后离开
:w filename 将编辑的文件另存为一个新文件.
:r filename 在编辑的文件中,读入另一个文件中的数据, 即将filename这个文件的内容加到光标所在行的后面.
:n1、n2 w filename 将n1到n2之间的内容存储成filename文件
:! command 可暂时离开vi到命令行模式下执行command的显示结果. 例如: :! ls /home 即可 在vi中查看/home中以ls输出的文件信息
:set nu 显示行号,
:set nonu 取消显示行号
|