首页 > IDE, 初级 > Emacs才是世界上最强的IDE - 序言

Emacs才是世界上最强的IDE - 序言

2009年11月11日 ahei 发表评论 阅读评论

读书的时候, 我们实验室的一位同学经常在摆弄emacs和vim, 跟我说他们是如何如何的强大, 当时我正在摆弄让我神魂颠倒的计算机象棋, 就没有去学emacs. 毕业之后, 很幸运的来到一个安全公司做搜索引擎开发, 由于我们是在linux下开发, 而我们组长是用emacs开发, 所以我们小组也基本都用emacs开发, 因此我也就开始了我的emacs之旅.

没想到一去不复返, 我被emacs深深的迷住了, 这是继计算机象棋之后, 第二个令我深深着迷的东西. 到目前为之, 我使用emacs整整3年, 这三年一直都用emacs做开发, 包括c/c++/elisp/java/shell/ruby, 花了很多时间去弄emacs, 但是我相信付出是值得的, 因为我相信一个好的工具能极大的提高工作效率.

由于亲身感受emacs的强大, 所以经常向朋友们推荐emacs, 不过当我向他们推荐emacs的时候, 一般有两种情况, 不知道emacs的, 问emacs是什么, 知道emacs的说, emacs不就是一个编辑器吗, 在这里, 我想大声的告诉他们, emacs才是世界上最强大的IDE!!!

那我为什么说emacs才是世界上最强大的IDE呢? 我有什么依据吗?

我们先来看看强大的IDE应该具备哪样的强软素质.

我认为, 一个强大的IDE至少在以下几个方面做的强大, 才能够称的上是强大的IDE.
基本功能:

  • 打开文件和切换buffer(即一般的IDE中切换已经打开的文件)
  • 基本编辑
  • 阅读
  • 光标定位
  • 查找
  • 按键(即windows下常说的快捷键)与命令
  • 帮助系统

高级功能:

  • 代码折叠
  • 矩形区域
  • javadoc和doxygen的自动生成
  • 代码补全
  • 代码浏览
  • 编译和调试
  • 版本控制
  • 模板
  • 日常生活
  • 定制和扩展
  • 其他一些小的高级功能

接下来, 我会分几个系列来讲emacs的这些方面.

已完成的系列:

敬请期待:

分享家:Addthis中国
GD Star Rating
loading...
Emacs才是世界上最强的IDE - 序言, 8.9 out of 10 based on 13 ratings 标签:buffer, c/c++, C/C++, CEDET, cursor, cursor-change, ede, ediff, Elisp, emaci, Emacs, highlight, highlight-symbol, IDE, java, linum+, linum-plus, linux, lisp, screenshot, se, select-buffer, snippet, term, vi, vim, w3m, windows, yasnippet, 代码折叠, 代码补全, 光标, 安装, 定制, 开发, 扩展, 按键, 搜索引擎, 模板, 比较文件, 编译, 自动补全, 行号, 补全, 调试

相关日志

分类: IDE, 初级
  1. bigclean
    2009年11月13日12:09 | #1

    很期待下文,看过你的googlecode里面的一些配置,很精彩。

    [回复]

    ahei 回复:

    呵呵, 谢谢支持. 不过不要太急啊, 最近在狂学Emacs, 有好多想法, 想要写出来

    [回复]

  2. bigclean
    2009年11月13日23:04 | #2

    emacs自己这个学期也是疯狂的学习中,非常喜欢,不知有无计划介绍计划介绍gnus(mew),emacs-w3m,emms,auctex这些使emacs成为os的套件。自己也有计划写文章介绍emacs,还是由于学期时间太紧未遂。期待博主可以更新文章学习交流。

    [回复]

    ahei 回复:

    gnus我还没用过,不过据说很强大,准备最近学习一下, 主要是以前不太上新闻组, 看email的频率也不大, 就没学了, 最近常上水木, 所以准备学习一下.
    w3m的话, 我用过一段时间, 虽然用起来非常方便, 但是毕竟好多有css的都不能显示的好看, 所以我现在基本没用它, 其实我想, 要是Emacs下有个能自己做图形渲染的浏览器就好了, 不过到时候如果时间够的话, 也会介绍一下w3m.conkeror这个gui浏览器模仿Emacs的操作, 挺不错的,你可以试试,它一开始是firefox的一个插件, 现在脱离firefox了, 不过firefox下的插件基本上它都能兼容使用.
    emms嘛, 我不怎么听歌, 没用过,:)
    关于LaTeX, 呵呵, 不好意思, 我很少用到, 所以auctex也就没用过了.
    我主要是就我熟悉的内容介绍一下Emacs的强大, 另外主要是Emacs在编辑,开发方面的功能.当然Emacs其他的强大的功能,我熟悉的话, 也会介绍的, 比如dired.
    我到时候准备写个类似total commander的包, 不过, 这个计划排在很后面啦, :lol:

    [回复]

  3. bigclean
    2009年11月14日00:26 | #3

    gnus应该是很想当强大而复杂,只是在win上没配只成功过,因此后来在win上用的mew,它的配色还真是舒服,功能也很强大,主要是用来接收googlegroups的邮件,后来发现还是web端合适,filter总是不完美。国内的usenet还真是不多,叹息。
    w3m还是蛮实用的插件,自己用muse或是org写完文章生成html,直接用w3m浏览下,还是很方便的。conkeror不是很喜欢,这方面是不如vimperator。
    emms自己配置的比较多,倒是请教过其中的一个作者,帮助很大,自己也写过一篇相关的文章。
    latex自己写一些文章还是会用用,排版效果的确好。
    dired自己用的比较少,都是用资源管理器解决,tc也有安装,但基本只是用来编辑环境变量,很浪费。
    感觉在win上用emacs真是更折腾,相应的工具(w3m,mplayer,stunnel)都要自己安装,你主要用的emacs是远程的工作机吗?

    [回复]

    ahei 回复:

    哈哈,看来你也是夜猫子啊
    我dired用的还是挺多的
    因为机器上好多资料,经常要去找
    我因为emacs字体难看,配置麻烦,就一直是远程使用emacs,现在配置搞定了,回家就用emacs windows版本,
    在公司的话是在Ubuntu下用emacs, 由于emacs gui版本支持的颜色丰富, 而且我也把fixedsys字体配置成功了, 所以我现在主要是在Ubuntu下使用emacs gui版本, 我的emacs截图以后基本上是在Ubuntu下截.在windows下用emacs有点暴殄天物啊, multi-term害的我用不了,find-grep也不能用(懒的配) :)

    [回复]

  4. bigclean
    2009年11月14日01:02 | #4

    自己的资料基本还算有条理,因此整理还算方便,dired在win上打的折扣很大。
    关于字体的设置,emacs真的是最优秀的,自己分别为英文,中文,日文和韩文设置了不同的字体,想当的方便。
    最近又安装了debian,总算linux下也可以上网了,emacs的确是比在windows上强大多了。
    multi-term在windows不能用的确可惜,windows下连个好的terminal都没有,偶尔用用eshell,但是好几次碰到管道的问题,后来还是基本用cmd了。
    建议实施gnuwin32+msys(rxvt),cygwin自己实在不是很喜欢。

    [回复]

    ahei 回复:

    恩,Emacs字体确实优秀, 不过总感觉配置麻烦, :)
    我用cygwin, 不过启动很慢, 用的也少.我基本上还是在Ubuntu下用的多

    [回复]

  5. vRussell
    2009年12月9日06:24 | #5

    看了你的blog,我都想要学Emacs了。

    [回复]

    ahei 回复:

    必须的,:),同时我也很高兴我的努力宣传起到了作用。

    [回复]

  6. aax
    2010年2月5日02:16 | #6

    呵呵,看了你的emacs教程,确实挺不错,以前学过一段时间VIM可是没有坚持下来,觉得怎么调都不顺手,今天试试emacs,但是还是觉得贵在坚持

    [回复]

    ahei 回复:

    @aax, 我个人一直觉得兴趣才是学习的最大动力。我开始用linux的时候,越用越觉得它太强大了,特别有兴趣学,从来不觉得累。开始用上emacs后,更是觉得它太强大了,自然兴趣就足,更本不需要坚持去学,自己自然而然的就想去学。如果你对它不是很感兴趣的话,恐怕只有自己去坚持了。我觉得如果你对它不是很感兴趣的话,就要去找一些可能会引起你感兴趣的地方,比如你喜欢的某个功能它特别强大。个人的一点见解, :)

    [回复]

    aax 回复:

    @ahei, 我是很感兴趣,可是平时学习用不到,附近同学也没用的,学的很慢,也很苦恼,呵呵

    [回复]

    ahei 回复:

    很感兴趣就好。要找地方使用阿,比如,你总要写点文档啥吧,文字的话可以使用emacs阿,还可以试试emacs的org。或者你要写程序吧,也可以用emacs阿。还或者,emacs可以做文件管理器,还可以收发email,还可以上twitter,等等等等。而且工作之后,用emacs的也很少。我待过的三个公司,都做linux方面的开发,但是基本上每个公司只有2,3个人用emacs,精通的就更不用说了,用vi的人倒是挺多,但是精通的人也是凤毛麟角。

    [回复]

    aax 回复:

    @ahei, 呵呵,先膜拜下,以后跟踪你博客学了

    [回复]

    ahei 回复:

    呵呵,谢谢支持.

    [回复]

  7. vimerTryEmacs
    2010年2月24日09:52 | #7

    0) 有无对应vim里*;#的搜索功能?就是搜索当前光标所在词。或者怎么用lisp实现吧。。。(我是懒人。。总想找现成的)

    1) emacs有没有对于vim里taglist的东东?就是把一个.c文件里的宏/全局变量/函数在边上都列出来,可以直接搜索/跳转。 speedbar貌似太heavy了,没有taglist好用

    2) emacs有没有内置类似screen的功能?个人经常变换桌面机器,一般都是ssh到linux主机,screen+vim干活,这样万一断网也没事(特别是用无线连接的时候,抱着机器换个房间就断线了)。但screen的命令都是Ctrl+a开头,用emacs就不是很方便。。。

    谢谢。。。

    [回复]

    ahei 回复:

    0. 在Emacs中使用vi的*和#命令
    1. 我对这方面不太感兴趣, 我知道的就speedbar了, semantic还有个可以跳转到指定tag的命令semantic-complete-jump-local
    2. 曾经也用过screen, 但是用了之后觉得screen的快捷键还不是很方便, Emacs下有个multi-term插件, 可以在Emacs里直接用shell, 与直接操作shell基本上是一样, 包括bash那些快捷键C-a C-e都支持, 非常的方便, 然后你可以在shell里面可以直接操作screen. 我的multi-term的配置文件http://code.google.com/p/dea/source/browse/trunk/my-lisps/multi-term-settings.el

    [回复]

    VimerTryEmacs 回复:

    @ahei,

    Thanks!

    用screen主要是想在screen里跑emacs,而不是相反 :)

    很多时候都是在远程工作,希望在server上永远跑着emacs,随时随地可以连上去干活。网络好的时候VNC可以解决这个问题。但如果带宽比较小(比如在家VPN到公司),screen就很有用了。。。

    [回复]

    VimerTryEmacs 回复:

    @VimerTryEmacs,

    我一开始的表述不是很清楚,“emacs有没有内置类似screen的功能?” 我的意思是有没有一个本地的emacs client,可以连上emacs server,即使网络偶然断了,还是可以重新连上,这样的功能。。

    [回复]

    ahei 回复:

    @VimerTryEmacs, 我还是搞不懂你的意思,你ssh到远程的服务器,开个screen,启动好emacs,这时即使网络断了,你过会重新连到服务器上,打开screen,emacs不是还照样在吗?你的意思是不用screen,看emacs有没有这样的功能是吗?emacs23有个类似这样的功能,emacs –daemon启动emacs,emacs会以daemon的形式在后台启动,然后你想编辑文件的话emacsclient file就可以了。

    [回复]

    ahei 回复:

    这个意思阿,那我就不知道了,所以我一直不太喜欢screen,定制的东西还不够多

    [回复]

    transtone 回复:

    @ahei,
    screen当然是早用早受益,一个终端复制器而已,想定制什么呢?
    俺用的是byobu,一个screen前端。

    [回复]

    ahei 回复:

    我很少使用screen,主要是基于这个原因,简单的,我用nohup就行了,复杂点的,比如emacs,那些键又被screen给劫持了,本来emacs下我需要的键就很多,所以就不太想给它了,而且我的环境出现断网的情况也不多

    [回复]

    匿名 回复:

    @ahei,
    screen 可以定制 prefix key binding

    [回复]

    ahei 回复:

    我知道是可以定制的,那点定制性screen还是有的,不过不还是占用了一个键嘛,emacs的按键本来就很紧张阿

    [回复]

    transtone 回复:

    @ahei, prefix key我是换成 C-l 来用的,这样右手用起来很方便,也避免胃和其他快捷键冲突。

    [回复]

    ahei 回复:

    C-l默认的是emacs的刷新键,很常用阿

    [回复]

  8. vmlinz
    2010年3月2日12:11 | #8

    你的blog很不错,我这里的同事看到notepad++和vim就惊为神器了。我也很难向他们推广emacs,他们用windows比较多。emacs在windows上就是残废。。。

    话说你的emacs配置文件那么多,启动要多久?我把所有的东西都放在一个文件里,就为启动快点。用过一段时间emacs daemon但是cpu占用老有问题。我的版本控制基本只用git

    [回复]

    ahei 回复:

    谢谢支持!
    也还好了,虽然Emacs在Windows下失色不少, 但还是很不错了.
    我的Emacs启动也还好了, 不慢的, 而且每天也只要启动一次啊, 慢点也无所谓了.
    你把所有的配置放在一个文件和分开来放其实启动速度是一样的.

    [回复]

  9. 2010年3月10日09:16 | #9

    强烈建议你用下org mode,和Muse

    [回复]

    ahei 回复:

    @fangzhzh, 呵呵,一定

    [回复]

  10. 2010年4月10日15:24 | #10

    以前一直用vim,直到到上家公司里,头儿用emacs做一切事情,劈里啪啦的有时候我眼睛都跟不上他都做了什么操作….然后就膜拜emacs,然后就一直强迫自己用emacs,却发现自己总是那么菜,主要是小拇指非常不灵活 :roll:

    [回复]

    ahei 回复:

    呵呵, 多用就好了, 贵在坚持

    [回复]

    暄子 回复:

    @ahei, 昌平? :-o

    [回复]

    ahei 回复:

    @暄子, what?

    [回复]

评论分页
1 2 34240
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: