abc music notation syntax, 2.1 and up
Vim script
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a mirror of

Recently, the abc music notation standard has received a large number of updates. That said, the syntax script for it has been insanely outdated, and doesn't work well with the current format that abc is now described by. I've begun a new project at "" & at "" (since now the Bitbucket repo isn't working) specifically for updating this, and would also like to include a number of other features for the language, as well. I feel that there's a need to provide for one of the few formats of music notation that works well and is easy to learn.

In future additions, I'd like to add functions, commands, omnicompletion, error checking, and pretty much every feature I can get out of Vim for this syntax.

Another thing I'd like to do is add support for sending abc music files as input to programs that make use of abc code, such as the obvious standard command line programs, like abcm2ps, abcmidi, abc2prt, abctab2ps, and so forth, but also for large scale programs; music21 is one on my high priority lists. And further down the line, I'd like to somehow improve abcpp so that it can stream abc music notation code into something like a COM server for events in music; I was thinking it would be useful for things like MikuMikuDance, where movement of character models has to depend a lot on syncing their movement to the music("Miku teaches how to play drums", "learning basic flute with Luka Megurine", for some practical examples)

Please send me emails on improvements!

======== NOTICE========

ABC standard Vim scripts
Copyright 2012 Lee Savide <> or <>

Portions of this software were based on code from the ABNF description of
the ABC standard, written by Henrik Norbeck, found at
";, or as a text file at

This software contains code derived from the ABC standard, version 2.1. The
standard is licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported license. Please read the
license terms at ";, and if
you wish to, read the full license deed at
";. Additionally,
the ABC standard now uses keywords that conform to RFC 2119, and as such,
the standard conforms to the following:

       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
       "OPTIONAL" in this document are to be interpreted as described in
       RFC 2119.

In addition to the key words above, the key word "VOLATILE" is used to
indicate sections which are under active discussion and/or likely to change
in some future version of the standard. Any comments used in the source
code of the Vim scripts included in this software also conform to the key
words as described above, and in RFC 2119.

Lastly, any documentation will also be under a license equal to or compatible
with the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported