14

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

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

4

6 回答 6

10

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

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

于 2012-09-24T10:15:31.570 回答
6

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

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

&ft将传递您当前正在编辑的文件的文件类型,"foo"是触发器并且"<foo>${1}</foo>"是替换文本。

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

:call ReloadSnippets(&ft)

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

于 2011-08-15T15:18:43.160 回答
5

您可以将自己的片段放入~/.vim/after/snippets/或 Windows 上的任何等效片段...阅读:h snipMate文件名语法。

于 2012-01-26T20:27:22.983 回答
2

只需在此处放置您自己的片段(假设您想在您编辑的所有文件中使用它们):

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

例如:

snippet test
  {"foo": "${1}", "bar": "${2}"}
于 2015-10-08T15:50:38.477 回答
1

Snipmate 的片段通常存储在snippets 文件夹中的“.vim”目录中。

您可以很容易地编辑您正在使用的语言的片段文件。

于 2011-08-16T07:26:08.500 回答
0

如果你在 Windows 上使用 vundle 来管理你的插件并且你已经安装了

vim-snipMate & vim-snippets

如果你想添加你的自定义,比如' html '文件类型,你只需进入这个文件夹:

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

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

html_bsmith.snippets  

(它必须在 html 后加下划线,参见 :help snipmate)

然后 vim 会自动加载你的文件。

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

    _.snippets
于 2016-07-21T16:40:57.360 回答