在网上看过一个笑话:
问:如何生成一个随机字符串?
答:让新手退出 vim
用过 Vim 的人肯定一眼就能 Get 到笑点,因为 Vim 的反人类设计,你需要在键盘上打出:q
才能退出。但是作为一个老牌的文本编辑器,其地位在很多程序员心中的地位是不可撼动的,很多 Linux 发行版也都是自带 Vim,用来临时修改一下服务器上的文件非常方便。
因为第一次也遇到了进入 Vim 退不出去的尴尬情景,我决定去谷歌一下 Vim 怎么用,看到某大牛写的 Vim 教程我是懵逼的,因为真的太多东西要学了,一张网页,上万 px 的高度,几乎键盘上每一个按键都有它的作用,大小写不一样,作用也不一样,还有组合键和命令。即使到现在,我也只记得大约 5% 的快捷键和命令。但是我觉得如果你只是用来编辑一些简单的文件,比如 HTML 里面改个标签,CSS 里面改个高度这种小活,5% 可以说是非常够了。
在终端打出vim
然后回车,来看一下他的界面吧:
问:作为一个程序员,你最喜欢的代码编辑器是什么?
答:乌干达
界面很简洁,但是其反人类的设计,会让你有点不相信打:help
能出帮助文档。
Vim 有五种模式:
- 正常模式
- 插入模式
- 命令模式
- 视图模式
- Ex 模式 (
前女友模式)
作为初学者,你可能并不明白为什么 Vim 要设计 “模式” 这种东西,时间一长你就会发现:你还是不懂;but whatever
正常模式
刚进入 vim 的界面就是正常模式。从技术上来讲,所有的按键在这个模式下都是快捷键。(雾
插入模式
在插入模式下,Vim 的表现和 Windows 的记事本一样,yeah that’s how you can type…so
命令模式
在正常模式按下:
就可以进入命令模式。
按下Enter
执行命令,执行完命令后,Vim 会默认回到正常模式,如果没有也同样可以按下esc
。
视图模式
在这个模式下,移动光标会选中文字,很像鼠标操作。
Ex 模式
Wikipedia:
这和命令行模式比较相似,在使用”:visual” 命令离开 Ex 模式前,可以一次执行多条命令。
反正我是没看懂…
Yeah all the crap you just said, I still don’t know how to type in this fucking thing!
不说废话了,其实想要快乐的和 Vim 玩耍,只需要记住以下几条:
-
命令
vim test.html
打开该文件进行编辑,如果没有该文件,在保存后,Vim 会新建该文件。 -
如果你想打字的话,在正常模式按下
i
键就可以进入♂插入模式Insert Mode
,在插入模式下才能打字 -
如果你想保存文件就按下
:w
,强制保存是:w!
,保存并退出:wq
,强制保存退出:wq!
,强制退出:q!
-
撤销修改是在正常模式按下
u
-
重做是在正常模式按下
ctrl
+r
-
跳到具体的某一行可以在正常模式下按下
:
进入命令模式,后面跟上你想要定位到的行号:12138
-
查找是在正常模式下按下
/
,后面跟上你想要查找的字符/myFunktion
,按下Enter
会进入第一个查找结果,按下n
显示下一条搜索结果,按下N
显示上一条搜索结果。 -
全局替换是
:%s/youSearchText/yourReplacement
,如果想在每次替换时需要确认可以在命令后面加上/c
,于是就变成了:%s/youSearchText/yourReplacement/c
以上。
说是教程,其实更像是一个导览?如果你对 Vim 真的特别感兴趣,可以去看看这些比较详尽的文档:
- 简明 Vim 练级攻略 https://coolshell.cn/articles/5426.html
- Vim 从入门到精通 https://github.com/wsdjeg/vim-galore-zh_cn
✌