ccmode: Subword Movement

 
 4.9 Subword Movement and Editing
 ================================
 
 In spite of the GNU Coding Standards, it is popular to name a symbol by
 mixing uppercase and lowercase letters, e.g., ‘GtkWidget’,
 ‘EmacsFrameClass’, or ‘NSGraphicsContext’.  Here we call these mixed
 case symbols “nomenclatures”.  Also, each capitalized (or completely
 uppercase) part of a nomenclature is called a “subword”.  Here are some
 examples:
 
 Nomenclature          Subwords
 ———————————————————
 ‘GtkWindow’           ‘Gtk’ and ‘Window’
 ‘EmacsFrameClass’     ‘Emacs’, ‘Frame’, and ‘Class’
 ‘NSGraphicsContext’   ‘NS’, ‘Graphics’, and ‘Context’
 
    The subword minor mode replaces the basic word oriented movement and
 editing commands with variants that recognize subwords in a nomenclature
 and treat them as separate words:
 
 Key            Word oriented command         Subword oriented command
 —————————————————————————-
 ‘M-f’          ‘forward-word’                ‘c-forward-subword’
 ‘M-b’          ‘backward-word’               ‘c-backward-subword’
 ‘M-@’          ‘mark-word’                   ‘c-mark-subword’
 ‘M-d’          ‘kill-word’                   ‘c-kill-subword’
 ‘M-DEL’        ‘backward-kill-word’          ‘c-backward-kill-subword’
 ‘M-t’          ‘transpose-words’             ‘c-transpose-subwords’
 ‘M-c’          ‘capitalize-word’             ‘c-capitalize-subword’
 ‘M-u’          ‘upcase-word’                 ‘c-upcase-subword’
 ‘M-l’          ‘downcase-word’               ‘c-downcase-subword’
 
    Note that if you have changed the key bindings for the word oriented
 commands in your ‘.emacs’ or a similar place, the keys you have
 configured are also used for the corresponding subword oriented
 commands.
 
    Type ‘C-c C-w’ to toggle subword mode on and off.  To make the mode
 turn on automatically, put the following code in your ‘.emacs’:
 
      (add-hook 'c-mode-common-hook
                (lambda () (subword-mode 1)))
 
    As a bonus, you can also use ‘subword-mode’ in non-CC Mode buffers by
 typing ‘M-x subword-mode’.