用 Sublime Text 就可以了 已翻译 100%

oschina 投递于 2014/06/23 05:53 (共 15 段, 翻译完成于 06-26)
阅读 2176
收藏 0
0
加载中

我最初写本文是对reddit上的“Sublime Text 2与vim对比”的一个回应,但作为博客它太长了。我用网志来替代。

白话不表,我无法真诚地将vim推荐给一个开发新手,即使我就在用它。

Vim: 一个你(至少)需要读两本关于如何用好它的书才能使用的编辑器

Vim被用文本编辑绝版不是个高效的文本编辑器。它不会让你更快的输入。在使用Vim开始的1-2年里,它会比你目前的编辑器效率更低,因为那些奇异的按键绑定。大概两年后你才会精通。

每个人都在谈论其陡峭的学习曲线,但没人谈论一旦你大脑接受使用hjkl移动光标后发生了什么。答案是几个月的沮丧,其次才是最后一个可用的编辑器,再次之就是了解一些很酷的技巧,而在日常中你只能用到1%。

Garfielt
翻译于 2014/06/23 09:16
1

将手指始终保持在键盘上能提高效率

Vim更高效的说法是可疑且不可测。切换到鼠标确实可能让你慢下来,但开发者们大多用的电脑上其触摸板只需一个微小的手部运动。大多数新手程序员在屏幕上点击一个字符的速度比一个vim专家输入20jfp;或lkeee或/word<cr>或任何其他vim的方式要快,原因是那些古老但却普遍使用的按键。

鼠标的点击能够在屏幕上任意位置跳跃,其更高效,而且它也很擅长做这种事。你不认为你能胜任使用一只鼠标么。只有在极少数临界情况它才会有影响。

鼠标的论点不是要因。真正的问题在于更深。

Garfielt
翻译于 2014/06/23 09:30
1

插件与扩展性1:管理

Vim的插件社区有一些深层奇怪的缺陷。考虑到Vim从1991年开始就存在了。发布于2008年的Pathogen是第一个被广泛使用,认知并获赞誉的路径管理器,它使得插件管理变得可能。在它出现之前,是用递归拷贝插件的目录到你的Vim文件夹下来实现。我不是开玩笑。甚至有一个特别的有口碑的垃圾格式叫做Vimball(VBA)来做这件事。许多插件脚本仍然用这个格式。卸载那些几个月前需要你拷贝到十个文件夹下的插件。升级它。

Vim被赞为一个可扩展可定制化的编辑器,并且它确实是。它可能是最具定制化的编辑器,但是直到最近我们才有合适的包管理。这是很让人担忧的。Vundle甚至直到pathogen出现2年后才出来。甚至pathogen和vundle是仅限可以用于和Sublime Text的包管理插件相比较的。

这非常可怕,因为不带插件的Vim是很可怕的。我无法形容一个没有任何插件的Vim是一个多糟的编辑器。插件对Vim的可用性至关重要。

chasehong
翻译于 2014/06/23 10:59
1

插件和拓展性 2: 生态系统

Vim Scripts。另人作呕。支持的格式少,没有特色,还那么多广告。

大多数Vim插件还没有被转换为Github项目。Vim Scripts作为一个毫无特色的主机还算凑合,除此之外它提供不了其他任何优点。它有着令人厌恶的接口,鼓励使用Vim Wiki来进行项目管理(越来越甚)。大部分的Vim插件社区都围绕着这个让人作呕的站点。有份力量正在努力使得Vim scripts自动转换为GitHub项目,这可能有前途但也可能是一场灾难。

Garfielt
翻译于 2014/06/23 11:29
1

插件及拓展性 3: Vimscript

嗯,Vimscript,是挺差的。但我们被它卡住了。如果你想写一个插件就不得不处理Vimscript。它并不是门差的语言。尽管语法是有点傻,但也是可以原谅的。Vimscript的主要问题是它不是另一门语言。没有人理解它。即使最有经验的Vimmers也不知道Vimscript的全部。它以后将如何?它的文档很烂,而且更糟糕的是查找必要的帮助几乎是不可能的。

你可能也在VIM Wiki发现了Vimscript的教程(尝试搜索Vimscript,看看他们的搜索到底有多糟糕,不用它的另一个原因),但我觉得大多数读者会有些理解障碍。教程中会发现不友好,不便利,像在讲故事。它是由机器人和编码器记录生成的。

Garfielt
翻译于 2014/06/23 13:33
1

