Here are some examples of some good Priest class macros:
Discipline:
#showtooltip
/cast [@player] Power Infusion
Casts "Power Infusion" on the player (self).
#showtooltip Divine Hymn
/cast [@player] Power Infusion
/cast Divine Hymn
Casts "Power Infusion" on the player (self), then casts "Divine Hymn" for a super charged AOE heal.
#showtooltip
/cast [@mouseover] Pain Suppression
Casts "Pain Suppression" on the mouseovered target.
/cast [target=focus] Pain Suppression
Casts Pain Suppresion on the focus target.
/cast [mod:ctrl,help,@focus] Pain Suppression
/cast [nomod,help,@mouseover] Pain Suppression
/cast [mod:shift,@player] Pain Suppression
Casts "Pain Suppression" on the focus target if [ctrl] is held down. Casts "Pain Suppression" on the mouseovered target
if no modifier is being held down. Casts "Pain Suppression" on the player if [shift] is being held down.
#showtooltip
/castsequence Power Word: Shield, Prayer of Mending
Casts Power Word: Shield, then casts Prayer of Mending once used again.
#showtooltip
/cast [nomod, @targettarget] Smite
/cast [mod:alt, @targettarget] Holy Fire
/cast [mod:shift] Archangel
An Archangel macro, helpful for when you're healing and you don't want to untarget your healing target. Casts "Smite" at your
target's target if no modifier is being held down. If [alt] is being held down, it will cast "Holy Fire" at your target's target.
If you're holding down [shift], it will consume your Evangelisms and cast "Archangel".
Holy:
#showtooltip
/cast [@mouseover, help, nodead] [@focus, help, nodead] [@targettarget, help, nodead] [] Guardian Spirit
Casts "Guardian Spirit" on your mouseovered target, if you don't have one, then it looks for your friendly, non-dead focus target,
if none of those conditions are met, then it looks for your target's target, if it's friendly and not dead, if that doesn't exist,
then it will cast on your current target, or the player (self).
#showtooltip
/cast [@party1,nodead] Guardian Spirit
This will cast "Guardian Spirit" on the first member of your party.
#showtooltip
/cast Chakra
/cast [nomod] Heal
/cast [mod:alt] Prayer of Mending
/cast [mod:ctrl] Mind Spike
This will cast "Chakra". Then, depending on which modifier you're holding down, it will cast the different spells that affect your
Chakra state. Notice if you use this macro with no modifier held down, it will automatically cast "Heal". If you don't usually use
the chakra state "Serenity", then replace "Heal" with whichever spell that puts you in the state you normally use.
#showtooltip
/cast [@mouseover,help,nodead] [] Flash Heal
Casts mouseover at your mouseovered target, if you don't have one, then it casts on the current target or the player (self).
Shadow:
#showtooltip
/stopmacro [channeling]
/cast Mind Flay
The macro will stop if you're already channeling "Mind Flay". Otherwise, it will cast "Mind Flay". This prevents clipping of your
"Mind Flay" and is spammable.
General Priest:
#showtooltip
/cast [@targettarget,harm,nodead] [@target,harm,nodead] [] Shadowfiend
Casts "Shadowfiend" at your target's target, if your target is friendly, if it's not, then it casts at your target if it's unfriendly.
Great for healers.
#showtooltip
/cast [@focus,harm,nodead] [@focustarget,harm,nodead] [@target,harm,nodead] [] Shackle Undead
Casts "Shackle Undead" at your focus, if you have one, if not, then it casts on your focus target's target, if
you don't have one, then it casts on your current target if it's unfriendly.
#showtooltip
/stopmacro [channeling]
/cast Mind Sear
Casts "Mind Sear" if you're not channeling something already. The macro stops if you're channeling already.
Resurrection:
#showtooltip Resurrection
/cast Resurrection
/stopmacro [harm][nodead]
/run c="Resurrecting %t"if UnitInRaid("player")then SendChatMessage(c, "RAID")elseif GetNumPartyMembers()>0 then SendChatMessage(c, "PARTY")end
Casts "Resurrection" on a dead target, then announces to the party or raid, whichever you're in, that you're ressurecting them.
The macro stops if your target is not dead or is not friendly.