I'm playing/studying SAYC. So I know that game in major comes first then notrump then game in minors.
When I open with 1 Club partner responds with 1 Spade -- I have 18PTS and 4 hearts and NT distribution, should I bid 2Hhearts, 3Hearts, or 1NT?
With SAYC a balanced hand would normally be bid as follows:
Your rebid should be 2NT. If you bid this, your partner has a very good idea of what you've got and can then decide how best to proceed.
It's also worth noting that when your partner responded he should have been "bidding up the line". So if he had the same number of hearts and spades, he would bid hearts rather than spades. A heart fit is therefore unlikely.
You should rebid 2NT. Your partner is unlikely to have 4 hearts, though it is still possible for 5-4 or 5-5 majors. He should have bidden 1♥ for 4-4 majors.
The 2NT rebid often makes you the declarer, hiding your strong hand. You will not lose 4-4 heart fit since he can bid 3♥ for 4 hearts (and hence 5 spades). If your partner were the declarer, 4M is less scary than 3NT.
Consequently, 2♥ reverse is for unbalanced hands. With an unbalanced hand, you dislike dangerous 3NT. This also promises 5+ clubs. (With 0-3 spades, 4+ hearts, 2-4 clubs, the hand is either balanced or an 1♦ opener.) You are more likely to go to a correct club contract, such as 5♣ or slams.
I also suggest 3♥ jump reverse for 6 clubs and 5 hearts without game-forcing values. It takes up much space, but it precisely describes hands difficult to bid. With game-forcing values, you have unambiguous "2♥ reverse then 3♥".