Emacs can adapt its behaviour to the specific type of text edited in a buffer. The set of specific Emacs customizations for a particular type of text is called a "major mode". Each buffer has exactly one major mode depending on its content type.
Major modes can change the meaning of some keys, define syntax highlighing or indentation rules, and install new key bindings (usually beginning with C-c) for mode-specific commands. Emacs ships with a wide range of major modes, falling into three main categories:
Minor modes are optional features that can be turned on and off. Minor modes can be enabled for specific buffers (buffer-local modes) or all buffers (global modes). In contrast to major modes any number of minor mode can be activated for a given buffer.
Emacs provides lots of minor modes. A few examples include: