一、Vim 编辑器简介
vi 编辑器是 Linux 里最基本的文本编辑器,系统自动安装了 vi。而 vim 是 vi 的加强版, vi 不显示高亮颜色语法,vim 能显示高亮颜色语法。 如果系统没有自动安装 vim,需自行下载安装。
二、Vim 模式介绍
vim 编辑器中最重要的三种模式:命令模式、编辑模式、末行模式,每种模式分别支持 多种不同的命令快捷键,可大大提高工作效率。这三种模式的操作区别以及模式之间的切换 方法如下图:
>命令模式
控制光标移动,可对文本进行复制、粘贴、删除等工作。 使用 vim filename 编辑一个文件时,一进入该文件就是命令模式。
>编辑模式
正常的文本写入。
>从命令模式进入编辑模式
只需按一个键即可(i, I, a, A, o, O, r, R)。 当进入编辑模式时,会在屏幕的最下一行出现“INSERT”或“插入”的字样。
>从编辑模式回到命令模式
只需要按键盘左上方的 ESC 键即可。
>末行模式
保存或退出文档,以及设置编辑环境。 在命令模式下,输入“:”或者“/”即可进入末行模式。
在该模式下,可以进行的操作有,显示行号、搜索、替换、保存、退出。
三、VIM编辑器的使用
- 打开vim
# vim 文件名称
① 如果文件已存在,则直接打开
② 如果文件不存在,则vim会自动在内存中创建一个新文件
如:使用vim打开aaa.txt文件
vim aaa.txt
四、Vim 命令
1 命令模式下的命令
命令光标跳转
h 或 ← 光标向左移动一个字符
j 或 ↓ 光标向下移动一个字符
k 或 ↑ 光标向上移动一个字符
l 或 → 光标向右移动一个字符G
G 转光标至末端
gg 跳转光标至顶端
Ngg,例如 22gg 跳转光标至当前文件内的 22 行
$ 将当前光标跳转至光标所在行的末端(尾部)
^ 将当前光标跳转至光标所在行的头部,数字 0 可实现类似效果
行比较多,翻页
ctrl+f 往下翻页(行比较多)
ctrl+b 往上翻页
复制、粘贴
yy 复制当前光标所在的行
Nyy,例如 5yy 复制当前光标以及光标向下 4 行
p(小写) 粘贴至当前光标下一行
P(大写) 粘贴至当前光标上一行
删除
dd 删除当前光标所在的行
Ndd,例如 4dd 删除当前光标所在的行以及往下的 3 行
dG 删除当前光标以后的所有行
D 删除当前光标及光标以后的内容
x 删除当前光标标记往后的字符
X 删除当前光标标记往前的字符
剪贴
先删除 dd(或 Ndd),后粘贴 p。
撤销
u 撤销上一次的操作(类似 windows 下的 ctrl+z)
替换
r 替换当前光标标记的单个字符R进入 REPLACE 模式, 连续替换,ESC 结束
2 编辑模式下的命令
实现从命令行模式进入到编辑模式。
i 进入编辑模式,光标不做任何操作
I 进入编辑模式,并且光标会跳转至本行的头部
a 进入编辑模式,将当前光标往后一位
A 进入编辑模式,将光标移动至本行的尾部
o 进入编辑模式,并在当前光标下添加一行空白内容
O 进入编辑模式,并在当前光标上添加一行空白内容
3 末行模式下的命令
:w 保存当前状态
:w! 强制保存当前状态
:q 退出当前文档(文档必须保存才能退出)
:!q 强制退出文档不会修改当前内容
:wq 先保存,在退出
:wq! 强制保存并退出
:number 跳转至对应的行号
保存退出
查找与替换的命令
/string 需要搜索的内容(查找)
再按 n,按搜索到的内容依次往下进行查找
再按 N,按搜索到的内容依次往上进行查找
:s/sbin/test/ 替换当前行第一个 sbin 为 test
:s/sbin/test/g 替换当前行所有 sbin 为 test
:1,5s/sbin/test/g 替换 1-5 行中包含 sbin 的内容为 test
:%s/sbin/test/g 替换整个文本文件中包含 sbin 的替换为 test
:%s/sbin/test/gc 替换内容时时提示是否需要替换
4 Vim 环境变量
环境变量临时生效
:set nu 显示行号
:set ic 忽略大小写, 在搜索的时候有用
:set ai 自动缩进
:set list 显示制表符(空行、tab 键)
:set no[nu|ic|ai…] 取消临时设定的变量
环境变量永久生效
~/.vimrc 配置个人环境变量(优先级高)
/etc/vimrc 配置全局环境变量
如果个人 vim 环境没有配置, 则使用全局 vim 环境变量配置。
如果个人 vim 环境和全局环境变量产生冲突, 优先使用个人 vim 环境变量。