原始状态
我曾经观看过小提琴家非常有激情地拉弦演奏,我有了这种想法:也许我投入到文本编辑器中的脑细胞数量和他为投入所喜好的乐器的演奏中差不多吧。我还有种奇异的想象,当他独奏的时候,脑中的核磁共振图和我在使用VIM中操控代码的的图像也许不会相差太大吧?

如果你愿意的话请你仔细思考下,以下是一个vimmer的学习旅程的剪

Vim涅磐所经历的漫长而艰苦的道路

星期一

“Eclipse当然是简洁实用的”

“但是一些满脸落腮胡的奇怪家伙在工作中似乎使用vim确实非常快,我应该试一下。”“好吧!我弄了个Gvim,这看起来不是很糟糕,这里甚至还有菜单界面!”“等什么?我的文本去哪了?等一下,撤销,不要啊!”“:help”“:q!!!!!”今天剩下的时间还是回到拥有让人上瘾的自动补全样板功能的Eclipse中获得解脱吧

星期二

 “好吧 vim,这是新的一天了,这是个磨砺自己学习新东西的一个崭新的机会,我不是那么容易放弃的人!”“为什么我就不能一直呆在插入模式里面呢?FJDSAKLFJDALSKJKLDF(发狂的敲击键盘)”“等一下,你在告诉我保存的时候必须按ESC-shift-冒号-w-回车?这简直就是狗屁啊”“在花了2个小时学习教程以后,我基本上懂的就是ddp命令可以交换两行的内容,真是蛋疼啊

一个礼拜以后

 “哇噢,任何地方都有vim阿,这意味着这付出的所有的努力将不会白费,比如当我用ssh远程登入主机修改一些配置的时候”“太爽了,嘿,朋友们来看看这个全暗色的配色主题,我新的工具链表面上看起来非常安逸了”“噢,真是扯蛋,我的.vimrc没有在我的远程主机里,当我ssh登入编辑一些配置的时候,所有我的酷玩意都没了”

两个月以后

 HJKL的移动方式习惯成自然,你神秘的失去了使用鼠标的能力。“我将始终使用我刚下载的这400个插件!尤其是这个折叠latex语法的插件,噢,哥们”“使用小箭头方向键简直是自我折磨阿”“再见,Caps Lock键”“就这样吧,这是忍耐的极限,vim甚至不能让文本合适的自动换行,我准备回到edit.com了”

一年后

