如何在VIM中向snipMate添加新的代码段

时间:2011-08-15 13:58:34

标签: vim snipmate

我刚刚开始为VIM使用sniptMate插件并喜欢它,但是,由于我的片段集合不是很大,我希望能够动态添加新的片段而不是打开片段文件并创建一个新的片段片段,因为我正处于开发阶段。

当我正在编写代码时,我意识到某些特定的代码片段可以保存为片段,以免我再次输入膨胀代码的麻烦,此时我希望能够在不打开代码片段文件的情况下添加代码片段对于我当时使用的语言。

6 个答案:

答案 0 :(得分:9)

如果您使用pathogen,则可以编写自己的代码段,而不会污染原始代码段。为此,请将您的代码段添加到~/.vim/bundle/mysnippets/snippets/*.snippets。仅供参考,mysnippets可以是任何名称。

此外,在您添加片段的目录中添加_.snippets文件是一种惯例,无论文件类型如何,这些片段都应该可用。

答案 1 :(得分:5)

我不确定这是否意味着这样做,但您可以尝试从当前正在处理的文件中调用MakeSnip函数。例如:

:call MakeSnip(&ft, "foo", "<foo>${1}</foo>")

&ft会传递您当前正在修改的文件的文件类型,"foo"是触发器,"<foo>${1}</foo>"是替换文字。

当然,这样创建的片段不会持续存在。那么为什么不在另一个缓冲区中打开片段文件,根据需要在那里定义新的片段,然后执行:

:call ReloadSnippets(&ft)

并且您的新代码段将可用。在编写片段文件时,您甚至可以定义一个autocmd来调用ReloadSnippets函数。

答案 2 :(得分:4)

您可以将自己的代码段放在~/.vim/after/snippets/或Windows上的等效内容...阅读:h snipMate以获取文件名语法。

答案 3 :(得分:1)

只需放置您自己的代码段(假设您要在所有编辑的文件中使用它们):

~/.vim/after/snippets/_.snippets

例如:

snippet test
  {"foo": "${1}", "bar": "${2}"}

答案 4 :(得分:0)

Snipmate的代码段通常存储在snippets folder的“.vim”目录中。

您可以非常轻松地编辑您正在使用的语言的代码段文件。

答案 5 :(得分:0)

如果您使用vundle管理Windows上的插件并已安装

vim-snipMate & vim-snippets

如果您想添加自定义,请说出 html &#39; filetype,你只需要转到这个文件夹:

$HOME/vimfiles/bundle/vim-snippets/snippets/ 

创建一个新文件并以此格式命名:

html_bsmith.snippets  

(在html之后必须是下划线,请参阅:help snipmate)

然后vim将自动加载您的文件。

如果您可以在任何地方使用自定义,只需将其放在现有文件中:

    _.snippets