Você não pode usar um comando normal na linha de comando como é .
Em :g/^ /-1j , j é a abreviação de :join : você sobe uma linha ( -1 , pode ser - ) e executa :join .
Em :g/^ /-1J , J não significa nada para o Vim: você está usando um comando de modo normal fora de seu contexto, basicamente não faz nada após -1 , exceto ecoar uma mensagem de erro clara.
O Vim espera um comando Ex, não um comando de modo normal.
Sua confusão pode vir do fato de que o cólon é necessário apenas uma vez, então você não está reconhecendo os comandos Ex. Se adicionarmos dois pontos, o comando completo provavelmente faria mais sentido para você:
:g/^ /:-1:j
Para usar os comandos do modo normal na linha de comando, use :norm :
:g/^ /-1norm J