工具控 为什么你们用 Vim 和 Textmate 而不用 IDE

camel · 发布于 2011年12月28日 · 最后由 chiangdi 回复于 2014年08月04日 · 31827 次阅读
558

在社区里随便看几个编辑器口水贴 http://ruby-china.org/wiki/tools 尤其是这句话 Ruby 不需要 IDE,一个简单的文本编辑器就足够了,作为 Ruby 开发者,这个必须习惯。 。 但很多人喜欢在Vim上堆插件,越搞越像IDE,然后在网上贴个图,感觉很牛X。直接上IDE不就完事了?

我也偶尔使用VIM,但这几个功能不知怎么实现(还是没必要实现)请大牛指点: 1、代码自动完成。 可避免很多Typo,vim有插件,但是貌似很多人不用。还是大家都是记忆超人。 2、查看源码。 随便单击一个类能跳到源码,我用的RubyMine这个功能相当爽,基本不用看RDoc。 3、Debug。 类似Eclipse那样的调试肯定很多人用过吧。Vim的debug看起来很不顺眼。 4、速度。 都说IDE很慢,这个真的很重要吗。如果追求速度就不要用Ruby选汇编吧。

共收到 120 条回复
162

用IDE的飘过(netbeans) VIM只会基本命令

96
  1. Ruby代码自动完成没法做到很好,所以不如不用
  2. Ruby不用编译, 你说的查看源码基本不能实现
  3. ruby-debug很好用
  4. IDE确实很慢, 用过eclipse和Xcode,我8G内存的机器也吃不消

当然,我不排除IDE, 但是真心觉得Ruby不需要IDE

332

我也用IDE(以前是Aptana,现在是Netbeans),偶尔用用Vim。 我觉没有高低贵贱之分,也不必强求别人和你一样,自己用的舒服就行。

16

1.那自动完成开着还真不如不开。。。搞得很卡,textmate bundle明显在代码补全上更好一些 2.用railsdoc.com哈哈

  1. 不debug。。。。
  2. 混淆概念。。用IDE的慢和ruby运行的"慢"不知道在比较什么
558

@ywencn 不好意思,没表达清楚。第4点我的意思是:如果IDE慢是由于硬件,那不算缺点,只要IDE能提高开发效率就行。 你的http://railsdoc.com/ 打开全日语,晕呀@@

162

IDE的自动完成是能够很大地提高工作效率,举2个我经常用到的例子

  1. ActiveRecord的belongs_to,我只用输入bt(hm就对应has_many),然后按一下tab,netbeans就会帮我补好,后续的参数也会很提示出来,对于这种常用的方法,输入就很快了。而下方还有rdoc集成了,对于不常用的api调用也很有帮助: [img]//ruby-china-files.b0.upaiyun.com/photo/78b0124d2d1ab35640e8348408963267.PNG[/img]

  2. ActiveRecord的数据库table column提示,netbeans会扫描schema.db文件,这样你在输入model属性的时候就非常方便,只要根据提示输入首字母就可以了: [img]//ruby-china-files.b0.upaiyun.com/photo/63f9cb62c9a230312aabc7a697e9cea3.PNG[/img]

特别是在写erb文件,夹着着ruby代码和html的时候,netbeans能够同时提供2者的auto complete,非常方便。

4

喜欢IDE的朋友建议看看 RubyMine... 非常好用.... 自动补全也做得很好,好得你难以想象... Netbeans 自从被oracle收购以后就各种恶心ruby...

但是本人是用editor。 我喜欢type... 同一个东西 type很多次就记住了... 自动补全我或许一辈子都记不住...(事实证明如此,以前java的东西我都只能记个大概)

debugger 命令行已经很不错... 或者用 http://pry.github.com/ 也可以做调试... 功能更加强大...

抛开速度,习惯以及信仰.... 其实IDE我认为真正有用的是refactor功能... 这个在一些情况下还是有用的。 避免很多重复劳动和遗漏...

De6df3

#7楼 @quakewang TextMate, Subline Text ... 这类类 TextMate 编辑器都有 bt -> belongs_to 和 hm -> has_many 这样的功能,重点是,不卡!!! 能够完整记住所有表的每个 column 的单词写法是一个非常好的习惯,以后会有很多方便的地方 所以,别用 IDE

