用于在流行编辑器中跳过源文件样板的脚本/插件?

时间:2010-12-09 12:35:39

标签: vim emacs editor boilerplate

我编辑的大多数源文件在文件开头都有大约40行样板(许可证等)。这让我很烦,因为每次加载文件时都必须滚过它。

在加载时,编辑器自动跳到文件的第一个非注释部分似乎并不难。那么:有流行编辑器的脚本或插件吗?在第一个例子中,我对vim和emacs感兴趣,但是其他任何一个都很有趣。

3 个答案:

答案 0 :(得分:3)

对于GNU / Emacs,请尝试将以下代码放入.emacs文件中:

(defun skip-file-initial-comment ()
  (interactive)
  (goto-char (point-min))
  (while (looking-at (concat "\\s *" comment-start-skip))
    (forward-comment 1))
  (unless (= 0 (current-column))
    (beginning-of-line 2))
  (recenter 0))

(add-hook 'find-file-hook 'skip-file-initial-comment)

答案 1 :(得分:1)

这不是一个插件解决方案,但它可能会帮助你。

如果您在Vim中以正常模式使用{},它会向上或向下移动一个段落,即它跳转到下一个空行。

所以基本上如果你打开一个带有大量许可文本的文件,大多数时候它被认为是一个段落,所以只需输入}一次就足以转移到代码的有趣部分了。

如果您认为}输入过于繁琐,请不要犹豫将其重新映射到您熟悉的快捷方式。

对于这种特定情况,它可能不是最佳解决方案,但在文件中快速滚动是一个方便的命令。

答案 2 :(得分:1)

的.vimrc: 设置foldmethod = marker

您正在编辑的文件:

# {{{ Boilerplate
# stuff here is version blah blah and with more copyrights than you can ... blah blah
# }}}

将#替换为编程语言中的任何注释字符......

e.g。对于C

/* {{{ Boilerplate stuff
 * stuff here is version blah blah and with more copyrights than you can ... blah blah
*/ }}}

OR

// {{{ Boilerplate stuff
// stuff here is version blah blah and with more copyrights than you can ... blah blah
// }}}

关键是代码的{{{和}}}到“折叠”部分...你可以隐藏它,它会显示为“Boilerplate stuff”或开头后的任何内容“#{{ {“括号。

关闭“折叠”后,您可以使用“zo”打开它,然后用“zc”关闭它。 在VIM方式中,折叠有很多其他选项,您可以在http://vim.wikia.com/wiki/Folding详细了解更多详细信息。