我有一个我在Emacs 24中编辑的.sql文件,我正在寻找一种注释选择或行的方法。基本上,我希望键绑定在行开头添加--
(对于单行注释)或在所选区域周围添加/*
和*/
(对于可变行注释)。
也许有些东西我可以添加到我的.emacs来启用这样的键绑定? (我对Emacs有点新手)谢谢。
修改
经过一番探索之后,我发现M-x comment-region
为单行评论做了诀窍。这也非常有用:
Comment Guide in Emacs
不过,我怎样才能进行变量注释?
答案 0 :(得分:2)
FWIW,我只使用comment-dwim
作为行尾注释(例如,在Lisp行末尾的;
)。我在那里使用它来创建评论并重新引用它。
我 不 使用comment-dwim
评论或取消注释文本块,即使它确实允许您在某种程度上这样做(它是有限的在这方面,特别是关于嵌套和使用的评论字符的数量)。
我更喜欢 comment-region
。我将comment-region
绑定到C-x C-;
。它允许我控制或更改用于评论的;
字符数(在Lisp模式下)。它让我轻松取消注释一个文本块。它让我可以评论已经包含注释的文本块(嵌套)的文本块。它允许我取消注释给定级别的文本块(取消给定级别)。
我不能特别谈论SQL模式评论,但请尝试comment-region
并查看它是否不符合您的要求。一定要学习使用不同的前缀arg的可能性。
FWIW,我不知道你的意思是“变量行注释”。如果您的意思是(联合国)评论一段文字,请参见上文。如果你的意思不同,请详细说明。
请注意,在SQL代码中 - 就像在Lisp代码中一样 - 您可以使用单行注释语法(--
用于SQL; ;
用于Lisp)注释掉< em>阻止文本。您不需要在SQL中使用/*...*/
。例如,我在我的SQL代码中这样做。
答案 1 :(得分:1)
命令comment-dwim
可用于在大多数主要模式中评论或取消注释多行,包括sql-mode
。只需确保在使用之前选择一个区域。它默认绑定到M-;
。
开箱即用,此命令在--
中对单行和多行注释使用sql-mode
。
来自C-h f comment-dwim
:
调用你想要的评论命令(做我的意思)。
如果该区域处于有效状态且
transient-mark-mode
已启用,请致电comment-region
(除非它仅包含注释,在这种情况下,它会调用uncomment-region
)。否则,如果当前行为空,如果已定义则调用comment-insert-comment-function
,否则插入注释并缩进。否则,如果指定了前缀ARG,则调用comment-kill
。否则,请致电comment-indent
。您可以配置comment-style
来更改区域的评论方式。