Вы не можете использовать обычную команду в командной строке как есть.
В :g/^ /-1j , j - это сокращение :join: вы переходите на одну строку вверх (-1 , это может быть -) и выполняете :join .
В :g/^ /-1J , J ничего не значит для Vim: вы используете команду нормального режима вне ее контекста, поэтому, в основном, она ничего не делает после -1 за исключением вывода четкого сообщения об ошибке.
Vim ожидает команду Ex, а не команду нормального режима.
Ваша путаница может возникнуть из-за того, что двоеточие необходимо только один раз, чтобы вы не распознавали команды Ex. Если бы мы добавили пару двоеточий, полная команда, вероятно, имела бы для вас больше смысла:
:g/^ /:-1:j
Чтобы использовать команды обычного режима в командной строке, используйте :norm:
:g/^ /-1norm J