为什么要学 vim

作者: bigzhu | 来源:发表于2015-03-21 15:38 被阅读1999次

    可怕的 vim (缺点)

    • vim 学习门槛高
      • 操作奇怪
      • 不能用鼠标
    • 功能弱
      • 不配置不折腾的话,什么功能都没有,就是一个普通的编辑器
      • 不能管理项目
      • 没有代码高亮
      • 没有代码提示
      • ......
      • 什么都没有

    如此来说, vim 没有任何优势...可是业内有一句话:
    世界上只有三种编辑器 vim, Emacs, 其他

    vim 的优点

    为何会这样呢? 我们来看看 vim 的优点:

    • 运指如飞
    • 所思即所得
      可以这样说, 用 vim 和用 IDE 什么的,完全是两个感觉.

    用 IDE 就像用一双筷子,夹住一把勺子,然后去舀菜吃. 别扭不? 想想都别扭.

    用 vim 就像用手直接去抓菜吃,那个淋漓畅快.

    为什么这样说呢?

    • vim 使用的是肉体记忆
    • 其他使用的是技巧记忆

    肉体记忆是反射性的,相当于给你增加了一个绘图的 GPU,不会中断和占用你的 CPU

    而技巧记忆必须中断 CPU, 切换 CPU 去做其他事情,然后再切换回来.

    比如我要将文本中一行代码剪切到最顶端.

    • vim: ddggp敲下这几个字母你就实现了这个功能了
    • 其他党: 把手从键盘上拿下来,抓住鼠标,颤抖的小心翼翼的拖拉着光标选中对应的文本,千万要小心,不要少选中任何一个字符. 按下右键, 在弹出的一堆菜单中仔细的找到 剪切 小心翼翼的选中 剪切 ,然后拼命的滚动滚轮,直到滚不动以后,仔细查看是否滚最上面了,有没有少滚一点,然后把颤抖的光标移动到最上面那一行的顶端.接着按下右键,在弹出的密密麻麻的菜单中,仔细的找到 粘贴 这两个字.

    可怜的其他党,做完这些以后,你还能想得起来复制到最上面是干什么么?

    嗯,没错你花了2分钟,还是能想得起来,可能就是复制上去测试一下. 然后不行还是得改回去.

    • vim: uu就改回去了
    • 其他党: 好累,就是把上面的操作反向再重复一次.我都懒得写了.难点是要找到该插回代码的哪里?别插错了.不能用 ctrl+z 哦.纯粹的其他党不应该使用热键的.

    中断对我们的工作效率影响是非常巨大的,可以参见 碎片化对我们脑力智力的摧残

    不要说上面这种不人性的操作了,即使是将手从键盘上拿下来,也是影响非常大的.

    所以一个优秀的 vim 程序员,操作编辑文本的能力和效率可能只是其他党的4-5倍.

    但是考虑到持续思考不中断编辑的产出, vim 程序员的工作效率甚至能达到其他党的10-20倍.

    vim 甚至能让你思维方式和看待事物的发生不一样的改变. 所以身为一个程序员, 不使用一个真正的编辑器,那是不称职的.

    vi的历史

    vi 由 Bill Joy 于1976年发表, 已经有接近 40 年的历史.目前是 UNIX 规范的一部分, 只要是 UNIX 的衍生类操作系统, 里面一定能使用 vi.

    vi/vim 是一款能够一辈子使用下去的工具,永远不会过时,而且你永远可以持续性的学习技巧,持续性的提高自己的生产效率. 是不变应万变的神器

    然后IDE呢? 这几年流行过的 IDE 数不胜数 jbuilder, Netbeans, IntelliJ, Eclipse, webstorm, Sublime 还有 jetbrains 出品的各种IDE. 可能我孤陋寡闻了,还有很多优秀的 IDE 没列出来, 没错 IDE 是很好用, 以后可能还有更好用的 IDE 出来, 你就慢慢的没有积累的学下去吧.

    如何学习 vim

    • 打开一个 vim 编辑器,输入:help
    • 部门有一本书
    • 网络上有很多简单的入门技巧

    你随时可以开始学习, 但是学习的过程, 怎么说呢?并不是那么让人愉快的, 更类似学习一款新的输入法. 你会痛苦纠结彷徨, 但是坚持过来了,形成肉体记忆了,就都好了.

    你要抱着一种思路: 不求完美,但求使用

    只要学到基础的东西,坚持的用下去,每次遇到不会的操作, 停下手头工作, 都去查出来,记下来.

    vim 有两种(其实是三种)模式:

    • 移动 esc
    • 插入 i
    • 虚拟 v(可以不用管)

    基本能力

    • 移动模式: h(左)j(下)k(上)l(右) 一定要最先的记死用熟
    • 插入模式: 你可以输入想要输入的东西,没什么可以说的
    • 保存文件: :w然后回车
    • 复制内容: v 进入虚拟模式, hjkl 移动复制, 然后按下 y
    • 粘贴内容: p
    • ....

    自己慢慢学,其实入门也很简单,只是形成肉体记忆比较难. 我现在熟悉的 vim 命令也很少,就是常用那几个,因为编码工作不够多吧.

    相关文章

      网友评论

        本文标题:为什么要学 vim

        本文链接:https://www.haomeiwen.com/subject/ovnwxttx.html