Have you set up your EDITOR environment variable? I quote:
The program ‘lilypond-invoke-editor’ is a small helper program. It
will invoke an editor for the special textedit URIs, and run a web
browser for others. It tests the environment variable EDITOR for the
following patterns,
emacs
this will invoke
emacsclient --no-wait +line:column file
gvim
this will invoke
gvim --remote +:line:normcolumn file
nedit
this will invoke
nc -noask +line file'
The environment variable LYEDITOR is used to override this. It
contains the command line to start the editor, where %(file)s,
%(column)s, %(line)s is replaced with the file, column and line
respectively. The setting
emacsclient --no-wait +%(line)s:%(column)s %(file)s
for LYEDITOR is equivalent to the standard emacsclient invocation.
From gvim's man page, I understand how one can position the cursor at
startup on a line (+line or +:line), but I do /not/ grasp how it is put
on a column. Indeed, gvim gives me an error if I follow the
lilypond-invoke-editor example: the +:line:column syntax is wrong.