一、编辑器功能
1)打开文件、新建文件、保存文件
2)光标移动
3)文本编辑
4)(多行间、多列间)复制、粘贴、删除
5)查找和替换
二、vi编辑器的配置
cd /etc/vim
ls
cp vimrc ~/.vimrc
ls -l ~/.vimrc
cd ~
gedit .vimrc
在.vimrc末尾处添加如下设置:
"关闭兼容模式
set nocompatible
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch
三、vi编辑器的三种模式
1)一般模式:光标移动、复制、粘贴、删除
2)编辑模式:编辑文本
3)命令行模式:查找和替换
四、操作
1.打开文件、新建文件、保存文件
vi 文件名
如果文件存在,输入结束后,:wq保存并退出文件(write quit)
如果文件不存在,输入结束后,:wq就可以新建并保存文件
在编辑完成时,返回一般模式,
1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
2) 直接输入:wq保存并退出
3)修改了不想保存,:q!,强制退出不进行保存。
2.进入编辑文本模式,下面三种已经足够了
1)i(在光标前开始插入文本)
2)o(在当前行之下新开一行,并到行首)
2)a(在光标后插入文本)
3.光标移动
(1)在一般模式下,”HJKL“这四个按键可以移动光标。
记忆方法:
H和L在键盘的两侧,为左右,所以H为光标左移,L为光标右移,
J可以看见向下的箭头,所以是光标下移,K就是光标上移了。
H(左)J(下)K(上)L(右)
(2)快速定位到某一行:文件头,文件尾,指定某一行
ngg光标移动到第n行的行首,n是数字,例如1gg,跳转到第一行的行首,也就是文件头。
2gg就跳到第二行的行首
G跳转到文件的末尾,注意是大写的G。
(3)在某一行如何快速定位到某一列
0(数字零)光标移至当前行行首
$ 光标移至当前行行末
fx 搜索当前行中下一个出现字母x的地方
注意:0、$、fx是在一般模式
4.文本复制、粘贴、删除、撤销
yy复制当前行(y : yank(复制)),问为什么不用c呢,因为c被change命令占用了。
nyy复制当前行及其后的n-1行(n是数字),3yy就是复制3行
使用p键来粘贴(paste)
dd册除光标所在行
ndd 册删除当前行及其后的n-1行(n是数字),3dd就是删除3行
按u键来撤销上一步操作
x删除所在光标的字符
上述命令都在一般模式下操作。
5.查找和替换
1)/content 从光标开始处向文件尾搜索content,后按下n或N
注意:n在同一个方向重复上一次搜索命令,N在反方向重复上一次搜索命令
2): %s/p1/p2/g将文件中所有的p1均用p2替换
:%s/p1/p2/gc替换时需要确认(这个比较常用,会确认每一个是否替换)
s : substitute替换
g :global全局
c:confirm确认
6.vi的难点
1)vi操作之前,先判断一下当前是哪一种模式,在看光标所在位置。
2)当你不知道处于何种模式时,使用esc键返回到一般模式。
3)在去看光标,难点就在于移动光标,可以做到快速移动光标到某一行某一列。