vim: Cleanup word matching code

**Don't merge it yet!** It requires review from people that actually know the Vim syntax :)
The use of `skipWord` here skips also `[aug]roupfoobar`, while previously only `[aug]group` would get handled.
Same for `parseFunction`.
`skipWord` probably needs to get told about what it is allowed to skip?!