更少的大声说话了。安装command-T插件,每天节约成百上千次的键盘敲击。用宏试着让你肩膀后的某个人感到印象深刻,通过在整个文件里混合大小写和参杂ROT13暗码(回转十三位加密)。最终在某个奇迹般的一天学会在肌肉记忆里用ctrl+[来延缓了腕关节炎症降临。学会了移动光标,使用visual模式和*键----这意味着已经没有退路了。“vim不支持交互性缓存?都20年了?好吧,作为一名黑客,我决定给它添加这项支持。”查看vim代码库,疯狂地让它向相反的方向运行。“谁无论如何也需要在编辑器里弄个控制台?我就是所有的unix哲学。”对周围的”vim只是将一个编辑模式合并到真正的编辑器中“观念感到无可忍耐。因为你老是在房间里令人讨厌地回复”:w”,IRC的朋友们最后将你孤立。

两年以后

vim脚本就是一种对上帝的深恶痛绝。有点觉得emacs的从始至终的指令模式相对有点像在天堂一样。我昨晚做了一个噩梦,梦到我始终没有学会在宽屏显示器中垂直切分窗口,这样提心吊胆真是够混帐阿。偷偷地瞄一下周围,绑定ctrl+s到保存,允许自己悄悄地松一口气。意识到hjkl搜索定位不足以成为终极时间节约工具,发现:python脚本,所建立的大量定制功能达到鼎盛期,对<Leader>key绑定直到你的键盘类似于NASA指挥中心控制面板一样有点繁多到荒谬的功能感觉有一点糟糕。

“嘿,每个听的到我声音的家伙过来看看,我现在控制电脑,写博客,检查邮件,运行测试,调试程序,浏览黑客新闻

       所有的一切都能在vim温暖舒适,超级可以定制化的母体中进行”为什么你这小子不做几个后空翻来庆祝一下呢?

模糊又很长某段时间之后

在“文本编辑中模态的明显的优势”演讲结束后失去了几个朋友。

尽情享受在github.com/me/vimfiles中分享自己配置的快乐中,有义务完成关于如何特立独行地安装语法检查,lint工具,自动补全, 快速文档查看,成吨的杀手级缩写,世界上所有文件类型对应的插件,使vim在每种功能的高效性上接近真正的IDE的博客帖子。开机时间日志写入服务器,下 意识地使用nano来编辑配置文件。不会为没有使用插件和vimrc中的更多语法而更新所有的配置文件而感到深深的羞愧。

变得十分淡定,重复性的编辑任务再也难不住你,不再去参加emacs与vim谁好谁坏的争论。

...这就是你用vim时大脑的终级形态

文章转载自 开源中国社区[http://www.oschina.net]

Vim 用户的大脑变化相关推荐

  1. linux vi如何输入井号,为什么我可以使用井号(#)来破坏vim用户功能命名规则

    vimscript帮助文件在定义用户函数时说明: The function name must start with an uppercase letter, to avoid confusion w ...

  2. MaxCompute理解数据、运算和用户的大脑:基于代价的优化器

    摘要: 回顾大数据技术领域大事件,最早可追溯到06年Hadoop的正式启动,而环顾四下,围绕着数据库及数据处理引擎,业内充斥着各种各样的大数据技术.在云栖社区2017在线技术峰会大数据技术峰会上,阿里 ...

  3. Ubuntu Linux Vim用户 改键位

    本文写于2022/12/25 (Ubuntu 22.10) 最终目的 : 交换Caps 和 Esc 交换右边的At和Ctrl 方法:更改 /usr/share/X11/xkb/keycodes/evd ...

  4. Linux的init进程(内核态到用户态的变化)

    init进程,也就是内核启动3个进程中的进程1: init进程完成了从内核态向用户态的转变: (1)init进程是比较特殊,一个进程两个状态,init刚开始运行时是内核态,他属于内核线程,然后他自己运 ...

  5. 5 个针对有经验用户的 Vim 实用技巧

    Vim 编辑器提供了很多的特性,要想全部掌握它们很困难.然而,花费更多的时间在命令行编辑器上总是有帮助的.毫无疑问,和 Vim 用户们进行交流能够让你更快地学习新颖有创造性的东西. 注: 本文中用到的 ...

  6. vscode vim 分组替换_写给 VS Code 用户的 Vim 入坑指南

    本文授权转载自原作者, 未经许可请勿转载 现实当中使用 Vim 来写前端的人是少之又少,大多数人基本上都是使用 VSCode.但作为「编辑器之神」,不管使不使用 Vim 进行编码,学习 Vim 的编辑 ...

  7. Vim 实用技术,第 1 部分: 实用技巧

    0. Vim 简介 作为开源世界最重要的编辑器之一(另一个是 Emacs),Vim 以其强大的功能和可定制能力被众多开发者所喜爱.不过,也许就是因为 Vim 的功能太强大了,要真正用好 Vim 并不容 ...

  8. vim nerdtree 标签_7款vim插件

    作者:QvQ 链接:https://zhuanlan.zhihu.com/p/145793963 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 集成开发环境(IDE ...

  9. Linux下的用户、组和权限的详细解释

            前言:在linux中一切都是文件(文件夹和硬件设备是特殊的文件),如果有可能尽量使用文本文件.文本文件是人和机器能理解的文件,也成为人和机器进行交流的最好途径.由于所有的配置文件都是文 ...

最新文章

  1. rust怎么传送坐标_梦幻西游电脑版:金银锦盒修改后资金怎么攥?仅需知道六个小技巧!...
  2. 突然Windows系统声音没有,怎么修复?
  3. eBPF学习——抓取内核网络中的socket信息
  4. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第2章-连通性保持条件下多智能体系统群集运动控制
  5. 对一千万条数据进行排序---编程珠玑第二版 第一章
  6. gradle 打war 包以及合并jar包
  7. 第三次学JAVA再学不好就吃翔(part26)--static关键字
  8. 【POJ - 1182】 食物链(附超详细讲解)(并查集--种类并查集经典题)
  9. html li去掉黑点_10分钟教你Python爬虫(上) HTML和爬虫基础
  10. 如何在博客上添加小游戏【原创】
  11. 合工大计算机学院吴辽源,计算机学院智能计算系统系召开人才培养大讨论专题会议...
  12. gis 数据框裁剪_【更新80篇】地理数据科学技术文章合集,欢迎大家点赞、在看、转发三连!...
  13. MTK 手机支持3D
  14. mysql front下载,MySQL-Front下载
  15. 【学习记录——unity 3D】Stealth秘密行动游戏制作(一)
  16. 拜日式精准引导词_108遍经典拜日式引导词
  17. java调用七鱼返回文件_网易七鱼 Android 高性能日志写入方案
  18. 微信小程序(七)注册
  19. 14.4 手机号码归属地查询
  20. Spring JPA整合QueryDSL

热门文章

  1. 你必须学会的Git入门基本操作
  2. 论文返修(response letter)最有用的开场白
  3. Java 基础复习实践 --- Hashcode Equals
  4. Python 内部:可调用对象是如何工作的
  5. 关于浮点数计算时的精度问题
  6. Machine Learning week 9 quiz: Recommender Systems
  7. HDU 1848 Fibonacci again and again(博弈)
  8. PHP中使用ActiveMQ实现消息队列
  9. mysql批量插入:语法
  10. 《Cisco QoS认证考试指南(第2版)》——1.1节“我已经知道了吗?”测试