一年成为Emacs高手(像神一样使用编辑器)

作者: 陈斌(redguardtoo)

更新时间: 2012-02-10 五

原创时间: 2012-01-31 周二 15:08

很容易.一年多前我还在Vi阵营,偶尔使用Emacs还总是忘记`退出`(C-x C-c)的快捷键,但是一年后我跨入高手行列.

现在网上很多中文文章都是和你强调Emacs有多牛,以激发你的兴趣.最有名的大概是王垠的Emacs是一种信仰!世界最强编辑器介绍.

这些好文章让你激动,你因此定下来一个伟大崇高的目标(掌握神一样的编辑器Emacs),接下来的关键就是执行了(如何高效地学习Emacs).

国内关于"如何做"的文章不多,那些涉及到"如何做"的文章,涉及细节比较多,而谈一般方法论的较少,所以本文的重点就是谈谈一般方法,

Table of Contents

  • 1 为什么要学习Emacs(可选)
    • 1.1 和单纯的IDE比较,Emacs可以做的更多更快
    • 1.2 使用Emacs可以立刻开始工作.
    • 1.3 一年指的是充分利用空闲时间,一年后自然水到渠成
    • 1.4 态度决定一切
  • 2 读官方教程
  • 3 以兴趣和急需解决的问题作为切入点
  • 4 在twitter上以"emacs :en"定期搜索
  • 5 在google plus上搜索emacs相关内容
  • 6 订阅Emacs牛人的博客
  • 7 在stackoverflow上搜索emacs相关的讨论
  • 8 github是我的新欢
  • 9 使用google快讯
  • 10 将emacs配置管理起来
  • 11 将emacs相关资料管理起来
  • 12 订阅EmacsWiki
  • 13 到youtube上看emacs相关的视频
  • 14 站在巨人的肩膀上
  • 15 认识到Emacs是一种生活方式
  • 16 小结

1 为什么要学习Emacs(可选)

简单谈谈,因为我本文的重点是"怎么做",而不是"为什么".

1.1 和单纯的IDE比较,Emacs可以做的更多更快

这里的更多并不是和IDE比支持某编程语言的特性更多,而是指Emacs内可完成的通用的任务比较多更快捷.

例如,我做开发时碰到难题,需要实时上IRC请教国外高手(工作流包括粘贴我的代码到pastebin或者gist,在irc内提问,看网页,将解决方案粘贴回来),emacs集成了IRC工具和浏览器(w3m),操作就很方便.

我使用Visual Studio有11年了,Firefox使用我也是高手,相信我,大多数情况下还是Emacs更快.

当然口说无凭,请看以下两段高手操作的youtube视频:

  • Writing PPT with org-mode and beamer in Emacs
  • Emacs Power: Can your editor do THIS!

1.2 使用Emacs可以立刻开始工作.

软件是开源的,配置是纯文本,而且软件的资源消耗较小,安装包很小(命令行版本的安装包30M左右),所以在任何环境下我都可以用Emacs开始工作,overhead很小.

这在大项目中特别明显,例如,某项目我需要同时编辑perl,java,C,bash,SQL,需要远程编辑在美国服务器上的代码,网速也不是很快.Emacs的优势就体现出来了.

1.3 一年指的是充分利用空闲时间,一年后自然水到渠成

我没有说一年内必须什么事也不干专门学Emacs,悬梁刺股没有短期利益回报的学习方法是我最反对的.

我赞成的方法是,开始阶段花极少的时间得到巨大的回报(如下文谈到的Org-mode),以兴趣做导向.

每天花多少时间取决于个人需要和如何管理,以我为例,每天八小时上班时间中有很多零碎时间可以利用,上下班通勤时间有一个小时可以利用.

1.4 态度决定一切

长期来说你能取得的成就是由态度决定的.

优秀人士的两个特点:

  1. 勇于接受新事物
  2. 追求更强的过程本身就是目的;

2 读官方教程

打开Emacs后,按Alt-x,输入help-with-tutorial,回车.

第一步,仅需要半小时.关于Emacs的多难学的谬论可以休矣,因为半小时的代价微不足道.想想你去年有多少小时白白虚度了吧.

3 以兴趣和急需解决的问题作为切入点

因为如果微小的努力能得到巨大的回报,你就会越学越有乐趣,进入一个感情上的正反馈.

