在Emacs 24.3(9.0)中,我使用通过yaml-mode
安装的最新el-get-update
。当我在一行的末尾点击ENTER
时,它有一个不幸的习惯,即在插入换行符之前自动缩进我所在的行。
E.g。从这个缓冲区开始:
foo:
bar:
- baz
baz:# <- Cursor here
点击输入结果在以下缓冲区中:
foo:
bar:
- baz
baz: # <- unwanted indentation!
# <- Cursor here
我最近在很多YAML文件中工作过,这让我很生气。我该如何阻止它?
更新
为了澄清,我没有在任何其他模式中看到此行为,只是yaml-mode。我目前正在http://github.com/yoshiki/yaml-mode提交6d40a1dbd4c83f91d70f0e646e7bd8a45acc6fbf
。
答案 0 :(得分:3)
正如我们在评论中发现的那样,某些内容导致reindent-then-newline-and-indent
绑定到RET
。
我不确定绑定的来源,但您应该能够在YAML模式下将RET
重新绑定到newline-and-indent
,如下所示:
(add-hook 'yaml-mode-hook
'(lambda ()
(define-key yaml-mode-map "\C-m" 'newline-and-indent)))
如果您不想自动缩进下一行,请或简单地newline
:
(add-hook 'yaml-mode-hook
'(lambda ()
(define-key yaml-mode-map "\C-m" 'indent)))