This is not a comprehensive guide on macros, mostly just common questions I see often. If you want to see almost every command in the game, here's a slightly crazy guide

Here are some basic macros you'll likely use. Remove brackets when putting your ability name. No / is needed in a macro but if you put it there, it will be automatically removed. A space is required between the command and ability name.

  • cast [ability] - casts an ability if it is in range, off cool down and you have the resources (mana, combo point etc)
  • cast @focus [ability] - casts an ability on your Focus Target. Allows you to interrupt mobs while DPSing another.
  • cast @gtae [ability] - casts a ground target area effect on your current target.
  • cast @mouseoverui [ability] - casts at the person who's raidframe you are mousing over at the time. Useful especially for healing.
  • use [item] - Uses an item.
  • #show [ability] - shows the icon of that ability. Mousing over icon will give you the ability's tool tip. Shows cool down.
  • suppressmacrofailures - prevents red warning text that reads 'you can only cast one ability in a macro at a time.' Note: Might hide other text that I have never seen. Will show certain macro failures such as 'no active pet' and 'no ability with name [ability]'
  • petattack - Force pet to attack your target. All pet bar abilities can be macro'd with pet[ability] to allow for more control over your pet.
  • tar, target [name]- targets a nearby entity with the name
  • stopcasting - Stops any cast bars and channels. Allows more important abilities (such as heals or interrupts) to go through even if you're mid cast.
  • %t - Will write out your target's name
  • cast [notactive] [ability] - (keep brackets on notactive) Turns on a Toggle ability if it is not already on.
  • cancelbuff [ability] - removes a buff if it is active on you. If you have no buff of that name and you spam this, you will get spammed in chat. suppressmacrofailures does not stop this spam.

Using the above macros, an interrupt macro will tend to look like this:
#show Distracting Slash suppressmacrofailures stopcasting cast @focus Distracting Slash cast Distracting Slash yell Hey you! Look at the shiny! Interrupting!

Shows me the ability and it's cooldown, shuts down any casts so my int isn't delayed, attempts to cast on my focus first, then attempts to cast on my target. If I do not have a focus, it will cast on my target. This allows me to have only 1 macro and not have to focus normal everyday mobs in order to interrupt.

These will put your text into the corresponding chat channel no matter what channel you're currently in. Ignore commas, they are there to show variations of the macro (so use say -OR- s.) Useful for announcing interrupts, etc.
  • say, s
  • yell, y
  • party, p
  • raid, ra
  • rw (Note: Only works if you are a lead or assistant in a raid)
  • g, gu, guild

You can use // to temporarily disable a part of your macro, this way, you don't have to delete the line or make a duplicate macro. For example, if a fight cannot have any cleanses or break free, you'd remove Break Free and Fading Light from this macro like so:
#show Granite Salvo suppressmacrofailures cast Elemental Forces cast Ethereal Blast cast Volcanic Bomb cast Earthen Barrage //cast Break Free //cast Fading Light

Useful raid macros

The big one, when your lead calls to attack 1:
tar @mark 1

Can be customized to target the numbers and symbols such at Skull or Squirrel

Focus swapping:
target @focus targetlasttarget focus targetlasttarget

Used when you have 2 mobs that need to stay at about the same HP. Focus 1 target then target the other. Hit this macro and your Focus will become your target and your old target will become your Focus. You can now track 2 HPs easily and swap between with little to no hassle.

These commands are for a little more flair than necessity.

  • emote - Allows for a custom emote. Will not animate like /dance etc.
  • %s - writes out He or She, depending on your target's sex
  • %r - writes out your target's race.
  • %o - writes out Him or Her, depending on your target's sex
  • %p - writes out His or Hers, depending on your target's sex