Você precisaria referenciar o comprimento do texto em uma expressão regular diferente. Como o Vim (ao contrário do Perl) não permite a avaliação de expressões do Vimscript dentro de expressões regulares, você precisa recorrer a programação , isto é, construir as regras de sintaxe rapidamente:
:execute 'syntax match svndumpData /^\n\_.\{' . length . '}/'
Esse esboço simples usa \_.
para corresponder a qualquer caractere (incluindo novas linhas) por \{N}
times. Você precisa ter cuidado com o comprimento da nova linha (CR-LF vs. LF) e codificações (o número de caracteres não é necessariamente igual ao número de bytes para representá-los!)
Isso funciona porque um plug-in de sintaxe é originado em cada detecção e a sintaxe se aplica ao buffer atual.
Alternativa
Como isso é bastante complexo e pode não funcionar se você tiver uma contagem de bytes (para a qual não existe nenhum átomo de expressão regular) em vez do tamanho do caractere, sempre há a solução pragmática de 80% que ignora a contagem de caracteres contidos e define região de sintaxe nas seções da propriedade circundante. Não será correto em todos os casos, mas provavelmente funciona bem para a maioria dos dados.