2014-11-01 67 views
3

最近的全系統更新我注意到在Haskell模式縮進已成爲真的很奇怪後:縮進去瘋狂在Emacs哈斯克爾模式

import Data.Ratio 
    _ 

下劃線表示符的位置按輸入,即在在我的情況下在4列。這真的讓人難以忍受,因爲每次我點擊輸入就會進入第4列。

我敢肯定它跟Haskell模式本身沒有任何關係,因爲它沒有新的更新,並且它一直工作到現在。然而,似乎有新版本的Emacs:24.4,所以我想知道他們是否改變了會導致這個錯誤的東西。

還有其他人遇到問題嗎?你有什麼想法如何解決它?

+0

我從來沒有見過一個新的版本出來 - 感謝您指出了這一點。我想我會等一會兒才能拿到24.4 – Carsten 2014-11-01 09:14:44

+2

這裏有一節「編輯修改......縮進」:https://www.gnu.org/software/emacs/news/NEWS.24.4-我想知道是否這是罪魁禍首 - 你可以嘗試禁用「電子縮進模式」嗎? (你知道'Mx電子縮進模式'並尋找結果 – Carsten 2014-11-01 09:18:40

+0

@CarstenKönig,是的,它禁用了這種行爲!我會在我的'.emacs'中添加一些行以在啓動時禁用它。 – Mark 2014-11-01 09:21:27

回答

3

似乎有一個新的壓痕模electric-indent-mode 24.4 介紹(見"Editing Changes ... Indentation" section here

您可以通過(用於會議)

M-x electric-indent-mode 

或添加類似

(electric-indent-mode 0) 
禁用

到您的.emacs文件。

你可以用這個只是haskell-mode禁用它太:

(add-hook 'haskell-mode-hook 
      (lambda() (electric-indent-local-mode 0))) 
+0

而不是希望一些專家可以評論,你爲什麼不試試?我很確定你很快就會發現它不會做你的想法(當你訪問一個haskell文件時,它會在全球範圍內重新啓用電子縮進模式)。 – Stefan 2014-11-01 13:22:40

+0

@Stefan,因爲我的系統上沒有這個版本的emacs,並且基於此:https://www.gnu.org/software/emacs/manual/html_node/emacs/Minor-Modes.html#Minor-Modes它*可能*工作,但它不是100%清楚。但是,也許你可以告訴我,如何爲主要模式禁用小模式,並且我會很樂意編輯答案 - 或者更好:自己做答案,並且我會很高興地提出並刪除我的違規部分 – Carsten 2014-11-01 13:36:12