说到程序员键盘的使用,那就不得不提到鼎鼎大名的VIM。
对于VIM,非程序员或者是刚学习编程语言的同学可能不太了解。我先对Vim做个简单的介绍。Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。
那么Vim具体有哪些好处呢?
1. 使用关键词自动完成
VIM 有一个非常漂亮的关键词自动完成系统。使用关键词自动完成功能,只需要输入开始几个字母(比如 iAmAL),然后按 <C-N>(按住 Ctrl,再按 N)或者 <C-P>。如果 VIM 没有给出你想要的词,继续按,直到你满意为止,VIM 会一直循环它找到的匹配的字符串。
2. 聪明的进入插入模式
VIM 提供了很多进入插入模式的命令。
3. 有效的移动大段的文本
使用可视选择(visual selections)和合适的选择模式。不像最初的 VI,VIM 允许你高亮(选择)一些文本,并且进行操作。
4. 在可视选择模式下剪切和拷贝
5. 粘贴 粘贴很简单,按 p。
6. 使用多重剪贴板
很多编辑器都只提供了一个剪贴板。VIM 有很多。剪贴板在 VIM 里面被称为寄存器(Registers)。你可以列出当前定义的所有寄存器名和它们的内容,命令为“:reg”。最好使用小写字母来作为寄存器的名称,因为大写的有些被 VIM 占用了。
7. 避免重复
在 VI 里面,输入 . (小数点符号),将会重复输入的上一个命令。
8. 使用数字也是 VIM 强大的而且很节省时间的重要特性之一。在很多 VIM 的命令之前都可以使用一个数字。
这里再简要的介绍下常用的快捷键
1. 在编辑模式下按下键盘上的 Esc 按键,进入到命令行模式。在命令行模式下,有如下快捷键(注意一定是命令行模式):
2. 拷贝某一行的内容:yy (让鼠标的光标在某一行停留,连续按下键盘上的 y 两次,即可复制该行的内容)
3. 剪切某一行的内容:dd (让鼠标的光标在某一行停留,连续按下键盘上的 d 两次,即可剪切该行的内容,剪切后该行的内容消失,相当于删除)
4. 粘贴:p (当执行完yy或者dd后,将光标移动到你想粘贴的位置,按下p,即可粘贴内容)
5. 拷贝多行的内容: 按下v + 光标移动选中一些行,选好后松开v,然后按下y,即可拷贝选中的行的内容。
6. 剪切多行的内容:按下v + 光标移动选中一些行,选好后松开v,然后按下d,即可剪切选中的行的内容。剪切后,选中的内容消失,相当于删除。
7. 列模式:ctrl + v 后,移动光标可以选择列的内容
8. 删除:dd可以看成是删除单独行,v + 光标移动选中内容再按下d可以看成是删除多行内容。
9. 显示行号:进入命令行模式下,按下Shift + :,然后输入set nu
10. 去掉行号:进入命令行模式下,按下Shift + :,然后输入set nonu
能熟练使用Vim会大大提高写代码的能力!
那么我们怎么训练这些技能呢?
对于这个问题,我们的前辈们早就为我们铺好了路!Vim大冒险是一个通过娱乐的方式学习vim使用的页面游戏。
但是有些遗憾的是,这个游戏只有前3关是免费的,后面的关卡是要付费的。那么非人民币玩家怎么训练Vim呢?那就不得不提我看到过的训练Vim非常好的一篇文章https://coolshell.cn/articles/5426.html 陈浩的简明VIM练级攻略,阅读量高达98万,帮助包括我在内的一大批新手学习Vim。达到什么程度才算合格呢? 每天都学1到2个新的命令,在两到三周后,你就能熟系它,并且感受到它的强大之处!
附录: