一、Vim简介
Vim是从 vi 发展出来的一个在类Unix系统上流行的文本编辑器(可以看作vi的升级版),因为它支持代码补全、编译及错误跳转等方便编程的功能特别丰富,所以在程序员中被广泛使用,在这里将和大家分享我学习过程中所总结的“小tips”!
没有安装Vim的同学可以使用:yum install vim -y
二、Vim打开文件的方式
打开方式 | 作 用 |
---|---|
#vim 文件路径 | 打开指定路径的文件 |
#vim +数字 文件路径 | 打开指定路径的文件,并且光标移动到指定行 |
#vim +/关键词 文件路径 | 打开指定路径的文件,并且高亮显示关键词 |
#vim 文件路径1 文件路径2 文件路径… | 同时打开多个文件 |
扩展:同时打开多个文件,可以使用":files"查看当前已经打开的文件(其中,"%a=“表示当前正在打开的文件,”#"表示上一个打开的文件);使用"open 已打开的文件名"切换当前打开的文件。
三、Vim的三种模式及操作
1、三种模式的简介
Vim中存在三种模式:命令模式、输入模式(编辑模式)、末行模式。
命令模式:使用Vim打开文件后默认进入的模式,在该模式下可以进行一些快捷操作,例如:光标移动、复制、剪切/删除等操作。
输入模式:在该模式下可以对文件内容进行编辑。
末行模式:在该模式下可以执行一些命令对文件进行操作,例如:搜索、替换、保存、退出等。
2、三种模式之间的切换
结合这张图(希望可以帮助到大家理解),我想告诉大家的是,命令模式在三种模式的切换之中起到了介质的作用(也就是说:如果想实现末行模式向编辑模式的切换,必须先切换为命令模式,再切换为编辑模式才能实现),在下面将以网卡配置文件为例向大家详细介绍三种模式的用法以及它们之间的切换方式。
3、命令模式
打开文件即可进入命令模式(默认)。还记的在这个模式下能做什么吗?
![](https://i-blog.csdnimg.cn/blog_migrate/8c298d44c6f3d9466ec9a8f069d5376b.png)
① 光标移动
按 键 | 作 用 |
---|---|
↑↓←→ | 光标上下左右移动 |
shift + ^ 或 Home | 光标移动到行首 |
shift + $ 或 End | 光标移动到行尾 |
gg | 光标移动到首行 |
G | 光标移动到末行 |
数字 + G | 光标移动到第 n 行 |
数字 + ← | 光标向左移动 n 个字符 |
数字 + → | 光标向右移动 n 个字符 |
数字 + ↑ | 光标向上移动 n 行 |
数字 + ↓ | 光标向下移动 n 行 |
② 翻屏
按 键 | 作 用 |
---|---|
Ctrl + f 或 PgDn | 向下翻一屏 |
Ctrl + b 或 PgUp | 向上翻一屏 |
Enter 键 | 向下翻一行 |
k | 向上翻一行 |
③ 复制
按 键 | 作 用 |
---|---|
yy | 复制光标所在行 |
数字 + yy | 以光标所在行为准(包括当前行),向下复制 n 行 |
④ 剪切/删除
值得提示的是,这里所说的删除操作,严格意义上来讲就是剪切之后不粘贴的效果。
按 键 | 作 用 |
---|---|
x 或 Delete | 删除光标所在位置的单个字符 |
dd | 剪切/删除光标所在行 |
数字 + dd | 以光标所在行为准(包括当前行),向下剪切/删除 n 行 |
⑤ 粘贴
按 键 | 作 用 |
---|---|
p(小写) | 在光标之后粘贴 |
P(大写) | 在光标之前粘贴 |
⑥ 可视化操作
按 键 | 作 用 |
---|---|
v(小写) | 按字符选取,光标划过的区域被选取 |
V(大写) | 按矩形选取,光标划过的行被选取 |
选取之后可以对区块整体进行复制、删除等操作。
⑦ 撤销/恢复
按 键 | 操 作 |
---|---|
u | 撤销 |
Ctrl+r | 恢复(取消之前的撤销操作) |
4、编辑模式
在编辑模式下,可以根据需求对文件内容进行一些修改,下面的进入方式会提高我们的效率哦!(命令模式于编辑模式之间的切换)
![](https://i-blog.csdnimg.cn/blog_migrate/c6f41e7f90dd30f63d31e7c29e824f3f.png)
命令模式→编辑模式
按 键 | 作 用 |
---|---|
i | 在光标所在字符前开始插入 |
a | 在光标所在字符后开始插入 |
o | 在光标所在行的下面另起一行开始插入 |
I | 在光标所在行的行首开始插入 如果有空格则在空格之后开始插入 |
A | 在光标所在行的行尾开始插入 |
O | 在光标所在行的上面另起一行开始插入 |
S | 删除光标所在行并开始插入 |
tips:一般必须掌握i和a哦!
编辑模式→命令模式
按 键 | 作 用 |
---|---|
Esc | 退出编辑模式并返回命令模式 |
5、末行模式
同样,我们先来了解如何进入/退出末行模式(命令模式与末行模式之间的切换)!
![](https://i-blog.csdnimg.cn/blog_migrate/a5ade06ff069d8fb0958506ff889ab45.png)
命令模式→末行模式
按 键 | 作 用 |
---|---|
shift + : | 进入末行模式 |
末行模式→命令模式(有三种退出末行模式的方法哦)
按 键 | 作 用 |
---|---|
Esc | 退出末行模式并进入命令模式 |
连按两下Esc | …(同上) |
删除末行全部输入字符 | …(同上) |
进入末行模式后,我们来学习一下末行模式的各种实用操作吧(以下所有操作输入后都需要 Enter 键来确认哦)!
① 保存操作
按 键 | 作 用 |
---|---|
w | 保存文件 |
w 路径 | 另存为 |
② 退出操作
按 键 | 作 用 |
---|---|
q | 退出文件 |
q! | 强制退出(之前所修改的内容不做保存) |
③ 退出并保存
按 键 | 作 用 |
---|---|
wq | 退出并保存 |
④ 打开新的文件进行编辑
按 键 | 作 用 |
---|---|
e 文件路径 | 打开新的文件进行编辑 |
⑤ 在当前文件中读入其他文件
按 键 | 作 用 |
---|---|
r | 在当前文件中读入其他文件 |
⑥ 查找操作
按 键 | 作 用 |
---|---|
/关键词 | 文件中所有匹配关键词打上高亮(首部向尾部查找) |
?关键词 | 文件中所有匹配关键词打上高亮(尾部向首部查找) |
nohl(no highlight) | 取消高亮显示 |
tips:可以使用“N/n”在搜索结果中切换上/下一个关键词(光标跳转)。
其中,n:与查找命令方向相同 N:与查找命令方向相反(比如:如果你使用"?关键词"进行查找,按下n则向首部方向的下一个关键词进行切换)。
⑦ 替换操作
按 键 | 作 用 |
---|---|
s/old/new | 替换光标所在行第一处符合的内容 |
s/old/new/g | 替换光标所在行全部符合的内容 |
%s/old/new | 替换整个文件第一处符合的内容 |
%s/old/new/g | 替换整个文件符合的内容 |
⑧ 显示行号
按 键 | 作 用 |
---|---|
set nu | 显示行号 |
set nonu | 取消显示行号 |
![](https://i-blog.csdnimg.cn/blog_migrate/76f1756d7a1a67b07f44b7371a3dc1d7.png)
在这里的修改行号只是暂时的,再次打开文件便消失了,如果想要永久效果,大家可以修改配置文件来实现。这里只列出两个配置文件(如果两个文件冲突,系统会以个人配置文件为准)的路径:①个人配置文件(~/.vimrc,如果没有可以自行新建)②全局配置文件(/etc/vimrc)。至于如何去修改,这里不做过多的叙述。
⑨ 语法高亮
按 键 | 作 用 |
---|---|
syntax on | 显示语法高亮 |
syntax off | 取消语法高亮 |
注:这里是以/etc/passwd为例。
⑩ 调用外部命令
“! command"即可调用外部命令,我们以”! ls /"命令为例,按下回车键后:
再次按下回车即可返回到原界面。
四、异常退出
在编辑文件之后没有正常的保存退出,而是遇到突然关闭终端或者断电的情况,再次打开文件则会显示下面的界面,这个情况称之为异常退出。
这种情况下,我们只需删除异常中产生的交换文件即可。
可以使用命令: rm -f 文件路径
五、结束语
这次就先总结到这里,虽然内容不多,但都是比较常用的,希望大家可以掌握哦!