Adrian explained the basic rules to you. But, why does it have to be
Nein, abends esse ich nicht warm.
Nein, abends esse ich warm nicht.
This one is tricky. The basic rules suggest you could negate the conjugated verb —the whole clause— by putting nicht at the end of the clause. However, here this is ungrammatical.
Why? Because this isn't what you want to express. You don't want no negate ich esse. If you wanted that, you had to say:
Nein, abends esse ich nicht.
Your intent was negating warm, that was the reason you had put it in there. So you had to negate that item by putting nicht in front of it.
So, why does this apply to warm but not den Kuchen? Puzzling, both
Sie isst nicht den Kuchen.
Sie isst den Kuchen nicht.
are correct. Because den Kuchen is an object rather than a property of the verb and both sentences are meaningful. They don't mean the same thing. The first one cries for a … , sondern as the cake is negated and not the action of eating, so there's another object she eats. The latter sentence in contrary negates the action of eating. No further questions asked.
You cannot do that with a property to the verb as warm.
If I had to write a grammar book, I would put the rules regarding nicht as follows:
- Put nicht in front of the item you want to negate.
- Never put nicht in front of the conjugated verb in second position. Put in in front of the other part of the verb at the end of the clause instead. If there is none, put nicht at the end of the clause. The latter is a measure of last resort.