Emacs命令将代码缩进4个空格以格式化以粘贴到stackoverflow帖子中

时间:2010-08-19 06:24:27

标签: emacs

必须有一种更好的方法来使用Emacs缩进stackoverflow帖子的代码块。我目前的策略是:

  1. 选择文字区域
  2. 执行M-x indent-code-rigidly
  3. 运行C-x z 三次以重新启动该区域
  4. 这似乎已经死了。请赐教我如何以巧妙和优雅的方式实现这一目标。

2 个答案:

答案 0 :(得分:5)

我最近创建了这个有用的命令:

(defun stackoverflow-copy-code-snippet (begin end)
  (interactive "r")
  (let ((buffer (current-buffer)))
    (with-temp-buffer
      (insert-buffer-substring-no-properties buffer begin end)
      (indent-rigidly (point-min) (point-max) 4)
      (clipboard-kill-ring-save (point-min) (point-max)))))

我只是用它来将自己的来源复制到这篇文章中。如何元!

答案 1 :(得分:3)

这与scottfrazer的答案没有什么实质性的区别,但输入起来更容易:C-u C-x C-i