vi编辑器有三种模式
1)命令行模式(光标移动、复制、粘贴、删除)(command mode)
2)插入模式(编辑文本) (insert mode)
3)底行模式(查找和替换) (last line mode)
注意:
1)当不知道处于何种模式时,按ESC键返回到命令行模式。
2)wq(write quit) 保存退出
3)i(insert) 插入
(1)打开文件、新建文件、保存文件
vi 文件名
如果文件存在,输入结束后,:wq保存并退出文件
如果文件不存在,输入结束后,:wq就可以新建并保存文件
在编辑完成时,返回命令行模式,
1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
2)直接输入:wq保存并退出
3)如果不想保存被修改的内容,则:q!强制退出。
(2)从命令行模式进入插入模式
i(在光标前开始插入文本)
a在光标后开始插入文本
o(在当前行之下新开一行,并到行首)
h(左)
j(下)
k(上)
l(右)
3.2 快速的定位到某一行:
文件头、文件尾、指定某一行
ngg光标移至第n行的行首(n为数字),
如1gg就跳到第一行的行首,就是文件头
如2gg就跳到第二行的行首
G转至文件结尾
3.3 在某一行如何快速定位到某一列
0(数字零)光标移至当前行行首
$光标移至当前行行末
(5)底行模式下的操作
5.1 查找和替换
/pattern 从光标开始处向文件尾搜索pattern,后按下n或N
注意:
n在同一个方向重复上一次搜索命令
N在反方向重复上一次搜索命令
n(N)来源于next
在/pattern之前先跳到第一行则进行全文件搜索。
:%s/p1/p2/g将文件中所有的p1均用p2替换
:%s/p1/p2/gc替换时需要确认
助记:
s: substitute替换
g: global全局
c: confirm确认
1)命令行模式(光标移动、复制、粘贴、删除)(command mode)
2)插入模式(编辑文本) (insert mode)
3)底行模式(查找和替换) (last line mode)
注意:
1)当不知道处于何种模式时,按ESC键返回到命令行模式。
2)wq(write quit) 保存退出
3)i(insert) 插入
(1)打开文件、新建文件、保存文件
vi 文件名
如果文件存在,输入结束后,:wq保存并退出文件
如果文件不存在,输入结束后,:wq就可以新建并保存文件
在编辑完成时,返回命令行模式,
1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
2)直接输入:wq保存并退出
3)如果不想保存被修改的内容,则:q!强制退出。
(2)从命令行模式进入插入模式
i(在光标前开始插入文本)
a在光标后开始插入文本
o(在当前行之下新开一行,并到行首)
(3)命令行模式下的操作
3.1 光标移动
在命令行模式下,hjkl这四个按键就可以移动光标h(左)
j(下)
k(上)
l(右)
3.2 快速的定位到某一行:
文件头、文件尾、指定某一行
ngg光标移至第n行的行首(n为数字),
如1gg就跳到第一行的行首,就是文件头
如2gg就跳到第二行的行首
G转至文件结尾
3.3 在某一行如何快速定位到某一列
0(数字零)光标移至当前行行首
$光标移至当前行行末
fx搜索当前行中下一个出现字母x的地方
3.4 文本复制、粘贴、删除、撤销
yy复制当前行(y:yank(复制))
nyy复制当前行及其后的n-1行(n是数字)
使用P键来粘贴(p:paste)
dd 删除光标所在行(d:delete)
ndd 删除当前行及其后的n-1行(n是数字)
按u键来撤销上一步操作
x删除光标所在位置的字符
(4)vi的难点:
vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。当你不知道处于何种模式时,使用esc键返回到命令行模式。再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。(5)底行模式下的操作
5.1 查找和替换
/pattern 从光标开始处向文件尾搜索pattern,后按下n或N
注意:
n在同一个方向重复上一次搜索命令
N在反方向重复上一次搜索命令
n(N)来源于next
在/pattern之前先跳到第一行则进行全文件搜索。
:%s/p1/p2/g将文件中所有的p1均用p2替换
:%s/p1/p2/gc替换时需要确认
助记:
s: substitute替换
g: global全局
c: confirm确认