vi-vi-vi é do diabo. Você deve matá-lo com fogo. Ou SIGKILL :
kill -KILL %1
O kill s incorporado tem a gentileza de enviar SIGCONT para processos suspensos, para que você não precise fazer isso sozinho, mas isso não ajudará se o processo bloquear o sinal que você está enviando ou se manipular o sinal faz com que os processos fiquem suspensos novamente (se um processo em segundo plano tentar ler a partir do terminal, por padrão, será enviado SIGTTIN , que suspende o processo se não for manipulado).