gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:53:39 24 4
gpt4 key购买 nike

使用snipmate + vim时,是否可以有很多snippet文件加载给定的语言/文件类型?

例如: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 存储库,所以我想要将个人内容与实时存储库分开。

我的解决方案

最终让我的文件并行工作的具体解决方案是像这样构建我的文件(顺便说一句,我正在使用 pathogen 自动加载 bundle 目录)

~/.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 变量可能具有错误的值 - 只需在您的 vim 文件中显式设置即可。

对于组合多个片段,您可以使用ExtractSnipsFile函数。这应该可以完成您想要的操作,而不会弄乱点文件类型语法。

假设您有以下三个代码片段文件,全部位于代码片段目录中:

  • javascript.snippets
  • mootools.snippets
  • myCustomSnippets.snippets

创建一个文件“after/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

关于vim - 我们可以在 vim 中为给定文件类型使用多个片段文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6916250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com