emacs编程
❶ 使用vim或emacs开发程序真的比IDE效率高吗
并不绝对。vim 和 emacs 要想比 IDE 效率高,至少需要几个前提:
对开发的语言很熟悉。包括程序本身的执行和调试工具等等。IDE 也是调用这些工具,但通常会把它们整合到一起,甚至在它们之上做些 interface 的工作。这方面很难说哪个效率高,但 IDE 的学习成本较低
熟悉 vim 或 emacs 本身。因为它们本身的优势就是灵活可定制,如果你用不来,那肯定不如用别个已经定制好的 IDE
现在的 IDE 通常都比较简单易用,而且功能也比较多。除非你要对代码做相当复杂的更改,否则不至于比 vim 之类的工具慢太多。它们的缺点是太重,启动 vim 一般只要1秒甚至更少,而启动 IDE,即使固态硬盘可能也得半分钟到一分钟。
如果你只用一种编程语言,一个 IDE 可能就不错。但如果你同时要用几种语言,那么每种语言可能都要一个 IDE,可能就不那么方便了,如果只是看看代码或做少量更改就更是如此。
IDE 好还是 vim & emacs 好取决于使用者自己的感觉。因为现语言变化比较快,所以完全熟悉一个语言,或者一个个的配置 vim 成本也比较高。个人感觉还是看需要,如果值得在这个语言开发上做长期投入,用 vim 会有一定的好处。不然 IDE 就可以了。
❷ 为什么选择Emacs
简单的说,因为不能用hidemaru(秀丸)。
是不是应该先介绍一下秀丸?日文环境以外的场合好像很少见到它被人提起,日文界面的缘故吧,其实也有英文版的。秀丸是一款由日本人开发的Text Editor,功能丰富,Tab栏、自定义语法配色、Tag jump等常见功能就不提了,支持多种文件编码以及自动匹配,匹配优先度也可以调整。(有这个功能的编辑器不多,当然需要这个功能的用户也不多…)最大的亮点是支持预编译指令的解析,即可以对#if…#endif、#ifdef…#endif之间的代码高亮显示,如下图,无效代码都变成了绿色(为了容易看清嵌套关系,缩进了一下)
至于Emacs的其他功能,太多了不知道该说哪个,常见编辑器有的它都有,常见编辑器没有的它也有。一个特别吸引我的是,Emacs可以为不同文字(比如英文/中文)设置不同的字体,还可以为不同部分文字(比如代码部分/注释部分)设置不同字体,有这功能的编辑器还真不多。最重要是可自由定制,这点太重要了,有自由定制的特性,使它生出了无数的功能,上面提到的预编译解析、字体设置什么的,正是因为可以自由定制才得以诞生的。
这里有个展示Emacs魅力的视频集,值得一看:Emacs Power_ Can your editor do THIS
Emacs被每个用户定制后,由众多用户开发出来的各种新功能多到无数,所谓要学Emacs就是说要学这些扩展出来的功能,还要从中选择适合自己的,有时候发现bug需要自己解决,这又要学elisp语言,总之是,很折腾。
选择Emacs,大概就是因为功能丰富,可定制,写新功能或调查bug不用像Sakura那样要看全部的源码,在Emacs这只要关注几十行几百行,而且其所用的elisp函数型编程语言不需编译,调试方便。
❸ emacs可以用来写各种语言的程序么
Emacs很强大,具有很多功能:收发电子邮件 通过ftp/TRAMP编辑远程档案通过Telnet登录主机上新闻组登陆IRC和朋友交流查看日历撰写文章大纲对多种编程语言的编辑等等。
调试程序,结合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等
我试过C/C++,Perl,Python,php,java 什么的 你自己学学试试看的呀。。
它还可以自己定制,拓展什么的。
❹ emacs编辑器的下载及使用安装问题
win下使用emacs不会是个好选择,但是也看个人喜好。
在xp和win7下使用过emacs,win8如此高大上的系统,没用过。想来emacs在win8下也不会有太大问题。下载区gun的主页就行了,这里有emacs for windows的gun下载主页:
http://ftp.gnu.org/gnu/emacs/windows/
向下拖,最后的列表,建议下emacs24.3版本。emacs的更新是很实在的,不会说像一些国产商业软件一样,屁大点事都弄个更新,eamcs每次更新都会有很大的变化,而且新版本稳定后也更好用。
emacs在win中安装有2中方式:直接下载二进制文件 和 下载源码编译。
一般来说,直接从上面的连接下载编译好的emacs就行了,这个一般是用MGwin在windows下编译的。自己弄的话,下个mgwin或cygwin,手动make编译,但不推荐这么做,挺折腾,各种依赖包,时间也很长。如果真想体验一把,请另行网络,有教程。
eamcs想在win下用的舒坦对新手来说不是件容易的事。不清楚是谁鼓动你在win下用emacs写C的。如果你没有特殊的需求,比如,主要开发工作针对linux,建议你直接使用VS来写VC,方便直接,开箱即用。
emacs是个geek味道很浓的东西,具体体现就是:
没插件啥也干不好
插件安装千奇百怪没有统一的方式,好在24.3的elpa一定程度上缓解了到处找插件的问题,但是治标不治本。
配置过程是在使用elisp编程,门槛相对较高,起码比鼠标点来点去高不少
插件之间存在一些冲突,因为都是爱好者开发的,单个插件可能经过测试,但是这些东西放一块好不好使,只有天知道。当然,知名的插件肯定是没问题的,但是那些偏门的东东,就不好说了。
emacs使用,包括插件自带的说明文档,都不可能有中文支持,纯英文虽然很练水平,但是对一些人,起码是我来说,很头痛。
基本就是这些。不是说emacs有什么不好,都说高手才会使用emacs,所以这个东西,从来都不是对新手准备的,对新人相当的不友好。如果你用过vim,可能会觉着emacs初始的工作方式比vim好太多,起码不会按个esc就啥也输不进去。但是相信我,你被骗了,真的。想让此等神器按你的方式工作,不折腾个欲仙欲死是不大可能了。geek么,就喜欢折腾,如果你是这样的人,恭喜你,你找到了世界上最好玩的玩具,它能从各方面满足你折腾与探索之心,尽情享吧。
如果你还是想用eamcs,体验下这个gnu的拳头产品的魅力,下面可以给点建议:
下载emacs后,请完成最基本的配置,找到.emacs.d和.emacs文件所在位置,这个在windows下很多人一头雾水。如果有疑惑,请网络 emacs中文网。推荐用注册表方式指定home目录。
做好心理准备,最少在一星期之内,你不可能用它开始工作。
花半个小时看emacs toturial。emacs刚启动的欢迎界面上有连接,也可以在help菜单下找到
熟悉了基本,可以去网上点配置贴到.emacs文件中,顺带瞅瞅elisp的尊容,以后要经常和它打交道。在这个过程中,你会见识到emacs在几行elisp代码下翻天覆地的变化,起码表面上看起来,完全就是2个东西。
推荐篇文章:“一年成为eamcs高手”http://blog.csdn.net/redguardtoo/article/details/7222501 想少走弯路,可以严格按照上面说的做。
如果你看了第5条,觉着有道理,请下载牛人的配置,去github逛逛吧,你需要一个gitextension,请自行安装,这个可以帮你在后面方便地管理你的.eamcs.d文件夹。配置新手推荐 emacs-starter-kit或者prelude,它们都在github上,请自行搜索。我用的是第二个,配置比较基础,感觉还不错。
如果你已经会用牛人配置的基本功能了而且还对emacs有很大的热情,可以着手配置C开发环境了。
下面说说emacs下C开发环境的搭建,基本的插件有这几个:
ecb cedet tabbar tabbar-ruler yasnippet auto-complete
分别说说:
ecb,emacs code browser,用于浏览代码,大致看起来是这个样子:
具体安装一言难尽,请多网络谷歌。这个时候网络不一定好使,google相对可靠的多。这个是emacs插件的配置,还缺mgwin,这个要额外配置,添加exec-path。具体请网络,我没配过,我emacs都是org写文档用的,偶尔骚包用eamcs写,回头VS编译。
如果上面的你都折腾过了,你应该会发现新的问题:老子折腾了这么久,为什么感觉还没个VC6+VAX来的实在?问题出在cedet的组件semantic上。它负责进行语法分析,生成tags,显示函数,进行跳转和补全。但是这个东西是基于静态分析的且是纯elisp实现的,效率上可想而知。VS的补全是动态进行的且它本身可以利用编译器的分析结果,所以速度快,补全能力很强。semantic则相反,它不能利用编译器生成的语法分析树,自己扫描静态文件,这个效率可想而知。解决方法么,在linux下有个GCC的修改版本,可以将分析结果借用给semantic,貌似要额外进行一些配置,这样配置过后,semantic就会快很多,起码不会出现打开个C文件,分析半分钟这么夸张。同样的问题出在auto-complete和yasnippet上。它们同样没有编译器分析结果做支持,所以补全基本是基于缩略词的,相当的不智能。这些是emacs作为C开发环境的缺点。
这些问题的出现,并不是emacs本身不够强,实在是没有大厂商的支持,靠一群爱好者进行义务开发和维护,很大程度上限制了eamcs作为IDE上的能力。本身这个也不是大问题,emacs被爱好者称为操作系统,IDE只是人们对它的一个期望罢了,这本来也不是它的强项,通用和扩展性才是它的灵魂。用emacs和VS比C开发效率,这本来就不公平,有本事你也去linux命令行跑跑看嘛。
lz加油吧,每个喜爱emacs并为之付出的人,都会得到回报。不要太过计较一时的得失,emacs绝对是值得信赖的工具,值得你为他付出。这个道理其实很简单:除了emacs,你再也找不出一个程序,能够完全按照你的意愿工作。
emacs的神奇来源于它惊天地泣鬼神的设计理念:编写lisp解释器,解释elisp语言,来制作一个编辑器,这本来就是天才的构想。在emacs的世界里,绝大多数的功能都是lisp函数的求值带来的。任何的按键,都会触发解释器对elisp函数或C函数的求值,运行,然后产生响应的行为。这点可以在eamcs中使用C-h k 来验证,这个快捷键绑定到了describe-key,可以描述你的按键所触发的函数,它的功能和所在的文件,你可以很方便地进入这个文件内部观察elisp实现。emacs根本就是个解释器+脚本语言的黄金搭档。通过elisp编程,你能控制emacs的任何行为,自己编写elisp函数实现一些自动化操作,比如通过一个按键自动格式化当前buffer中的所有代码,编写正则匹配函数并绑定到响应快捷键,这样可以通过按下你绑定的按键序列,让emacs自动隐藏指定的行,比如注释,自动替换选中区域的指定字符序列等等。
总之,emacs无所不能,这个源于它奇思妙想的伟大设计。
以上。
❺ Emacs有什么优点,用Emacs写程序真的比IDE更方便吗
一个IDE无非包括如下一些功能模块:
一个编辑器;
一个编译器;
一个调试器;
其它一些辅助功能,比如用鼠标拖控件。
什么是最好的IDE?那肯定是
最好的IDE = 最好的编辑器 + 最好的编译器 + 最好的调试器有哪个IDE做到这一点了吗?只有Emacs。Emacs可以很方便地调用世界上最牛的编译器(gcc),和调试器(gdb)。也许你会说“Emacs不能拖控件啊”,没错,但在我看,拖控件并不总是一个受人欢迎的功能,至少在系统编程的时候,它毫无用处。
而
且,从学习的角度来说,“用鼠标编程”绝对是一个非常恶劣的习惯,因为这根本就是在逃避学习。“鼠标化的IDE”隐藏了很多学生应该了解的技术细节。鄙学
院的绝大多数学生居然不知道C程序是要编译之后才能运行的,他们以为写好了程序,只要“按那个“感叹号”按钮”就可以了。这就是“鼠标教学”的成果(你肯
定知道C编程这门课不归我管)。Emacs可以帮助你克服“鼠标依赖”,强迫你熟练地使用键盘。
更重要的是,Emacs不只是个IDE,
它是个ICE(Integrated Computing
Environment,这名字是我刚编出来的)。Emacs的设计目标就是,你装了个Unix或者Linux系统,不需要装任何其它软件,只要装一个
Emacs就够了,它能帮助你完成所有的任务。也就是说,除了编程,你还可以用它写论文、做幻灯片、浏览网页、收发邮件、聊天、听歌、看照片、玩游戏……
目前,好像除了直接在Emacs里看电影还不行,其它的都实现了。
Emacs如此“大一统”的设计目标显然有违Unix的设计原则,do
one thing, and do it well. 但好在Emacs是模块化的,它的每一个功能模块都绝对遵循do one thing,
and do it well原则。你不喜欢那些功能,可以不装它。
另外,还是从学习的角度来说,Emacs的学习曲线貌似比其他IDE要长不少,但是你
不必学习VC去写C/C++,
不必学习eclipse去写Java,
不必学习MS-Word去写报告、幻灯片,
不必学习……
一句话,“Everything Emacs”,可以省下大量不必要的学习时间。人生苦短,何必让你的生活被 VC/eclipse/MS-Word 搞得头昏脑胀呢? 简单而强大,本就是计科专业学生和非专业学生应有的不同 。
Emacs
绝对强大,但是否“方便”就不好说了。因为“方便”是一个很主观的概念。反正,作为一个18年的老用户,我肯定觉得方便。其他IDE太无聊了,那么花哨而
庞大的东西,却只适用于应用层编程。既不能用来写论文,又不能做幻灯片,更不能用来听歌、玩游戏。生活也太没有乐趣了。
最后一点,Emacs还是一个巨大的开放社区,在这里你能结识到更酷一些的程序员。
Emacs入门还是很简单的,它自带了一个基础教程。打开Emacs,按 Ctrl-h t , 教程就出现在你面前了。照着它边看边练,英文不太困难的话,一个小时应该可以走一遍了。之后,
Ctrl-h i m emacs就可以调出详细的Emacs使用手册;
Ctrl-h i m emacs lisp intro 可以调出Emacs Lisp入门教程;
Ctrl-h i m elisp 可以调出完整的elisp编程手册。
当然,Google永远是你最好的帮手。
❻ Vim 和 Emacs 分别适合哪些人群优劣势的对比如何
一、Vim是一个类似于Vi的着名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。
Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。
但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器。
二、EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理乍得·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。
自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种是:1984年由Richard Stallman发起并由他维护至今的GNU Emacs,以及1991年发起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持着相当的兼容性。
Emac使用Emacs Lisp,这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。
三、对比:
1、vim内置脚本语言有局限性,emacs的lisp语言更加强大。
2、功能上来讲emacs可以做编辑器以外的很多事情。
比如很多软件都可以使用emacs作为前端。
3、一般来说vim只用作编辑器,或者是一个繁琐的IDE。
虽然vim可以通过脚本干一些别的事情,但是效率上总是不合适的。
❼ emacs是什么
Emacs是一种强大的文本编辑器。高手可以实现全键盘操作编辑文本。
有些文本编辑器如记事本,在用其编辑或写文章、代码时如果要修改,此时要用鼠标。这对于全键盘狂人来说非常影响效率。
❽ 本人编程初学者,EMACS这个软件开进去以后到底在哪里输入代码啊
哪里都可以.
其实, emacs只是个文本编辑器.
❾ 一个编程初学者,是用vs好呢还是用emacs好
这两个都是开发环境,也就是IDE。用什么开发环境取决于你用什么编程语言和工具。VS最适合微软系的语言,例如VC++、C#、VB等.NET语言;emacs虽然适合很多语言,但是是一种较轻量级的IDE,对每种语言的专精度并不高,虽然集成了项目管理、版本控制等功能,但是距离一种专精的大型IDE还是有差距的,只适合需要大量切换编程语言的程序员和项目。因此,如果你只用一种编程语言,那么就去找最适合这种编程语言的开发环境。比如C#用VS,Java用Eclipse,Python用Python(x,y)等。
熟悉linux系统对程序员来说还是很重要的,除了能帮助了解操作系统基础知识外,在服务器端编程与管理、嵌入式开发等领域都是必不可少的。