假设你要写个函数,好吧,先看看函数的说明.输入:help vimscripts试一下.这是什么鬼东东? Side note: all of Vim’s help is equally poorly accessible.还有,有些帮助文档 (Learn Vimscript the Hard Way).

就算是用vim的也不想再学习 Vimscript. 也许有一天vim将不再需要vimscript. 还有人提议加上ECMAScript (Re: replace VimScript) 但真正敢这么干的没几个人,包括我在内.

petert
翻译于 2014/06/23 17:57
1

插件及拓展性 4: 冲突

这是很严重的一个。Vim令人难以置信地缺少现代编辑器的核心功能。像CTAG集成,项目管理,项目浏览,(的确,我就知道:Sex),和其他许多基本的东西,它们都没被吸收到Vim中。这是设计的原因,因为Vim从未打算只编辑一门单一的语言,也许C语言除外。这未必是件坏事!Vim因其超强能力理论上可以编辑任何语言,但它与Java或Scala等IDE型语言很难相处。

好吧,我们需要一个项目类似的文件浏览器。让我们试试NERDTree,大多数人都听说过。但等等,NERDTree老是在我关闭缓存区时还保留着脏东西。大多数人不知道NERDTree的标签卡,但没有它NERDTree是不完整的。不过,哎,因为Vim整个UI的等宽字体限制,它看起来挺让人心烦的(越用越有这样的感觉)。但我想这还不是最糟糕的…

Garfielt
翻译于 2014/06/24 10:48
1

下面是查找文件. 试试Vimgrep! 不行,再试试Command-T.这可慢的出奇.还有个CtrlP 试下! 但不是正确的模糊查询, 所以也没法得出正确结论.是追求又慢又笨还是又快又错呢?不知道 .

Sublime 的文本命令 Command-T “就能解决这一问题”, 操作简单结果迅速. 就在目标文本上操作? 多先进的理念啊!

找到对的vim插件就像在选择独家俱乐部. 头两年很不错,第三年就不行了,越往后越没法说....

petert
翻译于 2014/06/23 18:02
1

再回到冲突上来,由于Vim自身提供很少的功能,所以它有很多实现了相同功能的插件。你需要代码片段自动完成吗?试一下snipMate!但是稍等,UltiSnips 更好一些!但是再等一下,如果安装了 neocomplcache,两个插件都会出问题的!(顺便提一句我找不到比'neocomplcahe'更糟糕的了). 现在你需要neosnippet!但是稍等,如果你安装了其他的自动完成的插件,这个插件就不能正常工作!所有的这些插件都破坏了Vim默认的行为,并且使得自动完成更加复杂和令人困惑!

你的搜索插件可能会和你的自动完成插件冲突。你的语法插件可能会和你的字典冲突。冲突意味着什么?它意味着Vim会随机的为你高亮显示出500行的红色文字,你就会意识到你把某些事搞砸了。如果你使用indexed-search时搜索的正则表达式不正确,你会得到一些你之前从未见到过的隐藏的错误(你想要哪个)。在启动的时候,你会看到一堆的红色文字,你不能读取,复制或者保存,2秒钟之后这些文字消失,你的Vim会突然变慢,你必须去找哪个插件出了问题。

瞧,这就是Vim的可扩展性。

yuezk
翻译于 2014/06/25 11:09
1

Vim 的不良设计™ 2: 图形界面(GUI)

Vim 是设计用来运行在终端中的。这就是为什么将等宽字体直接的引入到了GUI中。终端不能绘制用户界面。我知道了,我们必须使用块和下划线来绘制东西,你有什么。好吧,这对我来说还可以接受。我是在服务器上使用的,我可能为了修复某些东西来编辑文件,我不需要一个漂亮的编辑器来做这件事。我只需要能编辑文本就好了。

但是,Vim 被假定为一个不仅仅在服务器上使用的编辑器。你也可以在服务器上使用 Pico,但是没有人使用Pico在终端中进行长文本的编辑。现在,我们有些叫做图形界面的东西。这非常好!它们看起来很好,非常有用,并且提供了很有用的形象化的东西。我们当然也希望我们的编辑器运行在GUI上,以便可以提供同样的好处。

yuezk
翻译于 2014/06/25 23:47
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(2)

hongwei
hongwei
使用VIM或者说是vi,最重要的是ssh到服务器上,他是最可能安装的一个文本编辑器。其它的编辑器都没有这待遇。
赵亮-碧海情天
赵亮-碧海情天
Vim被用做文本编辑绝版(应该是:对)不是个高效的文本编辑器。
返回顶部
顶部