如何让Spacemacs停止使用python-ts-mode,恢复python-mode
解决Spacemacs自动用python-ts-mode打开.py文件的问题
核心原因
你之前添加的add-to-list代码无效,是因为Spacemacs的Python Layer在初始化时会覆盖auto-mode-alist的设置,把.py文件关联到python-ts-mode,你的配置优先级低于Layer的默认设置。
分步解决方案
1. 直接在Python Layer中关闭Tree-sitter支持(最推荐)
打开你的Spacemacs配置文件(~/.spacemacs),找到dotspacemacs-configuration-layers部分,修改Python层的配置:
(python :variables python-enable-tree-sitter nil)
这会直接让Spacemacs的Python Layer默认使用原生python-mode,不需要额外修改auto-mode-alist。
2. 强制覆盖auto-mode-alist(如果Layer配置修改无效)
如果上面的方法没起作用,你可以在配置文件的dotspacemacs/user-config部分添加以下代码,确保在Layer加载完成后替换模式关联:
(after-load 'python ;; 先移除已存在的python-ts-mode关联 (setq auto-mode-alist (delq (assoc "\\.py[iw]?\\'" auto-mode-alist) auto-mode-alist)) ;; 添加原生python-mode的关联 (add-to-list 'auto-mode-alist '("\\.py[iw]?\\'" . python-mode)))
3. 临时应急方案(单次生效)
如果只是临时想切换回python-mode,可以打开.py文件后,直接执行命令:
M-x python-mode
这个命令会立即切换到原生Python模式。
内容的提问来源于stack exchange,提问作者Harm
相关产品推荐
相关产品推荐

