Vim html.erb片段?snipMate需要vim技巧

Dan*_*ton 13 vim ruby-on-rails erb code-snippets snipmate

当我在一个html.erb文件中时,我没有得到snipMate片段.

我想要HTML和Ruby,或者只是HTML会很好,我该怎么做?

我需要写一组片段吗?

如果是这样,有没有办法在不复制它们的情况下拉入现有的片段?

当它看到.html erb时,有没有办法告诉vim进入html模式?

Ran*_*ris 17

autocmd打开".html.erb"文件时,可以使用an 将文件类型设置为html.对于适用于".erb"文件的插件,这可能会产生不必要的副作用.

autocmd BufNewFile,BufRead *.html.erb set filetype=html
Run Code Online (Sandbox Code Playgroud)

您还可以使用虚线文件类型加载多个代码段:

autocmd BufNewFile,BufRead *.html.erb set filetype=html.eruby
Run Code Online (Sandbox Code Playgroud)

有关:help snippet-syntax详细信息,请参阅snipMate帮助.


Xav*_* T. 12

代码段存储在文件夹中snippets某处的~/.vim目录中.

如果你看那里,每个文件类型通常有一个文件,有一个c.snippets,一个ruby.snippets,所以你要做的就是在那里用你想要的东西创建一个erb.snippets.

最后,您可以将ruby.snippets和html.snippets的内容复制到新的erb.snippets中.

或者你可以在github上搜索,有些人发布了他们自己的erb.snippets配置.例如,那里有一个很好的收藏:https: //github.com/scrooloose/snipmate-snippets

最好先尝试打开一个片段文件并查看语法,根据您最常用的内容创建自己的片段非常容易.


Sir*_*Ver 8

我目前正在StackOverflow 上推广UltiSnips.UltiSnips支持扩展其他文件类型,你的erb.snippets看起来像这样:

extends html, ruby, rails

snippet temp "A snippet only in Erb"
erb rules ${1}
endsnippet
Run Code Online (Sandbox Code Playgroud)

UltiSnips附带了snipMate片段的转换脚本,因此切换非常简单.