Vim求生手册,让你离“Vim党”更近一步!

Posted 柠檬班软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim求生手册,让你离“Vim党”更近一步!相关的知识,希望对你有一定的参考价值。

关注并置顶【柠檬班】的小哥哥小姐姐

猪年行大运!

Vim求生手册,让你离“Vim党”更近一步!

Vim是从vi发展出来的一个文本编辑器。


其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。


和Emacs并列成为类Unix系统用户最喜欢的编辑器。


1
Vim求生手册


很多接触Vim的程序员应该都有过这样的经历:


◆ 受某大 V 的影响看到了 Vim 的高逼格;


◆ 看了某篇学习的文章,自己试了几个命令,在 30 分钟内放弃;


◆ 几个月后、几年后又听到有人在鼓吹 Vim 好用;


◆ 循环...


◆ 忍不了了,花了 2 周时间记各种命令;


◆ 算了,我还是滚回我的sublime吧。


我为什么知道这种情况?


因为我也一遍有一遍的尝试想把 Vim 作为我的主力编辑器,每一次都是伤痕累累的滚回 sublime 了。


分析这里面的原因其实只有一个:我太想用它来装 X 了!


太想感受那种轻飘飘的虚荣感觉。


还没有认识到世界上有 3 类程序员:


◆ 用Vim的程序员


◆ 用Emacs的程序员


◆ 用其他编辑器的程序员


这句话并不是装出来的,Vim真的可以大幅提高工作效率。


如果一个工具真的可以在以后长时间内大幅提高效率,那么花一小点时间,慢慢的使用、进阶绝对是个划得来的生意。


而且,有时候我们不得不在生产环境中直接面对Vim,这种时候通常是紧急的情况(服务器发生故障等)。


如果对Vim不熟悉,那只能是两眼一抹黑了。


大部分人放弃 Vim 可能都是出于这样的原因:期望过高,追求速成。


而本文的目的只在于善意的提醒你:慢一点,别放弃。


2
生存下来


追求速成的同学在初次接触 Vim 时通常活不过 30 分钟,太不友好了!


01 那为什么 Vim 可以提高工作效率?


它的设计初衷就可以让你的手指不离开键盘进行所有的操作。


活下来需要注意的事情很简单,认清 Vim,使用最简单的指令。


就跟我们学吉他一样,先看看买的琴,弄清楚 Do Rei Mi 在哪个地方可以演奏出来就可以了。


通常来说我们要流畅的弹出 1 2 3 4 5 6 7 i 需要一段时间,但是第一次弹奏出来以后会很开心。


这个时候并不需要了解什么是把位,怎么切换把位。


通过 vim filename进入 Vim 以后,不能编辑文本,这时候 Vim 在 Normal 模式下。


正如一些笔记软件默认是不开放编辑的,只有点了编辑按钮才能输入。


而像 Sublime 这样的编辑器,你只要打开了某个文件,随时都可以输入。


这样当然提供了便利性,但是很容易造成误操作,改变文件内容和状态。


◆ 如果需要编辑,键盘按 i 就可以进入 Insert 模式,i你可以理解为是此模式的缩写。此时下面会出现插入字样;


◆ 在 Insert 模式下,可以像笔记软件那样编辑文件内容;


◆ 通过 Esc退出 Insert 模式,回到 Normal 模式。


02 在Normal模式下,学会以下内容就入门了:


◆ i 进入 insert 模式,编辑内容;


◆ 光标键(←↓↑→) 进行移动;


◆ 删除光标位置的字符:x


◆ 删除光标那一整行:dd


◆ 粘贴已复制的内容:p


◆ 保存(w)+退出(q):wq


基本上以上操作足以让我们完成很多的操作内容。


现阶段需要做的是将这些指令训练成肌肉记忆,可以每天刻意用Vim来写日记。


编辑一些文档,或者训练不用自动补全和提示写代码的能力。


稍微熟练以后将光标键换成hjkl进行移动,这样更符合手放在键盘上的位置。


如果不记得哪个键是做什么用的,输入:help键名寻求帮助。


