从Vim切换到Emacs的最佳方法是什么?

时间:2009-06-19 18:27:16

标签: vim emacs

尽管是Vim用户,但我有兴趣开始学习Emacs。但是,每当我开始关注Emacs教程时,我最终都会意外地点击Vim命令,并对此感到沮丧。

有没有更好的方法来进行切换?

7 个答案:

答案 0 :(得分:35)

我建议只是幸存下来,直到频率降低。我怀疑添加一个试图“帮助”的层 - 就像试图推断意外的vi命令并执行它们一样 - 只会使转换变慢。

在版本控制系统之间进行转换时,我也会做同样的事情。而不是创建一个shell脚本包装器,让我通过将它们转换为新的VCS惯用语继续使用错误的子命令,我真的只是被迫“说出新系统的语言”冷火鸡。

记住:你是人;你建造的确适应新的情况。只要保持对你的智慧,让错误成为错误,你会做得很好。

答案 1 :(得分:24)

练习练习。正如你可能从学习Vim,Vim和Emacs中所知道的那样,只有大量练习才能实现,直到命令成为第二天性。我是一个长期的Vimmer,学习Emacs是非常痛苦的,花了几个月,但现在我在两个都很好。值得学习,因为Emacs在编辑某些语言和执行某些任务时比Vim更好,反之亦然;选择使用其中任何一种都是很好的。过了一段时间,你开始在心理上划分两者,你可能不会有太大的困难(虽然我偶尔会:wq Emacs和C-/ Vim,它不会经常发生问题)

  • 彻底阅读Emacs文档。 Vim和Emacs的很多术语和功能都很相似,但只是不同,足以让它变得混乱。该教程是一个良好的开端,但Emacs manual是最佳实践和配置技巧的宝库。

  • Emacs wiki是你的朋友。当您遇到绝对无法接受的Emacs功能时,通常会有一种方法来解决问题。

  • C-h a也是你的朋友。就像:h在Vim中不可或缺一样,Emacs帮助系统在导航Emacs庞大的内置命令集时非常有用。有很多方法可以搜索文档以找到您想要的内容; this page有一个很好的总结。

  • 不要使用v蛇或vimpulse,至少不要一开始。 Emacs永远不会像Vim一样好。让自己沉浸在Emacs中,直到你习惯它为止。 Emacs的做事方式非常不同,但与Vim的键绑定相比,它有自己的优势(和弱点)。了解它们,以便您可以看到这些优点和缺点,并做出明智的决定。现在我借了一堆Emacs快捷方式并将它们映射到Vim中,反之亦然。

  • 慢慢来。当(不是如果)Emacs开始让你在愤怒的嘴里泡沫,休息一下,跳进Vim然后回来。这需要一段时间。

请记住,您无需“切换”。你不会忘记Vim并用Emacs替换它。如果你了解Vim并且学习了Emacs,那么你就会知道。这是一件好事。

答案 2 :(得分:11)

您是否尝试过Emacs的viper-mode

答案 3 :(得分:6)

Vim与Emacs辩论的持续时间和强度相当强烈地表明两位编辑的实用性大致相同。如果你已经知道vi,你也可以坚持下去。

答案 4 :(得分:3)

我对此没有任何经验(我使用Vim),但Vimpulse是一个Emacs脚本来模拟Vim(与模拟vi的Viper-mode相对应)。这可能会使过渡变得更容易。

答案 5 :(得分:3)

我认为这取决于你学习Emacs的动机。

如果你只是偶然兴趣学习Emacs,viper-mode可能是要走的路,因为重新训练你的肌肉记忆可能不值得痛苦和沮丧。您仍然可以访问所有出色的Emacs功能,但可以根据您选择的viper级别自定义您的体验。

如果你想学习,因为你想拥有一个完全可自定义的编辑器,那么我会选择你认为可能很有趣的任务,并使用它来激发Emacs的使用。这种体验对您来说是完全独一无二的。在这种情况下,我建议去冷火鸡,并期待几天的痛苦和挫折。

答案 6 :(得分:3)

作为同伴转换,以及以前的vim用户,我强烈推荐viper-mode。它并不完美,但它会为你提供大部分的vi / vim键绑定。你将学习vim中常用的几个命令(IME,主要是那些以'g'开头的命令),没有太多困难。

总的来说,我真的觉得这是使用Emacs的最佳方式。 vi键绑定真的非常有效,我认为对于我在文本编辑器中做的很多事情(简单的移动命令,简单的命令,包括移动,删除,更改,搜索等),vi模型是与Emacs相比,更加简化和高效。我完全理解为什么不熟悉Emacs的人不想使用viper模式,但是当有人来自vim时,你真的有机会充分利用这两个世界。

一般情况下:习惯viper-mode不完美的事实,学习如何用Emacs方式做你想念的东西,并确保你探索Emacs所拥有的那些很酷的功能。在vim中可用。

至于使用vimpulse,我在第一次切换时尝试过,我不会真的推荐它。因为它是一个主要的模式,你会错过很多(大多数?)关于Emacs的好部分;无论如何,它仍然不是100%忠实于vim。最好采用viper模式,然后继续前进。