updated for version 7.3.196
Problem: Can't intercept a character that is going to be inserted.
Solution: Add the InsertCharPre autocommand event. (Jakson A. Aquino)
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index d40df23..145ecf6 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -299,6 +299,8 @@
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
+|InsertCharPre| when a character was typed in Insert mode, before
+ inserting it
|ColorScheme| after loading a color scheme
@@ -657,6 +659,17 @@
indicates the new mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
+ *InsertCharPre*
+InsertCharPre When a character is typed in Insert mode,
+ before inserting the char.
+ The |v:char| variable indicates the char typed
+ and can be changed during the event to insert
+ a different character. When |v:char| is set
+ to more than one character this text is
+ inserted literally.
+ It is not allowed to change the text |textlock|.
+ The event is not triggered when 'paste' is
+ set.
*InsertEnter*
InsertEnter Just before starting Insert mode. Also for
Replace mode and Virtual Replace mode. The