You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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. 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: