I don't think they are friends, nor enemies. As someone said near the begining. THeir realationship is political.
And dotsie, your wrong. Some people will hold grudges against someone because they were saved by that person and hated the person before, or can't repay the person, or soem other reason. But Vetinari isn't that kind of person, so you
are right, in this case(dating back a few years).
I think they both need each other as job description or capabilities, but get in each other's ways as people. Neither could do the other's job, but they annoy each other because they know that and won't get sacked for being saucy. Even though vimes couldn't do anything to vetinari anyway. ACtually, he could.

Resign. And vimes also cares about the city, but in a different and much more cynical way. On a smaller scale too.
Smilies are friends, not food.
..............Now You See It, Now You Don't..............
Proud Copper Widow