如何在 emacs 中取消注释块代码

S F*_*nch 8 emacs comments

我正在使用激活了主要模式“Java/L Abbrev”的 emacs。当我键入M-x comment-regionM-x uncomment-region在编辑器中发生所需的效果时。但我厌倦了每次都打出来。

我发现我可以输入C-c C-c和评论一个区域。我想找到一种类似的方法来取消对区域的注释。我去 emacs 文档:

https://www.gnu.org/software/emacs/manual/html_node/ccmode/Comment-Commands.html

它说给C-c C-c命令一个否定的参数来取消注释行。我该怎么做呢?或者,还有更好的方法?

var*_*rro 9

请尝试M-;,默认情况下绑定到comment-dwim. 我认为这应该做你想做的。


Aar*_*ris 2

TLDR:使用C-- C-c C-c; 即,在命令前面加上“control-hyphen”

要为命令提供负参数,您需要调用该negative-argument命令或该universal-argument命令,并提供负参数。(尝试C-h f获取有关这些的更多信息。)

negative-argument命令绑定到键C--M--C-M--,因此所有这些都将用作前缀;通常,对于任何给定命令,您将使用最方便键入的命令。

universal-argument命令绑定到C-u并立即接受其参数,因此您也可以执行C-u -,可选地后跟零个或多个数字(例如,C-u - 5 3 9);这在这里有点过分了,但很高兴知道这一点。

最后,是 Emacs 手册中讨论该主题的部分。