vim-mustache-handlebars


Ⅰ. 插件描述

mustache and handlebars mode for vim

Ⅱ. 基本信息

创建日期:  2009-10-29
使用用户:  1748
Github星:  392
插件作者:  Mustache

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'mustache/vim-mustache-handlebars'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'mustache/vim-mustache-handlebars'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'mustache/vim-mustache-handlebars'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/mustache/vim-mustache-handlebars

Ⅳ. 文档说明

mustache and handlebars mode for vim

A vim plugin for working with mustache and
handlebars templates. It has:

  • syntax highlighting
  • matchit support
  • mustache abbreviations (optional)
  • section movement mappings [[ and ]]
  • text objects ie (inside element) and ae (around element)

This plugin contributes to vim-polyglot language pack.

Note: for compatibility reason #7, we've renamed the repo name from
vim-mode to vim-mustache-handlebars.

Install for pathogen

cd ~/.vim/
git clone git://github.com/mustache/vim-mustache-handlebars.git bundle/mustache
vim bundle/mustache/example.mustache

Get pathogen.

Install for vundle

Add Plugin 'mustache/vim-mustache-handlebars' to your .vimrc and do a
:PluginInstall.

Built-in Vim Package Manager

Heads up! Only available for Vim 8+

mkdir -p ~/.vim/pack/mustache/start
cd ~/.vim/pack/mustache/start
git clone https://github.com/mustache/vim-mustache-handlebars.git

To learn more about Vim's built-in package manager: :help packages.

Manually Install

cd ~/.local/src
git clone git://github.com/mustache/vim-mustache-handlebars.git mustache.vim
cp -R mustache.vim/syntax/* ~/.vim/syntax/
cp -R mustache.vim/ftdetect/* ~/.vim/ftdetect/
cp -R mustache.vim/ftplugin/* ~/.vim/ftplugin/
vim mustache.vim/example.mustache

Mustache Abbreviations

You can activate mustache abbreviations by putting this line in your .vimrc:
let g:mustache_abbreviations = 1

Now you get a set of convenient abbreviations. Underscore _ indicates where
your cursor ends up after typing an abbreviation:

  • {{ => {{_}}
  • {{{ => {{{_}}}
  • {{! => {{!_}}
  • {{> => {{>_}}
  • {{< => {{<_}}
  • {{# produces

    {{# _}}
    {{/}}
  • {{if produces

    {{#if _}}
    {{/if}}
  • {{ife produces

    {{#if _}}
    {{else}}
    {{/if}}

Section movement mappings

Following the vim convention of jumping from section to section, [[ and ]]
mappings are implemented for easier movement between mustache tags.

  • ]] jumps to the first following tag
  • [[ jumps to the first previous tag

Count with section movements is supported:

  • 2]] jumps to the second next tag

Text objects

Vim has a very powerful concept of "text objects". If you aren't using text objects,
you can get familiar with it on [this vim help
link](http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects). Learning
text objects really speeds up the vim workflow.

In that spirit, this plugin defines 2 text objects:

  • ie a mnemonic for inside element, selects all the text inside the
    mustache tag.

For example, when used with vie it will visually select the
bold text in the following snippets: {{some_variable}},
{{{different_variable}}}.

  • ae a mnemonic for around element, selects the whole mustache tag,
    including the curly braces.

Example, vae visually selects the bold text in the following
snippets: {{some_variable}} or {{{another_variable}}}.

Here are other usage examples:

  • dae - deletes the whole mustache tag, including the curly braces
  • die - deletes inside the mustache tag, leaving only curly braces
  • yae - "yanks" the whole mustache tag - with curly braces
  • cie - deletes inside the mustache tag and goes in insert mode

ie and ae text objects are enabled by default. To disable them, put the
following in your .vimrc:

let g:mustache_operators = 0

Maintainers

This is combined work from
juvenn/mustache.vim and
nono/vim-handlebars.


Thanks @5long for adding matchit support.

You're encouraged to propose ideas or have discussions via github
issues.

添加新评论