Keybinding can be done using one of the following forms:
- keyname: command_name
- "keystroke_sequence": command_name
In first form you can spell out the name for a single key. For example, CONTROL-U would be written as control-u. This is useful for binding commands to single keys.
In the second form, you specify a string that describes a sequence of keys that will be bound to the command. The one you gave as an example is the emacs-tyle backslash escape sequences to represent the special keys
\C - Control
\M - Meta
\e - Escape
You can specify a backslash using another backslash –
" can be escaped too -
These characters is what is interpreted by your terminal when you press special keys. You don't want to bind regular alphabets and numerics in your key binding as you might be using them on regular basis and can cause issues when you accidentally hit a combination that has been mapped in your
[1~ is what is interpreted by your terminal when you press your HOME button.
To learn more, simply type
read on your terminal prompt and press all types of special keys like Function Keys, HOME, END, Arrow Keys etc and see what gets displayed.
Here is a small reference I found that can offer some basic understanding. Good luck! :)