虽然我是Vim用户,但我很想开始学习Emacs。但是每当我开始跟随Emacs教程时,我总会不小心按到Vim命令,感到非常沮丧。
有没有更好的方法来完成转换呢?
我建议只是在事故发生频率降低之前坚持度过。我怀疑添加一个层来尝试“帮助”——比如一个会试图推断意外的Vi命令并执行它们的层——只会使过渡变得更慢。
当我在不同的版本控制系统之间转换时也是这样做的。与其创建一个Shell脚本包装器,让我继续使用错误的子命令,并将它们转换为新的VCS习惯用语,我宁愿被迫“说出新系统的语言”。
记住:你是人类;你天生适应新环境。保持清醒,让错误成为错误,你会做得很好的。
练习,练习,再练习。正如您从学习 Vim 中所知道的一样,只有通过大量实践才能使命令变得自然流畅。我是一位长期使用 Vim 的用户,学习 Emacs 极其痛苦,需要数月时间,但现在我两者都很好地应付了。学习两者都是值得的,因为 Emacs 在编辑某些语言和执行某些任务方面比 Vim 更好,反之亦然;具有使用任何一个的选项是好的。过一段时间后,您会开始在脑海中将两者划分开来,您可能不会遇到太多困难(尽管我偶尔会用 :wq
去退出 Emacs 和 C-/
在 Vim 中取消撤销,但这种情况并不经常发生)。
彻底阅读 Emacs 文档。Vim 和 Emacs 的术语和功能非常相似,但有些许差异足以让所有内容变得混淆起来。教程是一个好的开始,但Emacs 手册是最佳实践和配置技巧的宝库。
Emacs 维基是您的朋友。当您遇到无法接受的 Emacs 功能时,通常有一种方法可以解决问题。
C-h a
也是您的朋友。就像 Vim 中的 :h
一样不可或缺,Emacs 帮助系统在浏览 Emacs 的庞大内置命令集时非常有用。有许多搜索文档以找到所需内容的方法;这个页面有一个很好的摘要。
不要一开始就使用viper或vimpulse。Emacs永远无法与Vim相比。首先要沉浸在Emacs中,直到你习惯了它。Emacs的操作方式非常不同,但与Vim的按键绑定相比,它有自己的优点和缺点。学习两者,这样你可以看到它们的长处和短处,并做出明智的决策。现在,我已经借用了一些Emacs的快捷键,并将它们映射到Vim中,反之亦然。
慢慢来。当(而不是如果)Emacs让你发狂时,请休息一下,使用Vim,稍后再回来。这需要一段时间。
请记住,你不需要“切换”。你不会忘记Vim并用Emacs替代它。如果你知道Vim并学习了Emacs,那么你将会知道两者。这是一件好事。
从Vim与Emacs的辩论时长和强度来看,两个编辑器的实用性大致相同。如果你已经熟悉vi,那么最好继续使用它。
我没有使用过这个(我使用Vim),但Vimpulse是一个Emacs脚本,用来模拟Vim(与Viper-mode不同,它是用来模拟vi的)。 这可能会使过渡更容易。
我认为这取决于你学习Emacs的动机。
如果你只是对学习Emacs有一点兴趣,viper模式可能是最好的选择,因为重新训练肌肉记忆可能不值得付出痛苦和挫折。你仍然可以使用所有优秀的Emacs功能,但根据你选择的viper级别自定义你的体验。
如果你想学习Emacs,因为你想要一个完全可定制的编辑器,那么我建议选择一个你认为可能有趣的任务,并用它来激励你使用Emacs。这种体验将是完全独特的。在这种情况下,我建议直接使用Emacs并期望几天的痛苦和挫折。