About LilyPond
LilyPond is a language for producing elegant musical scores, structurally similar to LaTeX with which it can integrate to generate documents containing text and music (for the integration between LilyPond and LaTeX you can read to this article of mine.)
Also in LilyPond, as in LaTeX, you can write the content with various editors.
Very useful, especially to learn the syntax, is the editor called Frescobaldi.
For those who have already learned the syntax, it may be useful, instead, to use the endless potential of Emacs and Vim,