1、Vim是什么?备注:本文为《Linux Vim入门教程》第1篇文章。
vi/vim是Linux最基本的文本编辑工具,Vim起源于vi,其官网是这样介绍的:
Vim is a greatly improved version of the good old UNIX editor Vi.
vim的名字来源于:vi improved。vim是vi的进化版,vi是一款由加州大学伯克利分校的Bill Joy研究开发的文本编辑器。
2、Vim的工作模式备注:关于Bill Joy,则更具传奇色彩,他是美国著名计算机科学家。1982年,Joy作为联合创始人和首席科学家参与了Sun微系统公司的成立,设计了Sparc微处理器,并将之前自己领导开发的BSD继续发展成为Solaris操作系统。另外,他还是Java和Jini的主要作者之一。
vim有三种基本的工作模式:
打开文件首先进入命令模式,是使用vim编辑器的入口。在命令模式下,通过使用命令对文件进行常规的编辑操作,例如:复制、粘贴、删除、定位、翻页等等。
2.2、末行模式:末行模式是vim编辑器的出口,要退出vim,必须要在末行模式下。在末行模式下,执行退出文件、保存并退出文件等操作。
2.3、编辑模式:正常的编辑文字模式。
2.4、三种模式的切换(1)vim打开一个文件进入的就是命令模式,另外两种模式需要回到命令模式才能进入彼此。
(2)在命令模式中按下【i,I,o,O,a,A,r,R】任何一个字母后进入编辑模式,进入编辑模式后,下方会出现【INSERT】或者【REPLACE】字样,按【Esc】键退出编辑模式,回到命令模式。
(3)在命令模式中按下【:,/,?】中任意一个即可进入末行模式,末行模式可以对文档或者vim环境进行操作,例如查找,读取,存盘,替换,离开,显示行号等。
3、Vim保存和退出命令
命令 |
简单说明 |
:w |
英文:write。保存编辑后的文件内容,但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。 |
:w! |
强制写文件,即强制覆盖原有文件。如果原有文件的访问权限不允许写入文件,例如,原有的文件为只读文件,则可使用这个命令强制写入。但是,这种命令用法仅当用户是文件的属主时才适用,而超级用户则不受此限制。 |
:wq |
英文:write & quit。保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。另外一种替代的方法是用ZZ命令。备注:ZZ常用于描述睡觉的呼噜声,指人睡着了。用在vim中,也很形象贴切,退出vim编辑器让文件“睡觉”,不再打扰它。 |
:wq! |
强制保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据强制写到启动vim时指定的文件中,然后退出vim编辑器。 |
ZZ |
使用ZZ命令时,如果文件已经做过编辑处理,则把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。否则,只是退出vim而已。注意,ZZ命令前面无需加冒号“:”,也无需按Enter键。 |
:q |
在未做任何编辑处理而准备退出vim时,可以使用此命令。如果已做过编辑处理,则vim不允许用户使用“:q”命令退出,同时还会输出下列警告信息: No write since last change (:quit! overrides) |
:q! |
强制退出vim编辑器,放弃编辑处理的结果。如果确实不需要保存修改后的文件内容,可输入“:q!”命令,强行退出vim编辑器。 |
:w filename |
把编辑处理后的结果写到指定的文件中保存 |
:w! filename |
把编辑处理后的结果强制保存到指定的文件中,如果文件已经存在,则覆盖现有的文件。 |
:wq! filename |
把编辑处理后的结果强制保存到指定的文件中,如果文件已经存在,则覆盖现有文件,并退出vim编辑器。 |
备注:感叹号!多用于强制执行,例如CSS中用“!important”强制提升样式的权重。
文末思考题:给各位站长徒弟留个疑问:当文件未做任何修改,执行:wq和:wq!有什么区别吗?请仔细思考一下。如果实在想不明白,可以找站长私聊。
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
全部评论