Emacs Paredit:如何删除注释分号

Emacs Paredit: how to delete comment semicolons

基于 How do you comment out all or part of a Lisp s-exp using Paredit? 我做了 C-M-space 然后 M-; 并且如预期的那样得到了一个注释掉的 S-exp:

;; (when window-system
;;     (sr-speedbar-open))

现在我该如何删除那些分号?当我尝试明显的(退格或删除)时,只有一个分号消失了。我也不能只是撤消,因为我在添加分号和想要删除分号之间做了其他事情。我也可以为此任务关闭 paredit,但我确信有更优雅的方法。

您可以做的一件事是 re-select 区域,然后再次执行 M-;,这将 un-comment 给定区域(如果已经评论)。您也可以尝试 this function that I've put together,它在给定行上向后删除,同时仍保留定界符(它基本上是向后 paredit-kill)。您只需导航到评论分号后的位置,然后调用 paredit-backward-delete-line,最好使用您将其绑定到的任何键绑定(在我上面的回答中是 <C-backspace>)。