长期来说,在任何领域要成为高手,兴趣是最重要的.

以我为例,我急需GTD的工具,emacs的而org-mode是世界上最好的GTD工具(没有之一).在使用org-mode大大节省了时间后,对于emacs爱屋及乌,兴趣高涨了100倍.

4 在twitter上以"emacs :en"定期搜索

twitter人多,更新结果快

5 在google plus上搜索emacs相关内容

google plus技术geek比例高,我推荐Xah Lee,他的个人网站为李杀网. Xah Lee有在googleplus上有两个账户,我建议使用我推荐的帐号.

6 订阅Emacs牛人的博客

最好的是Planet Emacsen,是多个Emacs博客的集合

7 在stackoverflow上搜索emacs相关的讨论

google "emacs-related-keywords site:stackoverflow.com"

我会定期搜索,同样的帖子反复精读.因为stackoverflow上的讨论质量很高.

8 github是我的新欢

github的版本控制服务很好.现在它的社区化倾向越来越强了,我喜欢.

例如,可以看一下https://github.com/languages/Emacs%20Lisp上最酷的Emacs插件.

9 使用google快讯

每周一次给我邮箱发一次摘要,仅限最佳结果.这样的话信息质量可以得到保证

10 将emacs配置管理起来

我将emacs配置纳入github的版本控制,见https://github.com/redguardtoo/emacs.d.

版本控制可以是认为一个集中式的知识管理,任何时刻任何地点对Emacs配置的修改都要及时上传和合并(merge).这点对于个人能力的长期积累很重要.

11 将emacs相关资料管理起来

我将我收集的所有Emacs相关资讯都放在dropbox的服务器上,然后用dropbox的软件同步资料到我的智能手机和我的IPad上,这样我可以充分利用空闲时间学习.

我目前在读<An Introduction to Programming in Emacs Lisp by Robert J. Chassell>和<Writing GNU Emacs Extensions by Bob Glickstein>.

请点击这里注册dropbox帐号.注意,dropbox客户端完全可以在国内使用,虽然访问其首页可能有点问题.

12 订阅EmacsWiki

EmacsWiki是一个社区维护的Emacs文档,可以认为是最酷插件和最佳实践的集合点.

13 到youtube上看emacs相关的视频

例如,我就是看了Google Tech Talks上这个Org-mode作者的介绍而爱上org-mode.

14 站在巨人的肩膀上

这方面我是个负面榜样.开始阶段我还是抱着玩的心态,喜欢到处找有趣的配置粘贴到我的.emacs中去.

完全是浪费时间!

我应该一开始就照抄 世界级大师Steve Purcell的emacs配置(注意,支持Emacs23.1及更高版本)

我请求你不要重复我的错误,不要质疑,不要创新,跟着Steve Purcell做.

顺便说一下,Steve Purcell的配置需要git才能下载,这意味着你需要安装git和cygwin(限于windows平台).这是买一送二,我又给你介绍了两个高手必备的世界级工具.

考虑到我的热情会被认为是传销,而我的严密逻辑和事实论证可能被忽视,我有必要简单明了地说明推崇Steve Purcell原因:

  • 已有很多人推荐他的配置(请google)
  • 能力出众,背景相当好(我已调查过他的Linkedin Profile)
  • 人近中年,心智相当成熟(例如,他只在Mac下使用Emacs24,但是能够根据我在Linux/Cygwin下使用Emacs23的需求做调整).
  • 工程经验相当丰富(看他的代码一目了然)
  • 勇于求新,不断再尝试新插件,在他这个年龄极为突出

以上事实在我给出的网址中稍作调查即可得知.

15 认识到Emacs是一种生活方式

如果你照着我以上的做法做,就可以认识到Emacs牛人其他也很牛.Emacs实际上体现了牛人的一种生活方式.

像那些牛人一样思考,像那些牛人一样做事,不要怀疑,不要犹豫,很快你就会发觉自己也开始有些牛人的气质了.

例如,Sacha Chua就是这样一个有牛人气质的女孩,这是她的Youtube录像.

更直白地说,我认为Emacs不仅仅是一种工具,它可以提升人的素质,让人学会谦卑.

至少对我而言,当我明白了Emacs的其朴素的设计思想和其强大的功能后,我的感觉是敬畏,因为我做不出这样的软件.

