相关疑难解决方法(0)

你如何使用Paredit注释掉全部或部分Lisp s-exp?

在编辑Lisp代码时,有时完全注释掉顶级定义是有用的,如下所示:

;(defun some-fn-which-is-broken (x)
;  ...)
Run Code Online (Sandbox Code Playgroud)

...或只注释一个s表达式的一部分,如下所示:

(foo x
;    y
     z)
Run Code Online (Sandbox Code Playgroud)

...然后重新编译文件并在REPL中测试一些东西等.

启用paredit-mode后,这不起作用.如果该点恰好在下面的第一个paren之前,那么会发生什么:

(defun some-fn (x)
  ...)
Run Code Online (Sandbox Code Playgroud)

并键入分号,输入的是分号和换行符:

;
(defun some-fn (x)
  ...)
Run Code Online (Sandbox Code Playgroud)

与注释掉部分s表达式相同:

(foo x
;    
     y
     z)
Run Code Online (Sandbox Code Playgroud)

我认为,如果定义全部在一行,这有效:

;(defparameter *foo* 10)
Run Code Online (Sandbox Code Playgroud)

...但否则我无法知道如何做到这一点.Paredit很棒,我真的很想继续使用它.是否有任何Lispers知道解决这个问题的方法,或者Emacs -wizards谁可以掀起一些Emacs Lisp绑定到类似的东西paredit-comment-out-s-expr

如果有更多的Lispy或Emacsy方法完成基本相同的事情,请注释掉部分源代码以重新编译,请不要犹豫,建议它们!

lisp emacs paredit

14
推荐指数
2
解决办法
4133
查看次数

标签 统计

emacs ×1

lisp ×1

paredit ×1