1.Vim简介
Vi编辑器是以Linux为内核的系统的标准编辑器,与Windows中的记事本相似。
Vim(vi improved)是vi的增强版,vi的键位与vim基本相同。
学习Vim的键位不必死记硬背,掌握基础的模式切换、输入删除和保存等命令即可。
当需要某个命令时再查询对应的键位即可。
基础Vim操作:
1.通过vim打开文件: vim+文件名
2.退出vim并且不保存更改: <ESC>:q!<RETURN>
3.保存文件: <ESC>:w filename
4.保存并退出vim: <ESC>:wq
2.编辑模式
Vim总共有三种编辑模式:
命令模式(Normal Mode)、末行模式(Cmd Line Mode)和编辑模式(Insert Mode)。
图片来源:https://zhuanlan.zhihu.com/p/674875414
(1)命令模式
命令模式是vim的快捷键操作模式,不能对文件直接编辑,但是可以通过快捷键进行删除、复制、移动光标等操作。
通过进入命令模式。
(2)末行模式
进入命令模式后可以通过:
进入末行模式,末行模式实质上可以理解为将vim编辑器中的最下一行设置为命令行终端,
可以在该行中输入命令实现对文件的操作(搜索、替换、保存、退出、撤销、高亮等)。
也可以在该行中进行终端操作(查看文件(ls)、编译代码等)。
(3)编辑模式
进入命令模式后:
i
进入插入模式,对光标所在位置插入内容;
I
对光标所在行的第一个非空格字符处开始插入。
a
进入编辑模式的附加模式,对光标所在行下一个位置插入内容;
A
对光标所在行的最后一个字符处开始输入。
o
进入编辑模式的分段模式,对光标所在下一行处输入新的一行;
O
对光标所在行的上一行处输入新的一行。
r
取代光标所在位置的一个字符;
R
一直取代光标所在位置的字符。
3.光标操作
快速入门Vim不需要去掌握特别复杂的操作,可以先从基本的操作入手,其他操作可慢慢上手
Vim中光标的操作可以通过键盘的方向键实现,也可以通过h(left) j(down) k(up) l(right)
实现操作。
为什么用hjkl来进行方向操作?在某些限制场景下,例如嵌入式开发中,并不包含方向键,因此只能通过hjkl操作.
<CTL>+f <CTL>+b
向上\下一页。
0
跳转到行首。
$
跳转到行末。
末行模式下,可以直接输入对应行号跳转到指定行:nG
4.可视模式
上面已经对于vim的基础操作进行了介绍,但是对比可以使用鼠标进行操作的记事本或者VSCode等编辑器,
目前尚未介绍vim中的选择操作,在vim中可视模式就是选择操作。当进入命令模式后,可以通过<CTL>+v/V
进入可视模式。
v
进入字符选择,光标经过的位置被选中;
5.删除、复制和粘贴
命令模式:
x X
x向后删除一个字符,X向前删除一个字符。
dd
删除当前行。
yy
复制当前行
p
粘贴
通过可视模式进行多选后,可以进行更细节的删除、复制和粘贴:
y
复制
d
删除
p
粘贴
6.搜索和替换
末行模式:
n1,n2s/word1/word2/g
搜索从n1
到n2
行之间的word1
并用word2
替代。
n1,n2s/word1/word2/gc
搜索从n1
到n2
行之间的word1
并用word2
替代,依次询问每一个替换的word1
。
其中n2
可以用$
代替,搜索将从n1
到文末。