3

我宁愿不必手动为每一行添加分号。

眼镜:

Aquamacs 2.1 (Emacs 23.2)

史莱姆 2010-11-16

MacPorts CLISP 2.49

Mac OS X 10.6.4

MacBook Pro 5,1

4

2 回答 2

4

看这里:

它是M-x comment-region,但它没有默认的键绑定。

于 2010-11-16T23:48:39.390 回答
4

如果代码块是一个 Lisp 表单并且你想注释掉这个表单,你可以使用slime-insert-balanced-comments(我使用M-x s-i-b-c和 SLIME 自动扩展命令)。要取消注释,请使用slime-remove-balanced-comments( M-x s-r-b-c)。

我发现这些命令非常有用。

我还将以下块放在我的 .emacs 文件中:

;; Comment function
(defun comment-or-uncomment-this (&optional lines)
   (interactive "P")
   (if mark-active
      (if (< (mark) (point))
         (comment-or-uncomment-region (mark) (point))
         (comment-or-uncomment-region (point) (mark)))
      (comment-or-uncomment-region
         (line-beginning-position)
         (line-end-position lines))))

(global-set-key (kbd "C-;") 'comment-or-uncomment-this)

我猜,是从这里来的。

UPD:我忘了提到,尽管slime-insert/remove-balanced-commentspareditC-;可以很好地工作,但在括号数量奇数的行上使用该命令可能会很痛苦。如果像这样的行

((blah|-blah)))))))

|指点),我首先按)需要多次按以在正确的位置换行并从该行分离外部右括号(在这种情况下它将是两次)。Paredit 在这里有帮助:它重新组织 s-exp,以便将右括号分成两部分,因此您可以在不破坏外部 s-exp 的情况下注释掉该行。在最后一个示例中,该行变为:

  ((blah-blah))
|)))))

第一行可以用 . 安全地注释掉C-;

于 2011-03-24T08:16:54.390 回答