558

@poshboytl呀,现在我在Lion上用RubyMine 4 早期版本(EAP),正式版才出到3.2.4。不负最智能的IDE的称号!

162

#9楼 @huacnlee 一是年纪大了,记不住那么多column,二就算常用的记住了,有auto complete,也可以少打很多键盘,比如created_at,我只用打个cr tab就完成了。

4

#6楼 @ywencn 哎...railsapi 还没更新 我心都碎了...

553

写脚本习惯了,真的喜欢直接type.

De6df3

#12楼 @poshboytl rdoc.info 可以啊

4

#14楼 @huacnlee rdoc.info 不错啊... 但是似乎不能下?

De6df3

#15楼 @poshboytl 不需要下载啦,查的情况也很少,我现在两个途径,一个是 Github 翻查代码,一个就是看 rdoc.info

188

个人习惯:大部分项目都用Textmate之类的编辑器。大型的项目用RubyMine。:)

1

我还没debug过,都是自动测试加 p。

喜欢用什么就用什么吧,只要代码规范,简洁,易读。我用 vim,同事有 Netbeans 的,emacs的(曾经),最近有人在折腾 rubymine,其乐融融。

对于我,vim 有份安心的感觉,我开始学 rails 的时候还是穷学生,电脑烂,IDE 要不不好用要不收费要不太占资源。而恰好 rails 是个提倡编辑器环境的框架,如果有什么地方是没有IDE就不方便的,rails 框架就不会提倡,比如 debug。所以我就一直用下来了。

用什么都好,一定要把自己的工具用到滚瓜烂熟。

96

vim+1, 花点心思去配置,自动谱全、 commend-T 、 Nerd-commenter、 Nerd-Tree、 Zencoding 、 Syntax、 ack 啥的玩熟了写代码各种爽。。不过看了楼上倒是想去尝试一下RubyMine了

422

@huacnlee ubuntu下面 Sublime Text 2中文怎么显示?我已经是utf-8的文件了,中文还是口口 另外也无法切换输入法输入中文。

De6df3

#20楼 @alucardpj 没试过,我猜测换个字体应该就好了

4

#18楼 @Rei debugger 没有ide也很好用...
debugger是一个语言的工具... rails也从来不存在提倡或不提倡用debugger.... 我觉得没哪个框架有必要去提倡或者不提倡你用debugger还是用 logger

483

@poshboytl 可以用sdoc和RedCloth生成的,可以参考下:http://blog.vkill.net/read.php/216.htm

186

#12楼 @poshboytl railsapi自己生成啊。常用的库也可以弄个专门的gemset,然后需要查看就在这个gemset里起个yard server

4

#24楼 @doitian #23楼 @DavidWei 现在只能这么干了.... 以前不是偷懒么... 我现在本地都还是 3.0.8的文档 + 所有railsapi里能勾的其他文档... 其实most cases 足够了... :) 空了自己build 一个...

96

#2楼 @bl0ckme 第二点的查看源码,不是用ctags就能完成么?

96

#25楼 @poshboytl 老大搞个debug教程吧,造福我等小白。

17

速度真的很重要
用过rubymine,写着正在兴头,不知道为就卡住了,然后关了重开...你能体会这是什么感受吗?

RUBY的语法过于动态灵活了,IDE进行语法分析肯定很耗资源的. 代码自动完成,查看源代码,就RUBYMINE做的好一点,其它的IDE都感觉很鸡肋,还不如ctags

ctags要配置好,记得把ruby的gems源目录也加进去.

熟悉后,真的需要看源码了一般直接进行gem包的源码目录,直接查看

17

#7楼 @quakewang 你说的代码模板功能,vim中用snipmate插件可以实现的 自动补全用supertab

130

#29楼 @cxh116 snipmate +1 必备插件,楼主说的补全的功能这个插件足够了,再配上vim内置的ctrl+n, ctrl+p ,补全已经基本没问题了。搭配上ctags应该更完美,不过我一直没有配ctags,感觉目前已经足够了。(ctags也能满足看源码的需求)

