读技术博客时发现又有人提起我曾写的那篇口水文章 为何Emacs和Vim被称为两大神器。写那篇文章时,我还在Vim和Emacs之间摇摆。当然主要在用vim,博士学位论文和所有的国际会议文章都是用Vim编辑,latex编译生成的。

从写文到现在,快8年时间了,这八年时间我一直在用Emacs,只有在没有Emacs的环境下才会用vim或者vi。我是怎么从Vim转投Emacs阵营的呢?

写那篇水文的时候,还没有结束博士学业。写文后不久就奔赴工作岗位了。在单位需要做一个java项目,和别人一起,所以随大流地用了Eclipse。用Eclipse时一直用它的Emacs键绑定,结果项目一期结束时,我对Emacs按键很熟了。所以很自然地就用起Emacs了,狠心地抛弃Vim。就像当初学会了双拼输入,狠心地抛弃五笔一样。

后来再做java项目,我自己能做主,就没再用Eclipse,全部用Emacs完成。要什么对象成员提示,有javadoc就足够了。IDE中的提示只会让懒人不求甚解,看javadoc才能看到类的继承层次、接口的详细说明。因为在单位连接互联网不方便,这种情况用Maven构建项目是不适合的。于是我就动手写了一个针对java项目的通用makefile。当然这也是一个半成品,不能解决代码间循环依赖的问题。但对我自己来说够用了。这就是我的优点,不难为别人也不难为自己,遇到困难就含糊过去了,当然也是个缺点。

后来我去了做国产操作系统的公司,大家都在Linux环境下开发,我对Emacs更是爱不释手。代码、文档、日记都在Emacs中写,还用Emacs org模式写写我那些不能发表的小说。这段时间,Emacs写了不少python代码,也写了一些c代码,完全没有压力。

再后来,去一家公司做了半年NLP,训练机器翻译的模型,部署机器翻译的服务,这段时间用Emacs写了几个用maven管理的java项目,也写了一些python程序。TDD(测试驱动开发)帮了我不小的忙。

今年,走人才引进的路子,我又跑到高校来了。现在觉得编程没问题,写论文成为比较困难的事情了。这些天一直在找方向。计算机图形学的论文都很漂亮,但是这玩意儿似乎太难了。让我用SDL和OpenGL写个二维三维动画和小游戏什么的还可以,去改进算法实现,对我这数学渣来说,恐怕难为我了。机器学习大热,虽然也打下点基础了,可不是热情所在。再说就是做机器学习,也得先定个领域啊。按我的知识结构和热情所在,我想玩玩嵌入式操作系统,想写写嵌入式OS。但这东西似乎不好发文章啊,想灌个SCI一区二区的水,太不容易,想灌个三区四区的水,还得往物联网上靠才行。现在是摩拳擦掌想煮米,但还没有找到锅。

有点跑题了,还是说回Emacs和Vim吧。我觉得最终投奔Emacs还是投奔vim,和性格有关。我用Vim时,觉得心不静,用Emacs却有心静如水的感觉。虽然Emacs按键繁琐一些,都是key chain,但架不住你爱她啊。

不用纠结用Emacs的人少,用Vim的人多,Sublime的UI更友好等这类问题,都是shit。用Vim的人虽多,其中很多人都是像用windows记事本一样在操作光标呢,所以他们觉得vim还没有windows notepad好用。

还有,不要纠结Emacs代码补全不好用什么的,别人只是一个编辑器,你为什么要用IDE的标准来要求它呢?让我用IDE我还不习惯呢,上半年在公司时,同事让我用intellij idea,这号称最好的java IDE老偷偷摸摸在后台建索引占用我的CPU资源,我敲字的时候,老弹出补全候选项,干扰我的思路。还有写个scala文件,只要有main入口,你右键一点就能运行了,凭什么?你凭什么替我做这些工作,我不知道你给java命令行传递了哪些参数,你只会让我变懒,让我依赖你。我写了测试用例,用mvn test,照样能测试我的程序,为什么用你呢?

果断删除,我就要用Emacs和mvn命令行来做项目,我就要装逼,就是这么任性。再说我又没耽误工作。

用什么工具来做事,也是个性使然吧,就像我喜欢开手动档汽车,不喜欢开自动档汽车一样。

现在和八年前相比,我有什么长进呢?八年前我还和师兄弟打DOTA,现在不碰游戏了。时光一去用不会,往事只能回味,浪费的时间永远追不回了。就像我东搞搞西搞搞,频繁地换工作,到现在不可能再有大的做为了,只能安心做个平凡人了。

打游戏浪费时间,折腾工作环境也是浪费时间。我现在也很少折腾Linux环境了。环境折腾得再标新立异,也不代表你水平多高。把做正事的时间挤没了,有什么用。这都是很浪费时间的事情。上次我升级了一下自己的ArchLinux,结果无线网卡怎么也支持不了,自己编译的无线模块也加载不了。果断回滚到我升级之前的状态。这样又可以工作了。换作过去,我非得花个一两天时间把这个问题解决了。这就是说,年纪大了,玩不起了。

