【发布时间】:2011-06-20 17:20:13
【问题描述】:
我是 Emacs 用户,没有配置编辑器的技能。在我从haskell-mode 2.4 升级到 2.7 之后,我注意到了两个变化:
- 缩进在某种程度上是不同,在某种程度上我不太喜欢。我不能完全确定它是什么。
- 更重要的是:如果我启用了 cua 模式并突出显示了一个文本块,退格/删除不会删除整个块,只是我标记中的上一个/下一个字符。
我看到 haskell-mode 2.7 默认使用次要模式 haskell-indentation-mode,而 2.4 的行为以 haskell-indent-mode 的形式保留。如果我先关闭前者,然后再打开后者,我想要的行为就会恢复(即缩进感觉就像以前一样,退格/删除删除突出显示的块)。
但是,当我打开带有 .hs 后缀的文件时,我无法自动执行此操作。我尝试了各种类似的东西
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indentation-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent-mode)
和类似的,但我要么以标准模式结束,要么以没有缩进和文档的普通 haskell 模式结束。
有什么想法吗?
解决方案(感谢 nominolo):
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(remove-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
(add-hook 'haskell-mode-hook 'my-haskell-mode-hook)
(defun my-haskell-mode-hook ()
(haskell-indentation-mode -1) ;; turn off, just to be sure
(haskell-indent-mode 1) ;; turn on indent-mode
)
【问题讨论】:
标签: emacs haskell indentation