&gt; <i>Why am I always exiting from insert mode? Because I don&#x27;t know the insert modes special keys.</i>
&gt; <i>Why are those special keys so different from Readline?</i><p>You were doing it right the first time. Vim&#x27;s &quot;insert mode special keys&quot; are basically incredibly basic terminal controls that are the same as Readline anyway (like backspace, or ^U to delete to the beginning of the line), or incredibly obscure things like inserting the contents of a specific register. Vim doesn&#x27;t expect you to move the cursor much in insert mode, it&#x27;s just for typing.<p>As it turns out, the extra Readline bindings this emulates are basically emulating Emacs&#x27; standard bindings, so if you want those bindings in an editor, you know where to look.<p>Personally, I just stick these settings in ~&#x2F;.inputrc:<p><pre><code>    set editing-mode vi
    set keymap vi
</code></pre>
...and then every application that uses Readline (including bash, the Python REPL, the PostgreSQL REPL, and a bunch of other things) defaults to vi keybindings. It&#x27;s dreamy.