我编辑我的StackOverflow答案和ViewSourceWith 和Emacs的问题。通常,我包含代码和StackOverflow formatting rules 说它必须缩进四个空格才能被识别为 等。用手或者用宏来做是很痛苦的。使用Emacs缩进(移位4)代码
我在SO之前的帖子中搜索过,但什么也没找到。
从Python模式开始,我写道:
(defun text-shift-region (start end count)
"Indent lines from START to END by COUNT spaces."
(save-excursion
(goto-char end)
(beginning-of-line)
(setq end (point))
(goto-char start)
(beginning-of-line)
(setq start (point))
(indent-rigidly start end count)))
(defun text-shift-region-right (start end &optional count)
"Shift region of code to the right
Stolen from python-mode.
The lines from the line containing the start of the current region up
to (but not including) the line containing the end of the region are
shifted to the right, by `text-indent-offset' columns.
If a prefix argument is given, the region is instead shifted by that
many columns. With no active region, indent only the current line."
(interactive
(let ((p (point))
(m (mark))
(arg current-prefix-arg))
(if m
(list (min p m) (max p m) arg)
(list p (save-excursion (forward-line 1) (point)) arg))))
(text-shift-region start end (prefix-numeric-value
(or count text-indent-offset)))
)
;; Code in StackOverflow must be marked by four spaces at the
;; beginning of the line
(setq text-indent-offset 4)
(global-set-key "\C-c>" 'text-shift-region-right)
这似乎工作,但我欢迎建议,方案,错误报告, 等
这不是一个问题...... – 2009-02-27 09:59:34
这是,我希望能够替代我的快速烹制的解决方案,或者接收有趣的补丁。 – bortzmeyer 2009-02-27 10:01:32
此外,它似乎可以帮助一些人,所以我使用这种方式来查看是否有足够的兴趣去寻求文档。 – bortzmeyer 2009-02-27 10:03:11