1
0
forked from aniani/vim

patch 8.2.3430: no generic way to trigger an autocommand on mode change

Problem:    No generic way to trigger an autocommand on mode change.
Solution:   Add the ModeChanged autocommand event. (Magnus Gross, closes #8856)
This commit is contained in:
=?UTF-8?q?Magnus=20Gro=C3=9F?=
2021-09-12 13:39:55 +02:00
committed by Bram Moolenaar
parent 464393a696
commit f1e8876fa2
13 changed files with 135 additions and 4 deletions

View File

@@ -366,6 +366,8 @@ Name triggered by ~
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
|ModeChanged| after changing the mode
|TextChanged| after a change was made to the text in Normal mode
|TextChangedI| after a change was made to the text in Insert mode
when popup menu is not visible
@@ -925,7 +927,22 @@ MenuPopup Just before showing the popup menu (under the
i Insert
c Command line
tl Terminal
*OptionSet*
*ModeChanged*
ModeChanged After changing the mode. The pattern is
matched against `'old_mode:new_mode'`, for
example match against `i:*` to simulate
|InsertLeave|.
The following values of |v:event| are set:
old_mode The mode before it changed.
new_mode The new mode as also returned
by |mode()|.
When ModeChanged is triggered, old_mode will
have the value of new_mode when the event was
last triggered.
Usage example to use relative line numbers
when entering visual mode: >
:autocmd ModeChanged *:v set relativenumber
< *OptionSet*
OptionSet After setting an option. The pattern is
matched against the long option name.
|<amatch>| indicates what option has been set.