title: Atom data-grammar syntax for keybindings
body: <p>Can someone give a full explanation of the syntax for Atom's data-grammar attribute (used in keybinding selectors)? </p>
  
  <p>For instance, what is the difference between </p>
  
  <pre><code>[data-grammar='source example']
  </code></pre>
  
  <p>and</p>
  
  <pre><code>[data-grammar~='source example']
  </code></pre>
  
  <p>?</p>
  
  <p>Also, how do you specify multiple grammars? For instance, how would you specify that a key binding should be limited to html or xml formats? </p>
  
  <p>If there already exists documentation on this somewhere, I have not yet found it, but would appreciate being pointed to it. </p>