vi介绍
vi编辑器是所有Unix 及 Linux 系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix 及 Linux 系统的任何版本,vi编辑器是完全相同的,因此可以在其它任何介绍vi的地方都能进一步了解它,vi也是Linux中最基本的文字编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。
关于vim:
vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi适用于文本编辑,但是vim更适用于coding。
vim的重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。
vim三种模式
vim存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式:在该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等)【vim打开文件后默认进入该模式】
编辑模式:在该模式下可以对文件的内容进行编辑
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)
Vim打开文件的方式(4种,要求掌握前三种):
#vim 文件路径
—— 打开指定文件
#vim +数字 文件路径
—— 打开指定文件,并且把光标移动到指定行
#vim +/关键词 文件路径
—— 打开指定文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 ...
—— 同时打开多个文件
一、命令模式
- 光标移动
1、光标移动到行首 ——shift+6
或^
,不能按小键盘的6键
2、光标移动到行尾 ——shift+4
或$
3、光标移动到首行 ——gg
4、光标移动到末行 ——G
或shift+g
5、向上翻屏 ——PgUp
或ctrl+b
6、向下翻屏 ——PgDn
或ctrl+f
7、光标快速移动到指定行 ——数字 G
8、光标向上/下/左/右移动n个位置 ——数字 ↑/↓/←/→
9、末行模式下的快速移动光标方式 ——shift+:
,然后输入数字,再按回车键 - 复制/粘贴
1、复制光标所在行 ——yy
2、粘贴 ——p
3、以光标所在行为准(包含当前行),向下复制指定的行数 ——数字 yy
4、可视化复制 ——ctrl+v
,然后按下↑
、↓
、←
、→
方向键来选中需要复制的区块,按下yy
键进行复制,最后按下p
键粘贴 - 剪切/删除
1、剪切/删除光标所在行(删除之后下一行上移) ——dd
2、以光标所在行为准(包含当前行),向下剪切/删除指定的行数 ——数字 dd
3、剪切/删除光标所在行(删除之后下一行不上移) ——D
- 撤销/恢复
1、撤销 ——u
(undo)
2、恢复 ——ctrl+r
二、模式切换
三、末行模式
- 保存操作(write)
:w
—— 保存文件
:w 路径
—— 另存为 - 退出(quit)
输入:q
—— 退出文件 - 保存并退出
:wq
- 强制(!)
:q!
—— 表示强制退出,刚才做的修改操作不保存 - 调用外部命令
:!外部命令
—— 比如:!ls -la /
- 搜索/查找
/关键词
在搜索结果中切换上/下一个结果:N
(上一个)、n
(下一个)
如果需要取消高亮,需要输入:nohl
- 替换
:s/搜索的关键词/新的内容
—— 替换光标所在行的第一个符合条件的内容
:s/搜索的关键词/新的内容/g
—— 替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容
—— 替换整个文档中每行的第一个符合条件的内容
:%s/搜索的关键词/新的内容/g
—— 替换整个文档中全部符合条件的内容
%
表示文档,/g
表示全局(global)
- 显示行号
:set nu
—— 显示行号,set nonu
—— 隐藏行号
这种显示行号的方式是临时的,要想设置永久生效,可以通过vim配置文件设置 - 使用vim同时打开多个文件,在末行模式下进行切换文件相关命令
:files
—— 查看当前已经打开的文件
在
#
号位置有2种显示可能:
%a
:a=active,表示当前打开的文件
#
:表示上一个打开的文件
切换文件方式:
a. 切换到指定文件::open 文件名
b. 切换上一个/下一个文件::bp
(back prev:上一个)、:bn
(back next:下一个)
四、编辑模式
重点记住前2种方式,i
和 a
五、实用功能
- 代码着色
控制着色的显示与否::syntax off
:隐藏着色,:syntax on
:显示着色 - 计算器的使用
当在编辑文件的时候需要使用计算器去计算一些公式,可以借助vim自身集成的简易计算器。
步骤:
a. 进入编辑模式
b. 按下ctrl+R
,然后输入=
,此时光标会变到最后一行
c. 输入需要计算的内容,再次按下=
,计算结果就会显示在之前光标所在位置
六、扩展
- vim的配置
vim是一款编辑器,也是有配置文件的。
vim配置的三种情况:
a. 在文件打开的时候在末行模式下输入的配置(临时的)
b. 个人配置文件(~/.vimrc,如果没有可以自行新建)
c. 全局配置文件(vim自带,/ect/vimrc)
优先级:临时 > 个人配置 > 全局配置 - 异常退出
在编辑文件后没有去正常保存退出,而是遇到突然断电或直接关闭终端,则会显示下面的效果,这种情况称之为异常退出:
解决办法:将交换文件(在编程过程种产生的临时文件)删除掉即可,rm -f .文件名.swp
- 别名机制
相当于创建一些属于自己的自定义命令,别名机制依靠一个别名映射文件(~/.bashrc
)
案例:自定义cls
命令,实现和clear
一样的效果
a. 输入#vim ~/.bashrc
b. 输入配置信息
注意:自定义命令生效,需要重启终端或重新登录当前用户 - 退出方式
回顾:之前vim中退出编辑的文件使用:q
和:wq
。
除了上面的两个语法外,vim还支持另外一种保存退出方式::x
(推荐)。
说明:
①:x
在文件没有修改情况下表示直接退出,在文件修改情况下表示保存并退出。
②如果文件没有被修改,但是使用:wq
进行退出的话,则文件的修改时间会被更新,但:x
不会。
③不要使用大写的X,X表示对文件进行加密操作。