Capitalize a primeira letra de cada palavra em uma seleção usando o vim

No vim, eu sei que podemos usar~ para capitalizar um único char (como mencionado emessa questão), mas existe uma maneira de capitalizar a primeira letra de cada palavra em uma seleção usando vim?

Por exemplo, se eu quiser mudar de

hello world from stackoverflow

para

Hello World From Stackoverflow

Como devo fazer isso no vim?