<div>Hi Vegard,</div><div><br></div><div>Thanks a lot for this elaborative list, very useful.</div><div><br></div><div><br></div><div>York</div><div><br></div><div><br></div><div>On Mon, Aug 1, 2011 at 8:52 AM, Vegard Øye &lt;<a href="mailto:vegard_oye@hotmail.com">vegard_oye@hotmail.com</a>&gt; wrote:</div>
<div>On 2011-07-31 21:21 +0200, York Zhao wrote:</div><div><br></div><div>&gt; It seems to me that there are no hooks for entering and exiting</div><div>&gt; Insert State in evil.</div><div><br></div><div>Evil provides entry and exit hooks for all of its states:</div>
<div><br></div><div>`evil-normal-state-entry-hook&#39;                               [Variable]</div><div>Run when entering Normal state.</div><div><br></div><div>`evil-normal-state-exit-hook&#39;                                [Variable]</div>
<div>Run when exiting Normal state.</div><div><br></div><div>`evil-insert-state-entry-hook&#39;                               [Variable]</div><div>Run when entering Insert state.</div><div><br></div><div>`evil-insert-state-exit-hook&#39;                                [Variable]</div>
<div>Run when exiting Insert state.</div><div><br></div><div>`evil-visual-state-entry-hook&#39;                               [Variable]</div><div>Run when entering Visual state.</div><div><br></div><div>`evil-visual-state-exit-hook&#39;                                [Variable]</div>
<div>Run when exiting Visual state.</div><div><br></div><div>`evil-replace-state-entry-hook&#39;                              [Variable]</div><div>Run when entering Replace state.</div><div><br></div><div>`evil-replace-state-exit-hook&#39;                               [Variable]</div>
<div>Run when exiting Replace state.</div><div><br></div><div>`evil-operator-state-entry-hook&#39;                             [Variable]</div><div>Run when entering Operator-Pending state.</div><div><br></div><div>`evil-operator-state-exit-hook&#39;                              [Variable]</div>
<div>Run when exiting Operator-Pending state.</div><div><br></div><div>`evil-motion-state-entry-hook&#39;                               [Variable]</div><div>Run when entering Motion state.</div><div><br></div><div>`evil-motion-state-exit-hook&#39;                                [Variable]</div>
<div>Run when exiting Motion state.</div><div><br></div><div>`evil-emacs-state-entry-hook&#39;                                [Variable]</div><div>Run when entering Emacs state.</div><div><br></div><div>`evil-emacs-state-exit-hook&#39;                                 [Variable]</div>
<div>Run when exiting Emacs state.</div><div><br></div><div>When these hooks are run, the variables `evil-next-state&#39; and</div><div>`evil-previous-state&#39; hold information about the states being</div><div>switched to and from.</div>
<div><br></div><div>`evil-next-state&#39;                                            [Variable]</div><div>The state being switched to.</div><div><br></div><div>`evil-previous-state&#39;                                        [Variable]</div>
<div>The state being switched from.</div><div><br></div><div>Finally, all states have a predicate function `evil-STATE-state-p&#39;</div><div>which returns t when STATE is active. For example,</div><div>(evil-insert-state-p) will check whether the current state is</div>
<div>Insert state, and (evil-insert-state-p evil-previous-state)</div><div>will check whether the previous state was Insert state.</div><div><br></div><div>--</div><div>Vegard</div><div><br></div><div>_______________________________________________</div>
<div>implementations-list mailing list</div><div><a href="mailto:implementations-list@lists.ourproject.org">implementations-list@lists.ourproject.org</a></div><div><a href="https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list">https://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list</a></div>
<div><br></div>