gpt4 book ai didi

emacs - SLIME 是否有快捷键可以在 slime 模式下注释 Lisp 代码块?

转载 作者:行者123 更新时间:2023-12-01 10:12:28 29 4
gpt4 key购买 nike

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

规范:

Aquamacs 2.1 (Emacs 23.2)

史莱姆 2010-11-16

MacPorts CLISP 2.49

Mac OS X 10.6.4

MacBook Pro 5,1

最佳答案

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

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

我还将以下 block 放入我的 .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)

我猜是来自 here .

UPD:我忘了提到,尽管 slime-insert/remove-balanced-comments 与 paredit 配合得很好,但 C-; 命令在括号数奇数的行上使用可能会很痛苦。如果像

这样的行
((blah|-blah)))))))

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

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

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

关于emacs - SLIME 是否有快捷键可以在 slime 模式下注释 Lisp 代码块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4200145/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com