text: (global-superword-mode t)
  
  [Note that mode functions are not documented as accepting t as argument - you should enable modes either as (mode) or with a non-zero natural number such as (mode 1).]
  
  How do I do the same thing for -?
  
  That depends on the syntax table (see (info &quot;(elisp) Syntax Tables&quot;)), and thus the modes, in use.  AFAICT, superword-mode delegates all of its boundary finding to the command forward-symbol.  So if forward-symbol recognises - as constituting a symbol, then so will superword-mode.
  In Elisp, - already has symbol syntax (see C-u C-x =, C-h s) so forward-symbol will skip all of e.g. global-superword-mode in one go.  This is also the case in e.g. fundamental-mode and text-mode.
  For changing the syntax category of -, there's the command modify-syntax-entry; see (info &quot;(elisp) Syntax Table Functions&quot;).  For example, you could do M-x modify-syntax-entry RET - _ RET to give it symbol syntax in the current buffer.