【发布时间】:2017-02-10 22:56:05
【问题描述】:
我正在尝试编写一个 emacs LISP 函数来取消缩进该区域
(僵硬地)。我可以将前缀参数传递给indent-code-rigidly 或
indent-rigidly 或 indent-region 都可以正常工作,但我没有
希望总是必须传递一个否定的前缀参数来转移东西
离开了。
我当前的代码如下,但它似乎什么也没做:
(defun undent ()
"un-indent rigidly."
(interactive)
(list
(setq fline (line-number-at-pos (region-beginning)))
(setq lline (line-number-at-pos (region-end)))
(setq curIndent (current-indentation))
;;(indent-rigidly fline lline (- curIndent 1))
(indent-region fline lline 2)
;;(message "%d %d" curIndent (- curIndent 1))
)
)
我认为(current-indentation) 不会让我得到第一行的缩进
该地区的第一行,但在该地区之后的第一行(所以第二个问题是
如何得到它!)。但即使我只是对列使用常量(如图所示,
我没有看到这个功能有任何改变。
虽然如果我取消注释 (message) 调用,它会显示合理的数字。
GNU Emacs 24.3.1,在 Ubuntu 上。万一这很重要,我使用
(setq-default indent-tabs-mode nil) 和 (cua-mode)。
我一定遗漏了一些明显的东西......?
【问题讨论】:
标签: emacs indentation