title: Vim: why doesn't ":normal! i" enter insert mode?
body: <p>In <code>vim</code>, if I execute the following from the command line</p>
  
  <pre><code>:normal! i
  </code></pre>
  
  <p>vim does not enter insert mode.  Likewise the command</p>
  
  <pre><code>:normal! A
  </code></pre>
  
  <p>will move the cursor to the end of the line, but the cursor remains in insert mode.</p>
  
  <p>Any ideas why this doesn't work?  Failing that I would like to know an alternative way to enter insert mode from the body of a vimscript function (and have insert mode persist after the function returns of course).</p>
  
  <p>Edit:  Looks like <code>:startinsert</code> will fullfill the second part of the question, but I'm still wondering how I can do something like <code>:normal! A</code> or <code>:normal! a</code> and why those don't simply work as expected.  Simulating "append" with arrow movements is a bad solution, because of things like empty lines and such.</p>