输入前一行的缩进?

时间:2014-05-05 17:35:42

标签: emacs yaml

在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

1 个答案:

答案 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)))