1) He has to fight to keep his job.
2) He has to fight for keeping his job.
I think '2' means he has to fight because he kept his job, which is probably a strange thing to say. '1' seems to mean 'In order to keep his job, he has to fight.'
Is that correct?
Gratefully
Navi