用Emacs的这些年的更多相关文章

  1. 的vim和emacs常用配置记录

    因为经常改变工作环境,所以在这里记录一下我的.vimrc文件和.emacs文件的内容. vimrc的配置文件,主要是设置语法高亮,和tab键的宽度,个人喜欢设置为4个空格的分量. " set ...

  2. IntelliJ添加Emacs编辑器

    Intellij只支持emacs as a external tool: https://www.jetbrains.com/help/idea/2016.2/tutorial-using-emacs ...

  3. ubuntu 下emacs 配置

    (set-language-environment 'Chinese-GB) (set-keyboard-coding-system 'utf-8) (set-clipboard-coding-sys ...

  4. 我的emacs配置

    我的emacs配置文件 ;; .emacs ;; ============================== Basic Configure START ====================== ...

  5. Emacs 配置文件

    以下是我整理的 emacs 配置文件,供刚开始玩 emacs 的同学参考.网上有人说:emacs 是神的编辑器,如果能够用到这样的编辑器,那这个人就是神了.从我个人的经验来看,emacs 是一把利器, ...

  6. [emacs] 使用ggtags浏览代码

    [emacs] 使用ggtags浏览代码 // */ // ]]>   [emacs] 使用ggtags浏览代码 Table of Contents 1 相关的连接 2 global简介 2.1 ...

  7. Emacs学习心得之 LaTeX编辑

    目录 1. 前言 2. texlive的安装 3. AUCTEX的安装和配置 4. RefTEX的安装和配置 一.前言 本篇博文记录了Emacs下LaTeX编辑环境的搭建,参考一下文章: http:/ ...

  8. 创建.emacs.d目录和.emacs文件

    1.双击bin下的addpm.exe 2.HKEY_CURRENT_USER->Software->GNU->Emacs 新建字符串值HOME,数值数据为emacs的安装路径 3.创 ...

  9. MAC emacs下安装php-mode

    在某一个个页面(抱歉不记得了), 比较了三个配置,php-mode, php-mode-improved, xnhtml. 作者在比较后推荐xnhtml,但在xnthml官网下载链接一直显示403,真 ...

  10. eclipse下的emacs风格快捷键

    Ieclipse emacs类快捷键 win + shift + b 切换设置断点 win + shift + f 格式化代码 win + shift + l 显示绑定的快捷键 win + shift ...

随机推荐

  1. centos 7 修改系统屏幕分辨率

    centos 7 修改系统屏幕分辨率,命令方式和图形方式的修改方法. 命令:xrandr 通过命令 xrandr 修改系统的分辨率,输入xrandr: bash [admin@localhost ~] ...

  2. ionic3.x开发小坑记录(一)

    自定义font的时候,在assets中创建的文件夹名字别用fonts,会与ionic默认样式冲突,在浏览器中调试是正常的,到手机上就出问题了. 在html中写img的src直接如图  assets前面 ...

  3. Essential Phone PH1官方刷机方法

    Essential Phone官方有两种包 一种是ota包,即sideload线刷使用的包.但此刷机方法只能ota升级,不能降级. 另一种是Images包,即fastboot线刷使用的包.这种方法可以 ...

  4. BZOJ1782[USACO 2010 Feb Gold 3.Slowing down]——dfs+treap

    题目描述 每天Farmer John的N头奶牛(1 <= N <= 100000,编号1…N)从粮仓走向他的自己的牧场.牧场构成了一棵树,粮仓在1号牧场.恰好有N-1条道路直接连接着牧场, ...

  5. HDU-2087-KMP-水题

    纯KMP #include <cstdio> #include <algorithm> #include <cstring> #include <ctype. ...

  6. 【HDU 1021】Fibonacci Again(找规律)

    BUPT2017 wintertraining(16) #5 A HDU - 1021 题意 There are another kind of Fibonacci numbers: F(0) = 7 ...

  7. 洛谷 P1110 [ZJOI2007]报表统计 解题报告

    P1110 [ZJOI2007]报表统计 题目描述 \(Q\)的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小\(Q\)希望可以帮妈妈分担一些工作,作为她的生日礼物之一. 经过仔细 ...

  8. py3+requests+re+urllib,爬取并下载不得姐视频

    实现原理及思路请参考我的另外几篇爬虫实践博客 py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图:http://www.cnblogs.com/UncleYong/p/6892688. ...

  9. git 28原则

    一.流程 $ git init # 创建一个新的仓库 sublime 编写文本,不要使用win自带文本编辑器 $ git add file1 # 将文件添加到暂存区 $ git add file2 $ ...

  10. Ubuntu中让归档管理器支持rar和7z格式

    由于版权等原因,Linux系统不能直接支持rar和7z,需要手动安装第三方工具. rar支持 sudo apt install unrar 7z支持 sudo apt install p7zip-fu ...