vim也要配的,配到最后也是一个IDE。相比其他IDE,我认为vim有几点优势:

  1. 基本的文本编辑更高效,不要小看细节,比如改变一个单词的大小写,给一个句子两侧加引号,修改一个括号内的所有内容,等等。当你还在把手移到鼠标上去时,vimer的手指已经条件反射地执行了大脑的意图。
  2. 几近变态的可配置性。能以自己最舒适的方式做高效的事情

至于debug,我写的ruby程序都是很简单的,还用不到ruby-debug,所以都是puts调试,呵呵

483

#31楼 @ken_lv 难道你就是“夜鸣猪”?,那个链接,现在回提醒“您没有权限执行这项操作,请检查登录的账号是否正确”,请确认下。哈哈

96

#32楼 @DavidWei 好吧,我错了,已经改了:)

483

#33楼 @ken_lv 终于见到真人了。哈哈。你的博客写的很好,赞一个

96

还是新手,前来看看,希望能选择一个适合自己的工具!

439

#20楼 @alucardpj linux下的Sublime Text 2 不支持中文输入的

96

#34楼 @DavidWei 自己家的事,自己清楚,我还真得潜心跟各位多学习,才能在ruby社区走的更远。这个地方我是来对啦。

483

#37楼 @ken_lv 偶还没入门呢。只是毕设用了一段时间,最后也是个烂尾。现在打算学一个是兴趣,另一个就是为自己未来跳个槽做准备。嘿嘿。

96

智能补全没有无所谓,但是局部补全必须有。这也是我用vim而不是其它IDE的原因。

422

#36楼 @yb_cn 多谢,昨天调试了很久,中文也没解决好,后来发现windows下面没这个问题,就怀疑属于工具缺陷了。暂时保持观望态度

96

我还在editplus ,语法高亮都没,哈哈,公司里没办法,家里WIN下就rubymine,osx下就 textmate,不过textmate 中文字体悲剧啊..

16

#41楼 @d4rkl0rd 那你还不赶紧买textmate2

68

我目前用的是netbeans。我觉得还是很好用的。

594

我现在用Ubuntu,之前用Win,一直想换Mac。 以前用Netbeans,现在Netbeans不好用了,因为官方不再默认支持ruby。 最近用Sublime Text 2。 正在尝试Rubymine。 对Vim的掌握程度,仅仅限于修改服务器配置文件,还没达到编码级别。

我非常喜欢IDE,可惜我找了很久,很多,也没找到我满意的IDE, 我喜欢想Delphi, VS2010那样强大的IDE。

Ruby和Rails没有IDE,也可以正常开发。 但是有了一个好的IDE,真的是可以大大提高开发效率。

其实我需要IDE的主要目的是,“查看源码”和“Debug”。 在IDE中Debug,比在终端Debug,强的多!

Rubymine试用了一会,感觉不错,但是,就是,"太慢了"。 真的是 Ruby“慢”啊!

96

Rubymine没试过,我觉得 Mac 用 textmate 足够了。我估计只有 windows 平台,才会有你说的那么慢吧。

96

binding.pry那个自动完成比 eclipse 的完成好用多了...

De6df3

#45楼 @ODM RubyMine 在 Mac, Linux 依然慢的无法让人接受

96

IDE的很多功能都是从vim, emacs, textmate的插件移植过去的...

查文档之类的功能, vim 和 textmate 默认的 ruby 包就自带了

编辑器内debug vim, emacs, textmate2都可以...

自动完成盯着弹出菜单按上下键太慢了, 90%情况都是vim和textmate局部完成更好使

我从eclipse还是IBM的时候 (8年前?) 就在用, 它的可编程性太弱了. vim插件和textmate bundle都可以随改随用的, eclipse下面开发个插件蛋都要疼碎了...

594

居然这么多人都说vim开发rails好,很是不理解,喜欢跟风我打算试一试vim

61

rubymine的确很不错,不过感觉还是卡,所以现在还是习惯用Sublime

96

切,加了插件的vim本来就是ide,怎么就不是ide了。

96

