Emacs键绑定注释选择/多行SQL文件?

时间:2014-01-11 08:23:22

标签: sql emacs key-bindings

我有一个我在Emacs 24中编辑的.sql文件,我正在寻找一种注释选择或行的方法。基本上,我希望键绑定在行开头添加--(对于单行注释)或在所选区域周围添加/**/(对于可变行注释)。

也许有些东西我可以添加到我的.emacs来启用这样的键绑定? (我对Emacs有点新手)谢谢。

修改

经过一番探索之后,我发现M-x comment-region为单行评论做了诀窍。这也非常有用: Comment Guide in Emacs

不过,我怎样才能进行变量注释?

2 个答案:

答案 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来更改区域的评论方式。