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的字符串,替换前提示用户确认是否进行替换