在 IEx 1.2.4 中键入()
时,光标会“跳”到匹配的括号 1s 并向后移动。虽然它不是真的跳跃,但它有点烦人的眼睛。有没有办法在 IEx 中禁用此功能?
编辑:
虽然问题最初涉及 IEx,但实际问题(正如 @tkowal 在下面的评论中指出的那样)实际上是在 IEx 之上运行的 Erlang Shell 中。因此,我在这个问题中添加了 erlang-shell 标签。
在 IEx 1.2.4 中键入()
时,光标会“跳”到匹配的括号 1s 并向后移动。虽然它不是真的跳跃,但它有点烦人的眼睛。有没有办法在 IEx 中禁用此功能?
编辑:
虽然问题最初涉及 IEx,但实际问题(正如 @tkowal 在下面的评论中指出的那样)实际上是在 IEx 之上运行的 Erlang Shell 中。因此,我在这个问题中添加了 erlang-shell 标签。
光标跳跃发生在lib/stdlib/src/edlin.erl
(在 Erlang's 中stdlib
)。具体来说,它似乎发生在第 205 到 213 行,其中)
、]
和}
似乎被捕获并转换为移动光标的指令(然后通过erl
监督树中的各种进程一直发送到user_drv
,其中然后向端口发送必要的命令以tty_sl
使光标移动请求发生)。
不幸的是,没有办法(AFAICT)禁用不涉及在该位置修补代码的功能(无论是通过注释掉这些行还是通过添加额外的保护来检查传递给的新选项erl
)。如果您准备修补该文件并重新编译 Erlang,那就去吧。否则,这至少是某人尝试围绕该行为实施配置选项的起点。