为什么比起 Emacs,更多人使用 vim

 我来答
盘默M2
2016-04-09 · TA获得超过2.9万个赞
知道大有可为答主
回答量:9723
采纳率:93%
帮助的人:8062万
展开全部
1. 在默认情况下,Emacs 比 vim 更友好。

这是事实,但 elisp 并不比 vim language 友好。Emacs 上手就能好好的打字,而用 VIM 起码得知道 Normal 和 Insert 两个模式,否则字都打不了。但是,notepad 难道不是更加友好吗?我放弃了 notepad、notepad++ 、em editor 等等这些文本编辑器(当时 Sublime Text 还没有出名),来接触 Emacs 或者 VIM ,并不是因为之前那些编辑器都不够友好,而是他们不够高效——十分不够,所以才会硬起头皮来摸这两个让人困惑的「编程利器」。

但是,随着了解的深入,我发现 Emacs 比 VIM 更不友好,更准确的说法是 elisp 比 vim language 更不友好。可能 el 作为编程语言比 viml 优秀很多,可能 viml 作为编程语言来说很烂,但是对于一个不大懂编程的用户而言,viml 比 el 好懂太多了。

2. Emacs 拥有 org-mode 。

这是事实,org-mode 确实是纯文本编辑的利器,这也是让我多次想要放弃 VIM 转到 Emacs 的原因。但是无奈 Emacs 门槛太高。另一方面,我对 org-mode 的需求实际上只有两个:outline 和 带计算功能的 todo list ,这两个功能在 VIM 中有 VimOutliner 这个插件可以用,算是基本满足了。而且 VIM 还有 Voom 这个插件,可以实现非常棒的树状侧边栏,在 org-mode 中反而没有很方便的实现(之前经过搜索,听闻是可以用 mini buffer 来实现)。

3. Vim 开启大文件的性能很成问题。

VIM 通常被诟病的实际上并不是处理大文件不行,而是处理长行不行。一个百来 K 的文件,如果只有 1 行的,你用 VIM 来操作也会觉得想死。对于运维人员,幸运的是,在一般的文本处理过程中,不会碰到那么长的行,这并不是一个痛点。

4. Emacs 的配置语言 ELisp 比起 vimscript 要高一大截。

这是在第 1 点就说到的问题。对于一个没有编程背景的人来说,事情并不是这样的。vim language 实际上更友好,也更容易看懂。

对于文本编辑而言,实际上并没有什么很高级的编程需求。我们接触得最多的可能就是一些文本的查找替换。 vim language 的优势在于,它和 VIM 的操作是一致的,这降低了学习和使用的成本。

比如,在 VIM 中进行替换,就是
:%s/pattern/new string/g

同样的命令,直接复制到 vim script 中就能跑。如果你要写一个函数进行一系列的查找替换,实际上只有把全部的查找替换命令直接塞到 vim script 里面就可以了。

此外还有 normal 命令可以让用户直接编写键盘的操作。你想要什么操作,直接在脚本里面写就好了,这是十分直观和容易学习的,而 elisp 就难懂得多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式