2012-10-24 81 views
16

我在Ubuntu 10.04上運行Emacs 24,在默認的C++環境中編碼C++。經過一段時間的編碼後,我的縮進引擎似乎打破了 - 按下「製表符」可以在行首開始縮進位置。整個緩衝區的選擇將導致整個緩衝區不被縮進。此問題會影響當前或稍後打開的所有緩衝區。到目前爲止,我發現修復它的唯一方法是重新啓動emacs(非常不方便)。是否有另一種方式來重新啓動我的縮進引擎?試圖加載不同的縮進樣式不能解決問題。emacs 24 C++自動縮進中斷

+3

我注意到這種情況發生在我'#include'特定的頭文件(特別是模板頭文件;註釋掉有問題的'#include'或重新啓動Emacs似乎解決了這個問題)。我在這裏留下這個評論以幫助人們嘗試隔離這個問題,以便它可以被正確地修復,因爲Emacs 24.3仍然存在問題。如果我發現確鑿的結論,我會更新。 – Cornstalks

+0

總是不固定?它真的很煩人...... – ArthurLambert

回答

0

我發現不平衡預處理指令(#ifdef來等),可以把它扔進這種行爲

3

的我看到了同樣的24.3,但我發現,關閉和重新開放受影響的緩衝區也解決了這個問題。

+1

同樣在這裏...只是升級到emacs 24.3.1(xubuntu 14.04),我偶爾發現縮進引擎完全錯誤。沒有注意到早期的emacs。關閉文件然後重新打開是一種解決方法。 –

2

這是我係統(Emacs 24.3 x86_64 Red Hat Linux)的一個反覆出現的問題,可能是Emacs 24中引入的一個bug,從link posted by event_jr判斷。 我遇到這個問題相當頻繁,通常通過重裝解決它,我在工作的任何緩衝液:

M-x revert-buffer RET yes RET

這樣你就不必關閉沒有緩衝,也不Emacs的。

+1

關閉和打開文件的工作原理,只是恢復緩衝區不幸的是(24.3.1 x86_64-pc-linux-gnu)。 –

+0

同樣對我來說還原緩衝是不夠的:/ – log0