评论块与emacs中的明星

时间:2011-07-05 05:23:48

标签: emacs comments

在emacs中需要执行哪些设置和命令才能发出如下评论:

  /**
   * 
   * something here
   */

感谢。

6 个答案:

答案 0 :(得分:5)

一种简单的方法是定义自己的插入命令 评论。将其添加到.emacs文件中:

(defun insert-doc-comment () (interactive)
   (insert "/**\n * Brief description. Long description. \n * @param \n * @return \n * @exception \n * @see \n * @author \n */"))

然后将新命令绑定到您喜欢的键:

(define-key global-map [(S-f1)] 'insert-doc-comment)

现在按Shift-F1会插入一个注释块,如下所示:

/**
 * Brief description. Long description. 
 * @param 
 * @return 
 * @exception 
 * @see 
 * @author 
 */

答案 1 :(得分:2)

您可以使用emacs构建模板。模板是文件结构的骨架,可以绑定到具有特定扩展名的文件。例如,您可以创建一个适用于您使用.java扩展名创建的任何新文件的java模板,并且您可以创建一个C ++模板,该模板适用于您使用.cpp扩展名创建的任何文件(另一个文件适用于.h文件)如果需要的话。)

这个wiki有更多示例可以帮助您开始使用C ++类模板。

答案 2 :(得分:2)

使用yasnippet snipept,如果您还没有使用它,请尝试一下。

把它放在你的片段/ ** - 模式/

# -*- mode: snippet -*-
# name: dock
# key: /*
# --
/*
 * $1
 */
$0

或其他版本:

# -*- mode: snippet -*-
# name: docblock
# key: /**
# --
/**
 * ${1:name} - ${2:short description}
 * @${3:argv1}: $4
 * @${5:argv2}: $6
 *
 * ${7:long description}
 */
$0

我在我的片段中得到了两个/,顺便说一句,你应该将yasnippets-xx/snippets复制到另一个地方,例如~/.emacs.d/snippets,然后将其放入.emacs

(setq yas-snippet-dirs '("~/.emacs.d/snippets"))

每当您更新yasnippet时,yasnippet-xx / snippets将替换为作者的摘要,您可以add/delete/modify ~/.emacs.d/snippets根据自己的需要{{1}}自己的摘要。

答案 3 :(得分:0)

M-x customize-group RET comment

查看"价值菜单" "评论风格"变量

(然后你可以同时使用" comment-dwim"或" comment-or-uncomment-region"来切换所选块的注释和注销)

如果您希望当前行在没有区域处于活动状态时进行注释,您也可以使用此功能:

(defun px-toggle-comments ()
  "If region is set, [un]comments it. Otherwise [un]comments current line."
  (interactive)
  (if (eq mark-active nil)
      (progn 
                (beginning-of-line 1)
                (set-mark (point))
                (forward-line)
                (comment-dwim nil))
    (comment-dwim nil))
  (deactivate-mark))

我通常将它绑定到M-d:

(global-set-key (kbd "M-d") 'px-toggle-comments)

答案 4 :(得分:-1)

您正在寻找M-x comment-region及其朋友的特定模式。

答案 5 :(得分:-1)

您可以定义键盘宏来完成工作,然后运行它。对于您的情况,请键入开头/*,然后键入C-x (C-n M-m *C-x )。直到您要注释掉的最后一行为止C-x e。在最后一行时,请使用/结束。

我知道它看起来很丑陋,但是FWIW,它对我有用。当我必须评论大块时,我会使用这种方法。