1
我正在編輯emacs的python代碼。由於某些未知的原因,有時我會在emacs中打開一個.py文件,並且即使它們正確運行,不同的塊也會以不同的方式縮進。我有一個看起來像塊:python的身份弄糟emacs
class Foo:
def __init__(self, params, p):
"""
Foo
"""
self.params = params
self.p = p
if self.p:
if (not ('A' in self.params)) or \
(not 'B' in self.params):
raise Exception, "Error"
self.params = ...
行的縮進顯然是不一樣的下一行self.p = p
,但代碼運行。
這是什麼原因造成的?怎麼修復?
當我運行:
$ reindent -d ~/code.py
上述文件
,沒有打印。
其實,當我把它粘貼到這個文本框中時,它看起來是正確的,直到我按下{}
按鈕使它看起來像代碼。任何線索發生了什麼?用這種行爲編寫代碼是不可能的。
我不認爲它是混合製表符和空格,因爲whitespace-mode
在Emacs顯示:
@Kevin:我不認爲它是混合它們,因爲應該修復的腳本不會改變事物(http://www.cogsci.nl/blog/tutorials/136-fix-mixed-tabspace-壓痕在-蟒代碼) – user248237dfsf