前言
笔记整理自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的过程中,我也会将遇到的其他操作加入到这篇博客中来!