[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>