vi是所有Unix及Linux系统下标准的编辑器,vim是由vi发展过来的一个文本编辑器,vim最大的特点是具有程序编辑的功能,字体颜色
辨别语法的正确性,方便程序设计。vim里面加入了很多额外的功能,例如支持正则表
达式的搜索、多文件编辑、块复制等等。vi是普通的文本编辑器,而vim则是为程序员量身制定的,笔者认为灵活的使用以下的操作,就可以在Linux世界畅行无阻。所以我整理了以下内容。
vim的操作流程
1.在命令行下vim <文件的路径>进入编辑器(默认命令模式)
2.输入i进入编辑模式
3.按下Esc键退出编辑模式,进入命令模式
4.最后敲入:wq保存退出
vim大致分为三种模式
1.命令模式
输入vim命令便开启了命令行模式。在此状态下,我们按的所有按键都被vim识别为命令。例如,我们按下i,并不会输入字符i,而是被当作是命令。以下是常用的命令:
-
i切换到编辑模式,可以自由进行编辑文件下的内容 -
:切换到底线命令行模式
1.1光标移动:
-
h/←控制光标左移一格 -
j/↓控制光标下移一格 -
k/↑控制光标上移一格 -
l/→控制光标右移一格 -
$移动到光标所在行的行尾 -
^移动到光标所在行的行首 -
nl光标移动到改行的第n个位置 -
0移到文章的开头 -
G移动到文章的最后 -
nG移动到第n行首
1.2删除操作:
-
x删除光标所在处的后一个字符 -
nx删除光标后n个字符 -
X删除光标所在处的前一个字符 -
nX删除光标处前那个字符 -
dd删除光标所在行 -
ndd从光标所在行开始删除n行
1.3复制和粘贴操作
-
p复制粘贴板上的内容到光标所处的下一个字符 -
yy将光标所在行复制到粘贴板 -
nyy将光标所在行的下面n行复制到粘贴板 -
ZZ若文件没有改动,则不保存离开;若文件被修改过,则保存后离开
1.4恢复操作
-
g恢复上一个操作 -
u撤销一步操作,可以重复
2.编辑模式
在命令模式下,按下i就进入编辑模式,还有几种常用的进入编辑模式的方式:
-
a在当前光标的下一个字符处进入编辑模式 -
A在光标所在行的末尾进入编辑模式 -
o在光标所在行的下一行插入新的一行,并进入编辑模式 -
O在光标所在行的上一行插入新的一行,并进入编辑模式 -
r进入替代模式,下一个输入的字符会替代光标后一个字符 -
R进入替代模式,直到按下ESC停止替代
在此模式下,可以使用文本编辑的基本操作,以下是常用的命令: -
ESC退出编辑模式,切换到命令模式 -
DEL删除光标后一个字符 -
BACK SPACE删除光标前一个字符 -
HOME/END移动光标到行首/行尾 -
PAGE DOWN/PAGE UP上/下翻页 -
INSERT切换光标为输入/替换模式
3.底线命令模式
在命令行模式下,按下:即进入底线命令行模式
-
:w保存编辑内容 -
:w!强制写入改文件,跟当前用户对该文件额权限有关 -
:q离开vim -
:wq/:x保存后离开 -
:w filename另存为filename,注意filename有没有重名,有会覆盖 -
n1,n2 w filename第n1到n2行的内容另存为filename -
:r filename在编辑区中读入filename这个文件,不会覆盖现有的 -
! command暂时离开vim 并执行command中命令,例如:! ls -la查看当前的目录下所有文件的详细信息 -
:set nu显示行号 -
:set nonu取消显示行号
底线命令行模式还有查找功能
-
/xxxx从光标开始向下查找名称的xxxx的字符串 -
?xxxx从光标开始向上查找名称的xxxx的字符串 -
n重复上一个查找的动作 -
N反向查找上一个查找的动作 -
n1,n2s/xxx/yyy/g第n1至n2之间查找xxx的字符串替换为yyy的字符串 -
1,$s/xxx/yyy/g从第一行到最后一行查找xxx的字符串替换为yyy的字符串 -
1,$s/xxx/yyy/gc从第一行到最后一行查找xxx的字符串替换为yyy的字符串,替换前提示用户确认是否进行替换