如何在Emacs Lisp中检查点是否在缩进点?

时间:2012-11-09 10:59:20

标签: emacs elisp

是否有测试当前点是否在缩进点的功能?即该点是back-to-indentation的可能结果。

3 个答案:

答案 0 :(得分:2)

(defun point-at-indentation-p ()
  (if (= (save-excursion (back-to-indentation) (point)) (point))
      (message "I'm at indentation")
    (message "I'm elsewhere")))

看起来像一个简单的...不知道为什么要这样做。

答案 1 :(得分:1)

如果point位于当前行的第一个非空白字符处,则以下代码将返回t,否则将返回nil

(looking-back "^\\s-*")

答案 2 :(得分:1)

我记不起这样的功能了。我用

(and (looking-at "[^ \t]\\|$")
     (save-excursion (skip-chars-backward " \t") (bolp)))

请注意,使用looking-back有效,但looking-back在算法上效率低下,因此在某些病态情况下可能会慢一些。