You mention that you've asked him to stop the nicknames, but have you taken him aside for a more formal talk? Although he still may not get it, there is a chance that if you sit down with him at the station at the start of your next shift and tell him your issues that he may finally process them.
People aren't as wonderful as we might wish and maybe he will just continue, but it is worth a shot. If I were you, I would focus only on the most important issues (e.g. nicknames, talking down to you) and leave out the smaller issues (e.g. laziness).
Good luck!