养成一个习惯,insert 模式下编辑完,只要有可能做其他事情,有事没事按按 Esc 退回 Normal 模式来保证数据的安全。


如果有必要,借助鼠标操作。


3
快速定位阶段


在生存阶段的命令没有到肌肉记忆的程度时,尽量不要逼自己学习过多的命令,欲速则不达。


好东西都需要慢慢享受。


Vim 在 Normal 模式下,所有键都会变成命令执行对应的指令。


01 光标的快速移动


◆ ^ 行首;


◆ $行尾;


◆ :3 跳到第 3 行;


◆ G 跳到最后一行;


◆ :/string 定位文字,string就是要定位的文字,可以是正则表达式。当查找到多个结果时,n 键切换到下一个;


◆ w 下一个单词首;


◆ *下一个相同的单词,# 上一个相同的单词;


◆ % 专门用来匹配括号的。编程语言很多不知道自己处于哪一个括号内。


02 多种插入形式


之前我们说过 i 可以切换到 insert 模式,实际上还有其他键也可以:


◆ a 在光标后一位插入,通常用在行末的时候;


◆ o 在下一行插入;


◆ O在上一行插入;


03 文件操作


除了 :wq 还有其他操作:


◆ :q!不保存强制退出;


◆ :w path_of_filename 保存为 filename 的文件;


◆ :saveas path_of_filename另存为;


◆ :e another_file 打开另一个文件:


◆ :n 或者加file/tab键观察 打开下一个文件,如果加 file 开指定的文件,可以用 tab 键观察补全


04 快速回撤前进


◆ u undo,回撤


◆ Ctrl + r redo,前进


◆ . 做大量重复工作的利器,表示执行上一个指令;


◆ 5. 重复执行上一个指令 5 次;


◆ 5<command> 重复执行 command 这个指令 5 次


4
熟练阶段


到目前为止,主流编辑器的基本功能 Vim 通过键盘基本上都实现了。


对于块级操作,命令存在天然的劣势。


毕竟鼠标长按一下可以选择太多的区域,Vim 的块级操作同样不复杂:


◆ Ctrl + v 进入块级操作;


◆ 光标移动,光标键或者其他命令;


◆ I + --, 操作。I 进入插入模式,插入 --;


01 命令v和V表示可视选择,如果我们需要对一段代码左右缩进:


◆ v 进入可视;


◆ 光标移动,光标键或者其他命令;


◆ > 或者 <, 分别表示右缩进和左缩进


在insert模式下,可以使用ctrl + p自动补全


02 分割布局


◆ :vs file 水平开一个文件


◆ :sp file 垂直开一个文件


03 封神阶段


用 Vim 打造 IDE


宏录制


这个阶段我直接放弃了。不行了,白头发出来了。


可自行搜索...


5
总结


◆ 学些Vim的过程真可谓酸爽;


◆ 一个命令用熟练了感动得眼泪掉下来;


◆ 很多枯燥的东西都是有大用处的,这时候能狠下心来啃对自己的心智也是个大的提升;


◆ 虽然离Vim党还有距离,可怎么感觉自己不一样了呢?有懂这种体会的吗?


学习资料


◆ Learn Vim Progressively


◆ Vimdoc user02.txt


Vim求生手册,让你离“Vim党”更近一步!

本文转载至柠檬班社区

未经允许,谢绝转载

http://www.lemfix.com/topics/151?tdsourcetag=s_pcqq_aiomsg

Vim求生手册,让你离“Vim党”更近一步!




- END -


今天的分享就到这里了

看完本文有收获?请转发分享给更多人

Vim求生手册,让你离“Vim党”更近一步!




以上是关于Vim求生手册,让你离“Vim党”更近一步!的主要内容,如果未能解决你的问题,请参考以下文章

接口自动化面试题放送,助你离Offer又近一步

接口自动化面试题放送,助你离Offer又近一步!

张亚勤:深度学习更近一步,如何突破香农冯诺依曼和摩尔瓶颈?

6亿新基金即将开募,Mixed Elements的数字经济王国将更近一步

用身体给可穿戴设备充电,网友:离人类被当作电池更近一步!

免费!项目管理纸质手册试卷让你备考先人一步!