Children naturally choose to eat sweet/salty things, so it's up to you to decide what you are going to have around the house to offer. If it were me, I'd banish the food that has become a touchstone for trouble (goldfish, any other empty-calorie food) and keep it out of the house/ out of sight. (In our house, chips and other goodies are kept in a separate high cupboard and only brought down while our son is sleeping.) This approach may seem extreme, but "I just don't have any for you" eliminates arguments.
Children are not capable of starving themselves to prove a point. Your son will eventually eat those foods you first offered, just keep offering them without a lot of explanation, etc. You have to decide about the bananas, kiwi, yogurt and other favorites which are whole foods, and aren't horrible as far as foods go. You can choose to go with a healthier brand of yogurt if you are concerned about it (I don't know which brand you serve, but a lot of them are loaded with sweeteners. You can use plain yogurt and add a fruit spread to it to control the sugars.)
As for the 'yucky' face, I wouldn't be too responsive to it. If you give it a lot of attention and work to appease it, he's figured out how to make you change what you were doing.
You didn't mention if he's eating finger foods, but if you can just offer foods on his tray and then let him figure it out on his own, that might help.When our son is acting up at the table, it helps us to disengage and let him eat without our attention. He eventually realizes that he's not going to get any sort of reaction, and within a few minutes is busily eating. A lot of parenting/feeding is about selective ignoring. Keeping them in the corner of one's eye and not immediately jumping in to correct seems to keep everyone calm instead of turning meals into high drama due to preferences and our parental quest for neatness.;)
Best wishes for pleasant meals!