Bootstrap

你还在为vi/vim的各种命令苦恼吗?这里有详细的讲解、清晰的脑图和史上最全的键盘图,希望能帮到你。

系列文章
你需要知道的Linux常识(一)(内附超全思维导图)


1、vi/vim简介

所有的 Unix Like 系统都会内建 vi 文本编辑器,vi是比较古老的编辑器,目前我们使用比较多的是vim编辑器。vim是vi的更新版本, 在功能上比vi更强大,如可以高亮显示不同编程语言关键字等,方便程序设计,如下图一段c++小程序。
在这里插入图片描述
  更详细的介绍请大家关注vim官网,本文只是在使用上做一个比较详细的解释。下面进入三种模式介绍。

2、vi/vim模式交互

2.1、命令模式

  首次启动 vi/vim,便进入了命令模式。此时你敲击键盘上的任意键(只敲一次),编辑器都会认为是一次命令,在界面不会输入任何信息。比如按下 i,并不会输入 i字符, i被当作了一个命令。

2.1.1、启动vi/vim

普通界面输入 vi filename 或 vim filename

在这里插入图片描述

2.1.2、进入命令模式

如下图所示,命令模式界面,会显示光标位置和当前操作文档名称,并且文档状态为只读(readonly)。敲i 切换文本模式,下次按键将会输入一个字符。

在这里插入图片描述

x/delete 删除当前光标所在处的字符。
: 切换到末行模式模式,此时可以在最底一行输入命令。

2.2、文本模式

命令模式下,输入i,进入文本模式,也叫编辑模式。此时就可以像普通编辑器一样编写代码或文档,这种模式下,除ESC键之外,其他键都可以输入。如下图,INSERT表示,此时正在输入内容。
在这里插入图片描述
那么你写完后,如何退出呢?按下ESC键,此时INSERT标记不见了,此时切换到命令模式,可以执行相关命令。如下图所示
在这里插入图片描述
接着键入:,输入退出命令wq,即可退出界面,如图所示:
在这里插入图片描述
文本模式一些常用的按键:

字符按键以及Shift组合,输入字符大小写等
Enter,回车键,换行
BackSpace,退格键,删除光标前一个字符
Delete,删除键,删除光标后一个字符
↑ ↓ ← → 方向键,在文本中移动光标
Home/End,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
Esc,退出输入模式,切换到命令模式

2.3、末行模式

命令模式下按下:(英文冒号)就进入了末行模式。在当前模式中,最常用的命令如下:

q 退出程序
w 保存文件
按Esc可随时退出末行模式。

在这里插入图片描述

2.4、三种模式相互转换

  vi/vim三种模式相互切换,才能高效的完成工作,如果对三者之间的关系不熟悉,很容易陷入不知所措的怪圈。如下思维导图,按照文件my.c的操作流程,从输入到完成保存,流程化展示三种模式之间的关系。

在这里插入图片描述

3、vi/vim常用命令

  vi/vim作为程序员高效编码的神器,除了三种模式的切换,还有大批的操作命令,能娴熟掌握,并在实践中得心应手的使用,能在一定程度上体现出程序猿们的技术水平。鉴于庞大的操作命令,用文字展开解释比较枯燥,本文同样采用思维导图的方式,将常用的命令流程化列出,方便各位大佬对照使用。请看下图:

在这里插入图片描述

4、史上vi/vim最全键盘图

  前一章节总结了本人在日常工作中经常用到的命令,但是庞大的vi/vim命令库,没法一次性总结完善,因此网罗了互联网界大佬总结的vi/vim键盘图,贴出来送给爱学习的你,希望在以后茫茫编程之路上,vi/vim像一把利刃,帮你劈波斩浪,早日到达人生巅峰。

在这里插入图片描述
参考链接
http://www.viemu.com/
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
https://www.runoob.com/linux/linux-vim.html

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;