微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们可以在vim中为给定的文件类型使用多个片段文件吗?

当使用snipmate vim时,是否可以有许多片段文件
加载给定的语言/文件类型?

例如:
snipmate附带javascript.snippets
我也加载了mootools片段,并将其添加到我的vimrc中:
autocmd FileType javascript set ft = javascript.mootools

现在我可以用

>股票js片段
> mootools片段

我想添加第三组代码片段javascript.myCustomSnippets,这也将为文件类型javascript加载.

当我尝试添加使用这样的自定义片段
autocmd FileType javascript set ft = javascript.myCustomSnippets
它覆盖/禁用mootools片段,但认的JavaScript片段继续工作.

我该如何做到这一点,还是有可能吗?

ps:我知道我可以将我的片段添加认的javascript片段文件中,但是由于我的.vim / bundle /文件夹中已经同步了snipmate github repo,所以我想保留个人的东西与活的repo分开.

我的解决方

最终使我的文件并行工作的具体解决方案是将这样的文件结构化(顺便说一下,我使用pathogen自动加载bundle dir)

~/.vim/bundles/
    snipmate.vim/snippets/javascript.snippet
    vim-snippets.mootools/snippets/mootools.snippet
    vim-snippets.myCustomSnippets/snippets/javascript.snippets

通过命名我的文件“javascript.snippets”,它与认值一起自动加载.

Ruy Diaz是关于个人资料的对象,您可以将所有自己的代码片段保存在“〜/ .vim / snippets”中,并且github回收站将不会有任何问题.如果这对您不起作用,则g:snippets_dir变量可能具有错误的值 – 只需将其明确设置为您的vimfiles.

关于组合几个片段,您可以使用ExtractSnipsFile函数.这应该做你想要的,而不会弄乱点缀的文件类型语法.

假设您有以下三个片段文件,全部在您的片段目录中:

> javascript.snippets
> mootools.snippets
> myCustomSnippets.snippets

在/ plugin / snippets.vim之后创建一个文件,并在其中放置以下内容

call ExtractSnipsFile(g:snippets_dir.'javascript.snippets','javascript')
call ExtractSnipsFile(g:snippets_dir.'mootools.snippets','javascript')
call ExtractSnipsFile(g:snippets_dir.'myCustomSnippets.snippets','javascript')

这将使所有这些片段与javascript文件类型相关联,不需要显式的自动命令.有关更多信息,可以尝试:help ExtractSnipsFile.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