在Erlang shell中禁用跳转游标

时间:2016-04-15 18:43:27

标签: elixir erlang-shell iex

在IEx 1.2.4中键入()时,光标会跳过"跳跃"到1s的匹配括号并向后移动。即使它并没有真正跳跃,但它有点令人讨厌。有没有办法在IEx中禁用此功能?

编辑:

虽然最初涉及IEx的问题,实际问题(正如@tkowal在下面的评论中所指出的)实际上是在IEx运行的Erlang Shell中。因此我在这个问题上添加了erlang-shell标签。

1 个答案:

答案 0 :(得分:7)

光标跳转发生在lib/stdlib/src/edlin.erl(在Erlang的stdlib中)。具体来说,它似乎发生在第205到213行,这是)]}似乎被捕获并转换为移动光标的指令(然后发送)通过erl的监督树中的各种进程一直到user_drv,然后将必要的命令发送到tty_sl端口以使光标移动请求发生。)

不幸的是,没有办法(AFAICT)禁用不涉及修补该位置代码的功能(无论是通过注释掉这些行还是添加额外的警卫来检查传递给{{1}的新选项})。如果您打算修补该文件并重新编译Erlang,那就去吧。否则,至少是某人尝试围绕该行为实施配置选项的起点。