Emacs for Erlang与vi类似的键绑定和方便的简短引用?

c86crjj0  于 2022-12-08  发布在  Erlang
关注(0)|答案(2)|浏览(119)

我遇到过vi风格的Emacs键绑定,但是我过去在.emacs文件中混合基于Lisp的配置以启用各种模式等的经验,到目前为止还不是很愉快。
阅读了几篇关于Emacs + Erlang的文章,但是对于那些主要熟悉vi的人(以及不熟悉Lisp的人)来说,有没有什么东西可能稍微容易一些?
所有的可能性(键绑定)是相当压倒性的。是否有一个浓缩的键Map/快捷方式参考特别相关的Erlang开发?

ifsvaxew

ifsvaxew1#

只需要使用vi和命令行就可以了。有很多人都在这样做,而且似乎对他们来说效果很好。尽管我使用Emacs,但我使用的不是Emacs-Erlang交互。相反,我通常只有一个单独的Erlang shell,然后我用l()命令在该shell中加载模块进行交互。
逐一回答您的问题:

  • 用Erlang进行调试是很有趣的。首先,如果你的程序保持"功能性",你会发现你需要更少的调试来找出程序做错了什么,因为你可以简单地为众多函数中的每一个编写小的测试来测试它的正确性。而且你可以将这些测试添加到单元测试框架中。

一旦你将多个进程添加到混合进程中,你会发现传统的调试已经不起作用了。接下来的技巧是跟踪和Assert,你需要学习一种不用运行程序就能读取程序的方法,看看它们在调试器中的位置。
也就是说,尝试在Erlang shell中执行debugger:start():)还有跟踪系统和 * redbug *,这是一个构建在它们之上的第三方工具(eper套件的一部分)。

  • 可以使用3 - 4个分析器之一进行分析:cprofeproffprof在作用域、对程序的影响以及是否可以在生产系统上运行方面都略有不同。我倾向于使用eprof,并且在程序中有一个旋钮,它将生成一个eprof,然后在程序开始时附加它。
  • 在shell中尝试appmon:start()
  • 浏览大型代码库的标准方法是创建tags文件,这样你就可以跳转到光标下的定义点。Emacs也可以这样做。我有一个make tags目标来创建这些文件,这样我就可以很容易地在源代码中进行跳转。跳转时,你有一个以前跳转的堆栈,这样你就可以在以后返回到你跳转的 * 起点 *。
  • 最后,还有一些工具,比如xref,可以用来创建调用图和发现代码中的奇怪东西。这需要你编写一些代码,但是它确实为你提供了必要的工具。
yv5phkfx

yv5phkfx2#

Viper mode提供了Vi风格的键绑定。这可能是最简单的开始方式。在.emacs中启用新模式是使用Emacs的一个非常基本的部分,所以这是一个学习障碍,最好尽早清除!
Emacs manual包含有关对键绑定进行单独更改的详细信息。
您可能会发现Xah's keybinding tutorial很有帮助,因为它提供了许多示例。

相关问题