[Após o teste, transferi meu comentário para uma resposta.]
Seu comando set não está usando o mesmo valor que seu scancode. Além disso, você precisa ter certeza de que está usando um caractere de escape em vez dos dois caracteres de ^ e [ . Para facilitar isso sem "codificar" um caractere de escape, usaria :execute :
:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>