因为工作原因,无法离开Windows。同时ruby大部分时间在cucumber,selenium-webdriver这些gem上,Vim、Sublime这块都支持不好,Windows上最好用的还是Rubymine,毕竟是专门设计为ruby的。性能上Rubymine3.X确实很慢,4 EAP现在已经提高很多了,可以试试。反正Rubymine变好之前(其他IDE例如Netbeans什么的就实在更慢了),一直用Vim,不过确实重构方面还是太弱,1个人用还行,还带着团队用难度就太大了。比较看好Rubymine吧,jetbrains做工具产品,口碑都还不错,用的人也多,例如java的IntelliJ,.net的ReSharper。反正我之前看见textmate,vim上能真正加快编程的功能,rubymine都有,主要还是速度需要进一步提升吧,另外确实有些地方有点小bug.

96

RAILS代码本来就很少,至于用IDE吗?怎么舒服怎么来,都是工具,实际上用什么也无所谓。

96

俺大部分时间用editplus无语法提示,无高亮,昨天晚上用rubymine,为什么没有提示呢..纳闷中..

160

Vim就是让你看起来眼花缭乱的,因为简单,速度快的啊。

96

+1 @fredwu. 大项目rubymine很給力,可以配合rails debug gem 断点调试看变量值,调试复杂逻辑代码很方便。似乎现在没其他ide可以做到?

686

我都用ubuntu 写代码 基本上用edit 除非进不了图形界面或者路径特别麻烦 就用vim 用IDE 能偷一下懒 但是 要很久才能记下 各种 method啥的 rails 不是很复杂 所以我觉得 编辑器有 语法高亮,有自动对齐(不过我还是喜欢敲空格) 还有字要大一点的 清晰点的 查官方库,breakpoint就够了哈,又不是写C写java N长就不要补齐了

22

说一下我的工具历程: 一开始在windows下eclipse+rails插件 ->Aptana->netbeans 折腾了一阵子。 期间有不少问题,也折腾过,后来实在受不了然后转到了ubuntu。 开始还是用netbeans,netbeans的rails插件确实不错。 然后用了rubymine(这个IDE可以说已经是最完美的rails IDE了)用了一阵子。 后来受不了启动速度换了gmate。 说到调试这个问题 作为搞过java和c++的人一开始也比较习惯调试,但是后来发现调试不是最适合ruby on rails的方式,反而测试,和日志的方式更好,因为ruby是动态语言,本身调试起来就比较困难,再者因为它是动态语言可以很快的呈现出结果,所以觉得直接输出信息更好。 再后来又在vim和emcas之间挣扎过一阵子,后来是因为实在是Lisp语言太伤眼,没有信心去折腾,然后依然决然的使用vim直到现在,现在基本上vim可以完成我的所有编辑任务。 说到自动补全 IDE的自动补全这个功能很好,但是也会让人懒惰,感觉自动补全用多了以后离开IDE就写不好东西了,这样不好。snippet这种东西我感觉更适合程序员,定义自己的代码片段,在实际的编程中积累snippets,一开始可能会很慢,但是当积累的到一定的程度后,写代码就是飞一般的感觉。而且自已维护snippets也有利于记忆很学习。 总之呢,选择最适合自己的工具就行了。就像《rework》中的一句话“音调出自手指”。 最终还是要靠我们这群勤劳的程序员们的手指和大脑来完成工作!!

96

Vim比ide的强大之处就是开源,vim插件弄多了,没错是像个ide,但是比其他ide相比,他是开源的,当你对语法高亮不满时,你可以改改ctags,或弃用ctags用vim-ruby, 当你觉得哪个功能不爽时,你可以用ruby给vim开发插件,

你去github上看看,搜vimfiles,一堆,为什么那么多老外用vim?不把rubymine的配置文件放上面?

我是从sourceinsight->eclipse->netbeans->rubymine-vim走来的,以我的经历,我以后只用vim和emacs。

目前vim我这只有一个问题:就是不支持异步,ack大工程时要等半天。

而且一般vim老手是不屑于这类贴的。懒的参与这种无聊的讨论,因为有很大一部分人是初用vim,vim用的不熟,然后上来说“vim有什么好处?”这类问题了。老手淡然一笑。

我vim用的不是很熟,所以费了几句话。

如果你细心打造你的vim,就不会问这种问题了。

4

不是开源的问题... 其实很多ide都是开源的... netbeans, eclipse...

