我的.emacs中有(global-set-key (kbd "RET") 'newline-and-indent)
,但在scala-mode(最新的,svn修订版19295)中可以正常运行。
我需要更改什么才能让它正常工作?
答案 0 :(得分:3)
(add-hook 'scala-mode-hook
(lambda () (local-set-key (kbd "RET") 'reindent-then-newline-and-indent)))
以上有点解决了这个问题。它现在按Enter键后正确缩进线,但如果换行符上方有一个空行,它仍然无效。
答案 1 :(得分:1)
在scala-mode中,默认情况下“RET”绑定到scala-newline,这将覆盖使用global-set-key
的全局键绑定集,因此需要特定于scala-mode的挂钩。考虑使用:
(add-hook 'scala-mode-hook
(lambda () (local-set-key (kbd "RET") 'newline-and-indent)))
而不是:
(add-hook 'scala-mode-hook
(lambda () (local-set-key (kbd "RET") 'reindent-then-newline-and-indent)))
如果您不希望Emacs在离开线后更改缩进。