Here's a list of some things we can't control when it comes to kids:
we can't make a person go to sleep on cue
we can't make a person eat on cue
we can't make a person pee or poo on cue
Out of all the things to power struggle over, these are the main ones that we must be flexible with. These are also the main ones that we must walk a thin line with and be intuitive about.
Is your intuition telling you that you should cave in and just give him a glass of milk and some ritz crackers as he watches a movie?
on the other hand
Is your intuition telling you that he needs to respect structure? That we eat the food that is put before us at eating time. We can't just snack all day. And in life we must learn that when food is put before us, we should go with the flow of the situation, eat among all of the other people that are eating, and bring it to an end when meal time is over.
My experience:
My son could have died at one point because of mal-nutrition as he was fighting cancer. He was on IV nutrition and G-tube nutrition. And long after treatment for cancer, Hunter lost the desire to nourish himself because he lost the connection in his brain between eating by mouth and satisfying hunger. So, he was on the G-tube and a special diet for a long stretch of time after treatment. Going through that taught me a few things.
The bottom line is that the most important lesson for your child to learn at this age is that food sustains his life. That food satisfies the belly. It doesn't matter so much what he's eating. Just the fact the he lifts "whatever" food to his lips is a blessing. I'd give him what he likes to eat only and leave it at that.
If you don't make it an issue to eat the specific other things that you cook, he'll forget that this is his favorite power struggle (which can be a detrimental one because his life depends on nutrition). He'll find other ways to power struggle with you and move the focus off of food.
But, after a while, like a couple of months from now... I would introduce some challenge. At snack time or just munching time around the house... I'd offer a different new snack rather than just what he wants. Raisins might be a good thing to introduce rather than crackers one day. And be strict about it... say, "This is the snack I'm offering now, there are no other choices. You can eat the raisins or pass on the snack time." That way, you are teaching him boundaries and respect for others but, it's not detrimental to his main choices of nourishment. Eventually it will seem like it's perfectly appropriate to bargain or bride at meal time. You could say something like, "If you eat 10 peaces of corn, you can have fruit snacks after dinner."
Another bottom line: As far as nutrition goes is that it all turns into the same stuff, sugar, fat, calories... vitamins are important but honestly an American kid can eat one egg or one peace of bread in a week and get more balanced vitamin intake than most kids in the rest of the world. Just keep it simple, give yourself a break, and let him nourish himself with the food HIS body is craving.
Again the most important lesson to be learned at his age is that we eat to satisfy our hunger. Whether is be a stack of Ritz crackers, or sugar/cinnomon toast... it doesn't matter. He does need to learn to eat whatever choice of food until his belly is full, stick to the meal (of his choice) until meal time is over and the food is eaten up, and ask for more if he's still hungry for it. Just shifting gears like this and changing the whole attitude and focus about food will get you guys pointed in the right direction and things will get easier.
It's a balancing act between being flexible, intuitive about when it's just the right time to introduce challenge, etc. But, I would just encourage you to choose snack times for the challenging times rather than the main meal times. That sort of takes his power and control away because you will not be fearful about his nurishment. And it will be easy for you to follow through with consequences when he makes a choice to pass on the food.
And just one more point. A child should be allowed to "skip it" or "pass" on some food. It's important to their mental development and personal identity. I think that if he uses up his "skip its" on a snack, and is allowed to demonstrate that kind of personal decision making often... then when it comes time to eat or do something viewed as really important he might actually cooperate more easily.
Hope this all helps,
YM