西城

指尖代码,手上年华

联系 聚合 管理
  20 Posts :: 0 Stories :: 62 Comments :: 0 Trackbacks
在善用佳软上看到一篇文章,介绍的是一款编辑器——SUBLIME。印象不错,下下来试用了一下。功能之强大,简直让我的Emacs也为之汗颜。EMACS,VIM也是跨平台的。但是,就像Windows下很少有人用VIM或EMACS一样,SUBLIME或许会在WINDOWS下流行开来(虽然不会像EMACS和VIM在UNIX和LINUX上那样的流行),或许MAC上也会有不少人用它,但它恐怕是无法在LINUX/UNIX上有多大成就。因为它虽然跨平台,但还是带着太多WINDOWS的东西。而WINDOWS和LINUX/UNIX,是两种完全不同的文化。
开源文化不仅在于开放源代码,更是一种自由的精神。在LINUX/UNIX上,你几乎有无限的自由去做你想做的任何事,修改内核,配置一个独一无二的桌面,甚至完全不要桌面,发明一种新的编程语言,一种新的版权协议,义务翻译英文文档,报告程序bug或者自己修改别人程序的bug.有些事情或许再我们看来难以完成,或者只是一种奢望。但奢望总比安于所得强些,所谓技进乎艺。唯有不断地磨练自己的技术,永无止境,才能达到艺的境界,才能让技艺和自己的生活完美地融合在一起。而不是只会在情人节的时候沾沾自喜地用某种语言输出一句“I love you"。
而LINUX/UNIX给我们提供了一个不断追求技艺提高的平台。这是一个高手云集的世界,你永远不敢说自己是最强者。在不断的竞争中,开源就像微软所说“像癌症一样“不断地迅猛发展。VIM和EMACS就是这种文化孕育出来的最为优秀的产物之一。
为什么它们会被称为神一级的编辑器?因为自由,以及对技术的热爱。一个安装出来要好几个G的virtual studio,在功能上完全比不上几十兆的EMACS和VIM。因为EMACS和VIM只需一些几十K的插件,就能支持你所知道的任何语言。语法高亮,自动补全,快捷键绑定,编译,调试,项目构建,源码阅读……。EMACS和VIM都是公开源码的,你可以自由修改以满足自己的需求,还可以自己写插件,并免费提供给别人,因为一切都与利益无关,有关的只是兴趣,以及分享的快乐。在设计之处,EMACS和VIM就有无限扩展的能力。在VIM里你可以很容易地执行SHELL命令,或者调动系统中任意的程序。在EMACS中,你可以很容易地扩展出普通编辑器所无法具有的功能。源码控制,RSS,邮件客户端,网页浏览,阅读PDF文件或者图片,听音乐,看电影,IRC聊天,记笔记(evernote),wiki,微博(twitter),甚至查看Google Map,画图,玩游戏,又或者管理系统中的文件……
EMACS和VIM是两个极端。VIM是UNIX软件设计的精髓的体现:只做一件事,并且做到最好。EMACS则更像是LINUX的一种代表,丰富多彩,给人以无线可能。但有些东西是共通的:开源,还有人在与编辑器的接触中人与编辑器的共同进步。从某种程度上说,它们确实是神器。
而在WINDOW上,一切的软件,WINDOWS本身,Virtual Studio,UltraEdit,NOTEPAD++,还有这个SUBLIME,呈现的完全是另一番景象。在这些软件的作者眼里,他们的用户都应该是傻子,我给你什么,你就用什么。我把所有的功能都做出来,你为这些功能掏钱。在LINUX/UNIX上,软件开发者开发出来的软件也是他们自己喜欢用的。其实评判一个软件的好坏很简单,那就是看他的作者会不会会用。LINUX在用LINUX,StallMan在用EMACS,微软的开发人员在给LINUX报告BUG。那些WINDOWS上自以为是的程序员高高在上地看着他们开发的软件的用户,以为不开放源码就能永远保持技术的领先。在用户变得越来越懒的时候,自己也会越来越失去创新的活力。
SUBLIME是也是可扩展的,但是和VIM与EMACS有根本的不同。对于一个不开源的软件,不知道有多少人愿意为它写插件。对于一个普通的用户,他最多也只是会去看一眼那些看起来长的要命的选项设定,然后心满意足地去这个“优秀”的软件。对于VIMER和EMACSER则不然,They stay foolish,and they also stay hungry!。谁会满意最开始的那个EMACS或VIM,在常年累月的“折腾”中,手中虽然仍然是一个不太完美的编辑器,但是,眼界和能力,已不是当初的那个新手了。
EMACS和VIM还有另外一个很大的福利:SHELL和LISP。这更是普通编辑器所无法比拟的。有谁会在用SUBLIME的时候PYTHON编程也很快的提高呢?但是要想用好EMACS,你要熟练LISP,要想用好VIM,你要熟练SHELL,这是成为高手的必由之路。也没有几个人愿意避开。在LINUX/UNIX上,这么好的学习和锻炼自己的机会,谁舍得呢?
posted on 2012-03-24 22:57 西城 阅读(2285) 评论(11)  编辑 收藏 引用 所属分类: Linux