96

#60楼 @poshboytl 他们插件少?没vim普及啊。

96

#7楼 @quakewang sublime text 2 更新,支持auto complete,还没转朋友的快转啊,呵呵呵 http://www.sublimetext.com/blog/articles/sublime-text-2-build-2165

558

#59楼 @jinleileiking #28楼 @cxh116 求vim搭配ctags查看源码教程啊???

594

先加点料 <>http://rubyer.me/blog/84 转自 Ruby迷

594

再加点料 《Sublime Text 2 入门及技巧》http://lucifr.com/139225/sublime-text-2-tricks-and-tips/ 转自 lucifr.com

《三篇关于 Sublime text 2 的文章》http://readful.com/post/12818227068/sublime-text-2-by-lucifr 转自 White Space

96

#63楼 @camel 这个如果你通过谷歌找不到方法,你再来问我们吧。。。。

96

所谓的速度不是代码运行速度,而是开发的速度,IDE确实很垃圾,打开,保存什么的慢的要死,电脑配置在高,操作速度稍微快点都卡

377

最近在试用Sublime Text2 ,autocomplete 相当惊艳,不过还得打磨下追得上已经被我打磨得很顺手的TextMate。 有没朋友能分享下如何配置代码对齐(TM中的快捷键盘是cmd+opt+] ),及局部代码格式化(TM中的快捷键盘是cmd+opt+[ )

177

#66楼 @ery debug最近火的是pry

594

#70楼 @rainchen 在SublimeText2中, 使用 Ctrl+A(全选) 然后 Edit-Line-Reindent (如果你很熟系ST2你也可是设置快捷键)

60

今天折腾了下emacs,果然是搞不定。。。类似vim的NERDTREE怎么也弄不上去。。果断放弃。。。。

折腾了之后还是有点好处,对emacs的配置又多了些了解了

3

An IDE, or "Integrated Development Environment" will turn you stupid. They are the worst tools if you want to be a good programmer because they hide what's going on from you, and your job is to know what's going on.

摘自 “Learn C the hard way” http://c.learncodethehardway.org/book/learn-c-the-hard-waych1.html

221

vim 使用者

244

这个问题不适合泛泛而谈,IDE有优点也有缺点,对于动态语言,代码辅助功能不可能比各种编辑器插件超出太多,debug支持可以很方便,但是会带来懒惰和不好的编程习惯,build系统很有用,不过遇到rails这种完备的开发框架就没有了用武之地,目前最有价值的功能是源码导航,特别是对bundle进来的gem,IDE可以进行很有效的关联。我一般用gedit编程,偶尔用rubymine阅读源码

1303

Vimer

5

#77楼 @ruchee Textmate的酱油一下~~

96

本人感觉vim和emacs 更能接近事情的本质。

1926

#9楼 @huacnlee textmate 如果导航目录树过大, 各种卡

1926

#7楼 @quakewang 7.0不是说不支持ruby吗? nb是唯一一款用的顺手的IDE

594

哎呦我天呀,这个帖子,还没沉啊

96

哎呀,我的Sublime Text2还是不能输入中文啊!怎么办啊?实在不想换别的编辑器,难道要让我用RubyMine嘛!有高人指点下没?之前的一些方法都用了,不行啊!

1498

重点是我是外观党!!!

96

晕.又上来了...

2506

我不是搞ruby 的. 但想用一句话回帖: vim & emacs 这些,谁用谁知道.

845

RubyMine + VIM

594

#85楼 @nuanshuidai 我的ST2也不能输入中文,当我需要输入中文的时候,我用Gedit,然后复制到ST2中,或者直接用Gedit打开那个文件,不过,我只有国际化的部分需要用中文,我的代码中很少用中文,所以我丝毫不觉得麻烦

1283

像我这种新手,感觉rubymine确实很强大。虽然每次启动都很慢,不过打开之后,用起来就很爽。也在用sublime text,可能是没用熟练,还没gedit用的爽==

115

我实话实说。我最早为了装X。现在习惯。

1638

@poshboytl 如果有语法错误(比如少了一个end),textmate会有提示吗?

96

#93楼 @xiaoronglv 会提示的,Vim也会,只要配置得当,比IDE方便的多,IDE常用的功能都能轻松实现

4

#93楼 @xiaoronglv vim可以通过插件实现的.... textmate我忘了...好久没用咯 :p

594

#71楼 @gene_wu 非常感谢你告诉我Pry, 如果没有Pry,我还在用那个蹩脚的ruby-debug哪。

594

回复写了一大堆,于是新建了一个帖子 http://ruby-china.org/topics/3822 呵呵

96

Unix 就是最好的 IDE.

96

个人表示MacVim基本上完全足够我日常开发Ruby、Rails、PHP、HTML、JS、Bash等脚本语言的开发工作。当然对于objective-C这种,个人表示editor比较无力。

1303

哈哈,这僵尸帖又浮上来了,那我就再回一个

借助snipMate插件,你也许需要100下按键的代码,我50次都不需要,不信的可以看我的视频演示哈:http://www.ruchee.com/code/linux/vim/vim_gtk.html

PS:这不算广告吧 :)