我既没有能力把一个编辑器设计成一个人工智能语言Lisp的平台,也不可能花30多年的时间对一个软件精益求精.

16 小结

看到这里你应该很清楚了,我的方法就是以兴趣作为切入点,以天才作为榜样,大量阅读,大量练习.

如果你想获得真才实学,想变得更强,变得更优秀,这就是唯一的方法,唯一的捷径.

这个方法不是我发明的,古往今来的杰出人士都是这么做的,如果你需要一点"更科学的"论证,请参考一万小时天才理论.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

七种常见的核酸序列蛋白编码能力预测工具 | ncRNAs | lncRNA

注&#xff1a;这些工具的应用都是受限的&#xff0c;有些本来就是只能用于预测动物&#xff0c;在使用之前务必用ground truth数据来测试一些。我想预测某一个植物的转录本&#xff0c;所以可以拿已经注释得比较好的拟南芥来测试一下。&#xff08;测试的结果还是比较惊人的&a…

android预览界面编译出错,Android O预览findViewById编译错误

我试图测试Android O Developer Preview的第二阶段。 项目创建后&#xff0c;我只是点击了构建并运行但我没有任何成功。Android默认生成的代码如下&#xff1a;Toolbar toolbar (Toolbar) findViewById(R.id.toolbar);发生编译错误。Error:(18, 37) error: reference to find…

中断与异常的区别

中断&#xff1a; 中断是CPU&#xff08;硬件&#xff09;所具备的功能 &#xff0c;它是指系统停止当前正在运行的程序而转向其他服务&#xff0c;可能是因 为优先级高的请求服务了&#xff0c;或者是因为人为安排中断。中断是属于正常现象。主要由CPU以外的事件引起的 中断…

寒武纪找到了引领中国AI芯片走向世界的路

大约6亿年前在地质学上被称作“寒武纪”的时代&#xff0c;大量无脊椎动物在短时间内出现“生命大爆发”。如今&#xff0c;“寒武纪”这个名字再次被人们提及&#xff0c;它源自中科院计算所研发的人工智能芯片处理器的命名&#xff0c;意喻人工智能即将迎来大爆发的时代。“寒…

浅谈PPM (Project Portfolio Management)

前言&#xff1a; 本文以纯理论性的PPM讲解为主&#xff0c;不会涉及到具体如何实施&#xff0c;我会在以后介绍详细的PPM实施方案介绍。 PPM&#xff0c;可能很多人并不清楚甚至可能没听说过&#xff0c;这是一个近些年才流行起来的概念&#xff0c;是Project Portfolio Mana…

poj 3071 Football

http://poj.org/problem?id3071 2^n 支足球队比赛&#xff0c;共比n场&#xff0c;第一场1号与2号比&#xff0c;3号与4号比…… 每场胜出者进入下一场&#xff0c;输者淘汰 每一场都是相邻的两个队伍比拼 已知任意两个队伍比拼获胜的概率 求最后哪只队伍获胜的概率最大 dp[i]…

进程调度与作业调度

进程调度是真正让某个就绪状态的进程到处理机上运行&#xff0c;而作业调度只是使作业具有了竞争处理机的机会。进程调度&#xff08;又称微观调度、低级调度、短程调度&#xff09;&#xff1a; 是按照某种调度算法从就绪状态的进程中选择一个进程到处理机上运行。负责进程调…

tensorflow源码安装

主要参考&#xff1a;https://www.tensorflow.org/install/install_sources#ConfigureInstallation卸载tensorflow sudo pip uninstall tensorflow 安装git 安装git时记得先安装&#xff0c;后更新系统 sudo apt install git安装jdk8: myubuntu:~$ java myubun…

Makefile学习之通配符和自动变量

规则中的通配符 “*” &#xff0c;“&#xff1f;” &#xff0c;“ [...]”, " % " , " wildcard " 1.“*” *.c表示所有后缀为.C的文件&#xff1b; 如果文件中用到通配符&#xff0c;使用“\*”; 2.通配符在变量中的使用&#xff1b; objects*.c 注意…

英语中十二个月名称的由来