Feedback

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-25 23:43 陈梓瀚(vczh)
VisualStudio2012 beta的功能有,C++类型变绿,点击C++的一个名字会在相同的引用的其他地方背景变灰,超好的带界面的debugger,MFC界面编辑器,一边运行一边profile,将xml注释输出成文档,单元测试工具,C# VB F# Javascript一摸一样的全套工具,WinForm界面编辑器,WPF界面编辑器,WCF代码生成器,工作流界面编辑器,ASP.NET界面编辑器,Silverlight界面编辑器,T4/Rozer代码生成器,10-20倍的其它功能懒得列出来……

如果你把这些功能全部用插件插满了,那也会这么大的……反正一个工程同时用几个语言已经是家常便饭了,与其集齐全套插件,对于我个人来说还是装一个VS省事。反正硬盘都上T了,内存几个G,VS消耗的资源不足挂齿。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 09:09 waiting4you
夸一样东西, 不用刻意去贬低另一个, 否则显得浅薄.  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 09:52 空明流转
@陈梓瀚(vczh)
关键是还有盗版。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 10:44 墨魂
@陈梓瀚(vczh)
你说的功能是都很强大。不过除了界面的编辑这一块之外,其他功能在vim或emacs里都可以通过简单的插件扩充出来,100M的空间足矣。你如果非要拿那个巨无霸来比,就算我举出QT也比不过。我想说的只是两个平台下软件的特点,设计的思想,以及对程序员的影响。所有人都是从WINDOWS走出来的,但不是所有人都看过外面的世界。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 10:52 zjh
其他不说 vim emacs 通过插件能做出 超好的带界面的debugger,还有调试时修改并继续的功能  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 [未登录] 2012-03-26 11:51 Eric
Win和Mac上支持插件机制的编辑器或者IDE多了去了,只是不像某些人天天挂在嘴上装逼罢了。
另外,拿一个编辑器跟IDE比较,本身就是一种特傻逼的行为。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 12:02 墨魂
@Eric
我这样说,是因为我之前在windows下用IDE,转到linux之后用emacs。两相比较,我觉得emacs更为强大。你如果也是有两方面的经验,并且真的这么觉得的话,我就没什么可说的了。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 [未登录] 2012-03-26 15:26 陈梓瀚(vczh)
@墨魂
是这样没错。所以当你把QT啊(等比MFC),还有.net,还有各种界面编辑器加进去之后,你会发现,就上G了。当然这还不算那个同时也上G的文档。所以这几个G是很值得的,特别是msdn。

不过话说回来,我的确无法理解,对于现在的配置来讲,一个IDE几十M还是几个G究竟有什么区别?占内存10M和100M有什么区别?

至于插件,vim和emacs可以写插件这没错,VisualStudio也可以用C++ C# VB F#写插件啊,而且VisualStudio里面还有一个vim编辑模式插件(非官方)。如今没什么IDE是不支持插件的了。你看SQLServer Management Studio就是通过替换VisualStudio的插件做出来的,可以当成是VS插件系统强大,灵活性高的一个侧面的例子。

话说白了就是,你列举的理由不成立啊。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 15:38 zjh
@墨魂
emacs,会手残  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 15:45 墨魂
@陈梓瀚(vczh)
一个IDE的大小是不重要。但是如果我可以完成同样的功能,如果一个100M,一个10G,我当然要用100M的……

两方面插件都很多,但有一个思维习惯的问题。试问,有几个人去写插件?那些插件又是谁写的?在EMACS,大部分的插件确实也不是我写的,但他们都是开源的,我可以修改,我也确实修改过,也有一些是我自己摸索配置的,而且大部分学习EMACS的人都会开始学习LISP,不仅对EMACS更加熟练,也会带来编程技术的提高。这比你从VC6.0到vS2008,再到VS2010,再到最新版本的一个一个去学习使用要有意义的多。  回复  更多评论
  

# re: Sublime Text:强大,跨平台,还带着WINDOWS的印记 2012-03-26 15:48 墨魂
@zjh
没事,我偶尔也用VIM  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理