当缓冲区为空时如何使缩进相对不缩进?

时间:2015-04-15 03:52:22

标签: emacs elisp

我有一个函数可以覆盖返回时缩进的行为,这是一个简单的块缩进。问题是当缓冲区为空时,缩进相对和缩进相对可能会缩进。

当我创建一个缓冲区时,我可能需要在顶部有一些空行,这些函数会导致光标在没有前一个块缩进时缩进。

我该如何解决这个问题?

(defun my-enter ()
  "Inserts a newline character then indents the new line just like the previous line"
  (interactive)
  (newline)
  (indent-relative-maybe))

1 个答案:

答案 0 :(得分:2)

鉴于您在“空”的定义中包含“包含换行符”,您可以应用以下约束:

(unless (looking-back "\\`\n*")
  (indent-relative-maybe))