转自网络&#xff0c;原出处不详。 公历一年有12个月&#xff0c;但不少人并不知道12 个月的英语名称的来历。公历起源于古罗马历法。罗马的英语原来只有10 个月&#xff0c;古罗马皇帝决定增加两个月放在年尾&#xff0c;后来朱里斯*凯撒大帝把这两个月移到年初&#xff0c;…

进程和程序的关系

1 进程是一个动态概念&#xff0c;而程序是一个静态概念。 2 进程具有并行特征&#xff0c;程序没有。 3 进程是竞争资源的基本单位。 4 一个程序对应多个进程&#xff0c;一个进程为多个程序服务。

Android怎么插手机卡,魅蓝E手机卡怎么装 魅蓝E手机SIM卡安装图文教程

昨天下午&#xff0c;魅族发布了全新系列魅蓝手机——魅蓝E&#xff0c;定位魅蓝高端产品线&#xff0c;售价1299元&#xff0c;李楠号称魅蓝E采用三四千元的旗舰机工艺&#xff0c;外观/屏幕/拍照提升明显。此外&#xff0c;魅蓝E依旧支持全网通双卡双待。那么魅蓝E怎么插卡/装…

快速幂总结

快速幂总结 快速幂这个东西比较好理解&#xff0c;但实现起来到不老好办&#xff0c;记了几次老是忘&#xff0c;今天把它系统的总结一下防止忘记。 首先&#xff0c;快速幂的目的就是做到快速求幂&#xff0c;假设我们要求a^b,按照朴素算法就是把a连乘b次&#xff0c;这样一来…

第三章

一.项目前期的主要工作 1.现状分析 ①.硬件分析 ②.软件分析 2.需求收集 3.粗略设计 ①.体系结构分析 ②.硬件&#xff08;网络&#xff09;设计 ③.应用系统设计 ④.安全设计 ⑤.配套设计 4.可行性分析 二.结构的项目前期实例 1.组织分析 3.需求收集 4.粗略设计 ①.系统体系结…

进程的静止和活动状态

进程有3个主要状态&#xff0c;即就绪&#xff0c;执行和等待。当一个进程被创建的时候&#xff0c;处于就绪状态&#xff0c;严格地说是静止就绪状态&#xff0c;等到被激活&#xff0c;该进程就处于活动就绪状态&#xff0c;如果时间片轮到该进程&#xff0c;那么该进程就执行…

荣耀magic3会用鸿蒙,赵明:荣耀Magic3芯片领先行业,大家看到以后会换掉手机!...

荣耀CEO赵明亲自参加高通2021技术峰会&#xff0c;宣布与高通达成战略合作&#xff0c;未来全系产品采用高通平台。赵明同时透露未来的产品动向&#xff0c;不排除未来与华为继续合作&#xff0c;采用鸿蒙操作系统的可能。赵明表示&#xff0c;Android操作系统依旧是荣耀的首选…

公司里从员工到经理,不同层级应该关注的事情

最近在看《领导梯队》&#xff0c;超级棒的一本书&#xff0c;受益匪浅&#xff0c;推荐给各位从事管理方向的朋友 第一阶段&#xff1a;从管理自我到管理他人&#xff08;leader级&#xff09;   新员工工作的最初几年是个人贡献者。无论他们从事的是销售、会计、工程或是市…

继续教育学习脚本

/* 本脚本运行于浏览器conlose中&#xff0c;自动点击“继续学习”按钮&#xff0c;以实现阻止视频的暂停 */ (function(){ var getStylefunction(obj,styleName){ if(obj.style){ return obj.style[styleName]; }else if(obj.currentStyle){ …

三周第三次课 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

3.7 su命令1、su命令su命令是用来切换用户的&#xff1b;su命令需要使用- 进行切换&#xff0c;如果不使用- 也可以&#xff0c;但当前目录是在root下&#xff0c;没有彻底切换在root下 使用su命令创建文件&#xff0c;以指定用户的身份创建文件切换后显示-bash-4.2因为user5的…

js中加载指定的html代码,在js或JQuery中怎样判断页面html代码中含有指定名称的div元素...

在我们制作网页的过程中&#xff0c;想要在某个页面中的某一元素中添加新的内容&#xff0c;而不想改动那个页面,我们一般会直接在全局的jsz中直接加入document.getElementById("指定id")来给定指定元素新的内容,但在一些页面中没有指定id的div元素浏览器就会报错&am…