%:8
é um modificador de nome de arquivo válido, por isso está sendo interpretado pelo Vim como parte do comando :!
.
Você pode usar expand('%')
para expandir manualmente %
e, em seguida, citar corretamente com shellescape(…,1)
:
:map <F9> :exe '!gdbset bp' shellescape(expand('%').':'.line('.'),1)<CR><CR>
:map <F8> :exe '!gdbset clear bp' shellescape(expand('%').':'.line('.'),1)<CR><CR>