1、vi的使用
vi分为3种模式,分别是一般模式,编辑模式与命令行模式,本片文章主要讲解编辑模式下的一些常用命令。
一般模式切换到编辑模式:
i : 进入插入模式,从目前光标所在处插入
o : 进入插入模式,从目前光标所在的下一行处插入新的一行
R: 进入替换模式,一直替换光标所在的文字,知道按下【Esc】键为止
编辑模式切换到一般模式:
【Esc】
一般模式切换到命令行模式:
:w : 保存更改
:q : 退出vi编辑器
:q! : 强制退出,不应用更改
:wq: 保存后退出
下面介绍一下在一般模式下常用的一些按键功能:
光标移动的方法:
Ctrl + f : 屏幕向下移动一页
Ctrl + b : 屏幕向上移动一页
数字0 : 移动到行首
$ : 移动到行尾
G : 移动到文件最后一行
gg :移动到文件第一行
n [Enter]:n是数字,光标向下移动n行
查找和替换:
/word : 向下查找名称为word的字符串
n : 重复前一个查找的操作,会向下继续查找下一个名称为word的字符串
:n1,n2s/word1/word2/g : n1和n2是数字,在第n1到n2行之间寻找word1字符串,并且将该字符串替换为word2
:1,$s/word1/word2/g : 从第一行到最后一行查找word1字符串,并将该字符串替换为word2
:1,$s/word1/'word2/gc : 从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前请用户确认
删除、复制和粘贴:
x : 删除光标所在的字符
nx : n为数字,连续向后删除n个字符
dd : 删除光标所在的那一整行
ndd: n为数字,删除光标所在的向下n行
yy : 复制光标所在的那一行
nyy : n为数字,复制光标所在的向下n行
p : 将已经复制的数据在光标下一行粘贴
u : 撤销前一个操作
Ctrl+r: 重做上一个操作
. : 重复前一个操作
2、块选择
Ctrl + v : 块选择,可以使用方向键以长方形的方式选择数据
y : 将反白的地方复制起来
d : 将反白的地方删除
p : 粘贴已经复制的数据
3、多文件编辑
可以使用如下命令同时打开test1,test2两个文件
vi test1 test2
:n : 编辑下一个文件
:N : 编辑上一个文件
:files : 列出目前这个vi打开的所有文件
4、多窗口功能
首先使用vi打开一个文件,然后用:sp命令再次打开一个文件的话,就会出现两个窗口,也可以继续使用:sp命令打开多个文件
:sp filename : 在新窗口打开一个新文件
Ctrl + w : 按住ctrl键,按一下w键然后放开所有的按键,再按向上的方向键则光标移动到上方的窗口,同理,按向下的方向键,则光标移动到下方的窗口
:q : 结束当前的窗口