De acordo com a documentação do vim , :global (aka :g ) não é capaz para ser usado em uma cadeia de comandos | -delimited, pois | é um dos seus possíveis argumentos. Você pode contornar isso com :execute :
:execute 'command1' | 'command2' [...]