如何阻止 (doom-)emacs 自动完成 python 中函数定义的冒号?

How can I stop (doom-)emacs from auto completing the colon of a function definition in python?

我目前遇到的问题是,每当我编写函数定义的开头时:

def function():

当我键入 ( 时,其余的 ():) 会自动完成。我不介意自动完成,但烦人的是,与 ) 不同,我无法覆盖已完成的 :。 前段时间我在使用 spacemacs 时遇到了相同或类似的问题。我认为这可能是 python-mode 的问题,但我无法弄清楚到底是什么导致了问题或如何解决它。

编辑:在知道原因是 smartparens 之后,我尝试了 electric-pair 但对它的某些行为不太满意。我的最终解决方案是通过将以下内容添加到我的配置中来禁用 smartparens 中的此行为。

(setq sp-python-insert-colon-in-function-definitions nil)

因为smartparens,见https://github.com/hlissner/doom-emacs/issues/5151