我已经为Emacs提供了vi风格的键绑定,但是我过去在.emacs文件中混合使用基于Lisp的配置以实现各种模式等的经验,到目前为止还不是很愉快。
阅读有关Emacs + Erlang的几篇文章,但对于熟悉vi的人(以及不熟悉Lisp的人)来说,有些东西可能会稍微容易一些吗?
整套可能性(键绑定)非常强大。是否存在与Erlang开发特别相关的精简键映射/快捷方式参考?
答案 0 :(得分:2)
只需使用vi
和命令行即可。有很多人这样做,似乎对他们来说效果很好。即使我使用Emacs,它也不是我使用的Emacs-erlang交互。相反,我通常只有一个单独的Erlang shell,然后我使用l()
命令在该shell中加载模块进行交互。
逐一回答您的问题:
在Erlang中调试很有趣。首先,如果你的程序保持功能,你会发现你需要更少的调试来弄清楚程序的错误,因为你可以简单地为众多函数中的每一个编写小测试来测试它的正确性。您可以将它们添加到单元测试框架中。
只要您在混合中添加多个进程,您就会发现传统调试无论如何都不再起作用。然后诀窍是跟踪和断言,你将需要学习一种方法来读取程序而不运行它们,并查看它们在调试器中的位置。
也就是说,尝试在Erlang shell中执行debugger:start()
:)还有跟踪系统和 redbug ,它们是构建在它们之上的第三方工具(部分{ {1}}套房)。
可以使用3-4个分析器中的一个进行分析:eper
,cprof
和eprof
的范围和影响程度略有不同您的程序以及它们是否可以在生产系统上运行。我倾向于使用fprof
,我的程序中有一个旋钮,它会产生一个eprof然后在程序启动时附加它。
在shell中尝试eprof
。
浏览大型代码库的标准方法是创建appmon:start()
- 文件,这样您就可以跳转到游标下的定义点。 Emacs也可以这样做。我有一个tags
目标来创建这些文件,因此我可以轻松地在源代码中进行跳转。跳跃时你有一堆前跳跃,所以你可以回到你以后从跳过的那一点。
最后有像make tags
这样的工具可以用来创建调用图并在代码中查找奇怪的东西。它需要您进行一些编码,但它确实为您提供了必要的工具。
答案 1 :(得分:0)
Viper mode提供了Vi样式的键绑定。这可能是最简单的开始方式。在.emacs中启用新模式是使用Emacs的一个非常基本的部分,因此这是一个最早清除的学习障碍!
Emacs manual包含有关对您的键绑定进行单独更改的更详细信息。
您可能会发现Xah's keybinding tutorial很有帮助,因为它提供了很多示例。