缩进在emacs for python中无法正常工作

2024-04-24 03:23:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里使用gabrielanaro提供的emacs for python。

缩进似乎一点也不适合我。

当我创建一个需要自动缩进(if,for等)并按enter或Ctrl + j的类、函数或任何其他代码块时,这种情况不会自动发生。相反,emacs说的是“算术错误”。

当我在.py文件的任何地方按Tab时,都不会发生这种情况。同样,每次按Tab都会导致“算术错误”。

另外,当我使用空格手动缩进代码时,我不能删除这些空格!退格这些缩进也会导致“算术错误”。

当我使用常规的Python AC模式时,这个问题也会出现。

emacs:GNU emacs 24.3.1(x86_64-pc-linux-GNU,GTK+版本3.10.7) 2014-03-07关于lamiak,由Debian修改


Tags: 函数代码pygnuforif错误情况
3条回答

您能在init.el中注释与自动完成相关的行吗?

; (add-to-list 'load-path "~/.emacs.d/auto-complete-1.3.1")
; (require 'auto-complete)
; (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
; (require 'auto-complete-config)
; (ac-config-default)
; (global-auto-complete-mode t)

与这个错误有关

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15975

我找到的最快的解决方法是将Jorgens Answer添加到.emacs文件中,在.emacs文件的末尾添加以下内容

(add-hook 'python-mode-hook
  (lambda () (setq python-indent-offset 4)))

检查python-indent-offset的值。如果是0,则将其更改为M-x set-variable RET python-indent-offset RET 4 RET

Emacs试图在打开Python文件时猜测其中使用的偏移量。对于某些格式不正确的Python文件,它可能会混淆并将该变量设置为0。如果这确实是问题所在,请使用M-x report-emacs-bug和Python文件的文本提交错误报告,以便可以修复自动检测。

相关问题 更多 >