Bem, resolvi meu próprio problema. Eu falho na programação 101.
Definindo o vim como uma função e, em seguida, chamando o vim, eu configuro um loop recursivo infinito. Não admira que meu terminal tenha caído. Eu preciso chamar o vim "real", o executável real. Isso fez o truque:
function vim
{
printf "\e]1;"'basename "$1"'"\a"
/usr/bin/vim "$1"
}