一. Vim 核心:理解四大操作模式
Vim 的核心特色是 “模式化”,不同模式对应不同操作场景,所有操作都围绕模式切换展开,记住 “Esc 键回归命令模式” 是关键。
1.1 三大核心模式
正常/普通/命令模式(Normal Mode):启动 Vim 后的默认模式,用于导航、执行编辑命令(如复制、删除),光标为块状。插入模式(Insert Mode):用于输入文本,光标为竖线,状态栏显示-- INSERT --。末行模式(last line Mode):输入:进入,用于执行保存、退出、查找替换等高级命令。
其实一共是有12种模式的。这里先讲三种比较核心的,后面还会补充几种。
- 模式快速切换:
- 模式小总结:(后面会用到的几个)
二. 入门必备:常用命令速查
2.1 启动与退出 + 模式切换(基础中的基础)
进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏编辑页面:
$ vim test.c- 不过有一点需要特别注意,就是你进入vim之后,是默认处于[命令模式],你要切换至[插入模式]才能够输入文字。
[正常模式] 切换至 [插入模式]
- 输入 i:光标不动
- 输入 a: 光标向后移一个
- 输入 o:光标向下移一个
[插入模式] 切换至 [正常模式]
- 目前处于[插入模式],就只能⼀直输入文字,如果发现输错了字,想用光标键往回移动,将该字删
除,可以先按⼀下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
- 目前处于[插入模式],就只能⼀直输入文字,如果发现输错了字,想用光标键往回移动,将该字删
[正常模式] 切换至 [末行模式]
- [shift + ;],其实就是输入 [:]
- 末行模式想要切换回去直接esc就完了
退出vim以及保存文件,在[正常模式]下,先切换至[末行模式],再进行后续操作:
- w(保存文件)
- q(退出文件)
- wq(输入[wq],存盘并退出vim)
- q!(输入 q!,不存盘强制退出vim) --还有wq!,w!等
- 在正常模式下也可以直接 shift+zz(不用切换至末行模式,但是不建议用)
2.2 光标移动(告别方向键,高效导航)
普通模式下无需鼠标,用键盘组合实现精准移动:
- 基本移动(可以用n):
h(左)、j(下)、k(上)、l(右)(替代方向键,手指不离主键盘) - 单词移动(可以用n):
w(下一个单词开头)、e(单词结尾)、b(上一个单词开头) - 行内移动:
[shift+6](^)(行首第一个非空字符)、[shift+4]($)(行尾) - 文件内移动:
gg(文件开头)、[shift+g](G)(文件结尾)、nG(跳转到第 n 行,如 5G 跳第 5 行)
2.3 文本编辑(复制、删除、撤销、切换)
普通模式下执行,配合数字前缀可批量操作:
- 删除:
x(删除光标处字符)、dd(删除当前行)、dw(删除当前单词)、ndd(删除 n 行,比如3dd,删除3行) - 复制粘贴:
yy(复制当前行)、yw(复制当前单词)、p(光标后粘贴)、[shift+p](P)(光标前粘贴)、nyy(复制n行,比如 5yy 复制5行) - 撤销与重做:
u(撤销上一步)、Ctrl+r(重做撤销操作)、.(重复上一次编辑命令) - 替换:
r(替换光标处单个字符)、[shift+r](R)(进入替换模式,连续替换) - 切换:
~:(对特定的字符进行大小写切换)
2.4 视图模式的一些操作(批量处理)
- 批量化注释和去注释:
2.5 末行模式的一些操作
- 查找:输入
/关键词(向前查找),?关键词(向后查找),按n下一个、N上一个 - 替换:
%s/target/src/g
- 行号:
set nu(唤出行号),set nonu(去掉行号) - 能直接回到vim:
! command(bash中执行的命令,都可以在底行之间切换)–再按任意键回到vim - 分屏操作:
vs 文件名(分屏,用来写文件,光标在那写到那),ctrl+ww(移到其它文件)
三. 两个实用技巧和问题解决
3.1 实用技巧![]()
3.2 解决问题
3.2.1 vim异常退出的问题
– 会自动帮你保存到一个隐藏文件(eg:code.c.swp),如果正常退出这个文件会自动删除掉,异常退出的话这个文件会保留,可以考这个文件恢复。
3.2.2 给用户进行赋权,添加至白名单(重要)
# 切换到root用户配置这个/etc/sudoers [root@VM-0-3-centos ~]# vim /etc/sudoers100 + G(跳到100行)
yy + p:(只用把root改成你需要的用户名就行)
四. vim的配置
配置文件的位置:
- 在目录 /etc/下面,有个名为
.vimrc的隐藏文件(没有就手动创建一个) ,这是系统中公共的vim配置文件,对所有用户都有效。 - 而在每个用户的主目录下,都可以自己建议私有的配置文件,命名为:“.vimrc”。例如:/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
- 切换用户成为自己执行
su,进入自己的主工作目录,执行cd ~ - 打开自己目录下的 .vimrc文件,执行
vim .vimrc
常用配置选项,大家可以自己写进去配置一下:
- 设置语法高亮:syntax on
- 显示行号:set nu
- 设置缩进的空格数为4:set shiftwidth=4
- 其实还有很多插件和其它配置,这里就不讲了,直接给大家提供一个一键配置方案
- 给大家提供一个一键配置方案
- Centos7配置方案