前言
笔记整理自Linux探索之旅 | 第五部分第一课
Vim有三种不同的工作模式:
1.交互模式:Interactif Mode。这是Vim的默认模式,每次运行Vim程序的时候,就会进入这个模式。交互模式功能强大,它可以让我们在文本间移动,删除一行文本,复制粘贴文本,跳转到指定行,撤销操作,等等。
2.插入模式:Insert Mode。输入的文本会被插入到光标所在之处。
3.命令模式:Command Mode。这个模式下,我们可以运行一些命令,例如“退出”,“保存”等等。也可以用这个模式来激活一些Vim的配置(例如语法高亮,显示行号,等等)。甚至还可以发送一些命令给终端命令行,例如 ls,locate,cp等等。
下面用一张图片来说明三者的关系,及切换状态的方式:
基本操作
vim 文件名
用vim打开一个文件,如果文件不存在,则会被新建
交互模式下:
i
:插入文本(交互模式进入插入模式)
0和$
:移动到行首和行末
w
:一个单词一个单词地移动
:w
:保存文件(输入:由交互模式切换到命令模式,w,write写入文件保存)
:q
:退出
:wq
:保存然后退出
标准操作
交互模式下(下列操作都可以结合数字来使用,数字+操作 表示进行多少次操作):
x
:删除字符
dd
:删除行(相当于剪切)
dw
:删除一个单词(相当于剪切)
d0和d$
:删除行首或行末(相当于剪切)
yy
:复制行到内存中
yw
:复制一个单词
y0和y$
:删除行首或行末
p
:粘贴
r
:替换一个字符(按下r之后,接着输入要替换的字符)
u
:撤销操作(相当于word中的Ctrl+z)
Ctrl+r
:取消撤销(相当于word中的Ctrl+y)
g
:跳转到指定行
要跳转到最后一行,按下G(大写的G,Shift+g)
要跳转到第一行,按下gg(两次g键)
跳转到指定行:行号+G 或 行号+gg
高级操作
交互模式下:
/
:查找(从光标处开始查找)
?
:查找(从文件最开始出查找)
如果要查找下一个匹配项,只需要按n键。如果要反向查找,需要按N(大写的n,Shift+n)。
:s
:查找并替换
:s/旧字符串/新字符串
:替换光标所在行的第一个匹配的字符串
:s/旧字符串/新字符串/g
:替换光标所在行的所有匹配的字符串
:#,#s/旧字符串/新字符串/g
:替换文件中第#行到第#行的所有匹配的字符串
:%s/旧字符串/新字符串/g
:替换文件中所有匹配的字符串
:r
:合并文件
我们可以用冒号+r(:r)实现在光标处插入一个文件的内容。例如::r 另一个文件名
:sp
:横向分屏
:sp 另一个文件名
:两个分开的屏幕中分别打开不同的文件
:vsp
:垂直分屏
:vsp 另一个文件名
:两个分开的屏幕中分别打开不同的文件
Ctrl + w 然后按q或按c
:关闭当前viewport
:! 命令
:运行外部命令(例,:! ls)
这个方法很适合在不必离开Vim的情况下运行一些外部命令
总结
–
上面整理的vim编辑器的相关用法并不是最全的,只是些常用的操作,其他包括配置vim等并没有加进来,随着后续使用vim的过程中,我也会将遇到的其他操作加入到这篇博客中来!