558

#100楼 @ruchee snipmate必备,但是一般模板都是自己定制的。各人习惯区别太大,而且记忆别人snipmate的成本和自己定制的成本其实差不多。

1462

RubyMine很不错啊,jetbrains公司的几款产品都很厉害。pycharm、phpstorm、intellij idea,贴心的到爆。就是速度让人纠结,用了一段时间觉得自己大脑反应都变慢了。启动慢可以忍受,就是输入的时候那拖滞感让人崩溃

1303

#101楼 @camel 自己定制的话,成本显然会低很多,因为你有自己的那套命名逻辑在里面,只要手一放到键盘上就知道对应的函数其缩写该怎么敲

104楼 已删除
778

喜欢噼里啪啦打键盘的感觉。emacs + rtags能解决绝大部分的问题。

2847

ST2 写代码,Rubymine只有偶尔debug的时候用。。随着越来越熟练,debug的时间也越来越少了

1267

@quakewang 战友啊,我也用netbeans,一直被模仿,一直没被替代

547643

自动补全:解释型语言干这个事就是费力不讨好,所以不需要,打字是很爽,但Ruby的哲学强调少写代码,如果你每天都打很多一样的东西,难道不想办法精简吗?

DEBUG:我的步骤是先看调用堆栈分析源码,然后根据推断写一个对应的测试,然后循环这个过程,实在过不去就开console。

查看源码:RDoc是好东西,注释源码文档都在一起,直接看源码文件实在没什么意义,好的RDoc工具很多,推荐Dash。

速度:IDE真心比不了,有句广告词说的“钻石恒久远,一颗永流传” 这就是说Emacs和Vim,时间证明一切。

1748

#4楼 @ywencn railsdoc.com 很不错,要是有英文或中文版的多好啊 #29楼 @cxh116 这两个插件安装顺序有讲究,一定要先装supertab,我就碰到这样的问题,snippets无效

96

#7楼 textmate 也有tab,快捷键补全,甚至还可以自定义,连if,for的后续语句都自动。

96

#36楼 @40hood fcitx可以的

2220

最近投奔了RubyMine,确实很好用,各种补全用着很舒服,一些小功能也不错:多剪贴板、生成模型结构图、快速导航等等

96

那啥啊,推荐一个。sublime text 超好用啊。

96

无所谓用什么工具,用着舒服,用着工作效率高即可。

2746

#114楼 @Patrick 谁再挖坟剁手

2110

用emacs的飘过,刚开始纯属装逼,现在是习惯了装逼的快感

1267

@ken_lv 夜鸣猪?哇,好多rails资料都是你那找第一手啊~加油,牛人啊,肯写东西的人真的不多了

3210

刚试了一下rubymine。。。第一 挺丑的。。。第二 挺慢的。。。放弃了。。。 其实 st2一直用的挺好的 就是没有代码格式那个插件 对应rails的 所以偶尔会打开aptana格式化一下。。。其他的没啥感觉。。。

96

想问下win7用eclipse3.7为什么装不上RDT?

10316

不知道这里有没有防止挖坟的措施,test~~

594 ery 说说我的开发工具 Sublime Text 2 和对 Vim 的研究 中提及了此贴 02月16日 18:28
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册