diff --git a/README.md b/README.md
index ca6b54d..46e128e 100644
--- a/README.md
+++ b/README.md
@@ -26,6 +26,8 @@ This extension combines the Jupyterlab (Edit and Command) modes with the standar
- Normal
- Visual
+See [key bindings for switching between modes](#switching-between-modes).
+
## Install
```bash
@@ -103,6 +105,21 @@ Shortcuts this extension introduces:
| Z, M | Hide All Code Cells |
| Z, R | Show All Code Cells |
+### Switching between modes
+
+- From Command mode:
+ - To enter Normal mode from Command mode, press Enter.
+ - The extension blocks Shift+Esc from invoking browser commands, such as the browser task manager, by default. To disable the blocking behavior in Command mode, go to Settings menu → Settings Editor → Notebook Vim, and disable the "Override `Shift-Esc` browser shortcut in Jupyter Command mode" option.
+- From Normal mode:
+ - To leave Normal mode to Command mode, several options are available:
+ - Shift+Esc
+ - Esc or Ctrl+[, if the "Enable `Esc` and `Ctrl-[` leaving vim Normal mode to Jupyter Command mode" option is enabled (on by default). To disable the option, go to Settings menu → Settings Editor → Notebook Vim.
+ - To enter Insert mode from Normal mode, use one of the insert commmands, such as i, I, a, A, o, O, c, C, s or S.
+ - To enter Visual Mode from Normal mode, use one of the visual commands, such as v, V or Ctrl+V.
+- From Insert or Visual modes:
+ - To leave Insert or Visual modes to Normal Mode, press Esc or Ctrl+[.
+ - To leave Insert or Visual modes to Command Mode, press Shift+Esc.
+
## Special Thanks
From @jwkvam: