diff options
author | =?UTF-8?q?Magnus=20Gro=C3=9F?= <magnus.gross@rwth-aachen.de> | 2021-10-22 18:56:39 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-10-22 18:56:39 +0100 |
commit | 25def2c8b8bd7b0c3d5f020207c717a880b05d50 (patch) | |
tree | 297dc3f2ad09266c34bdf4c518ff5ebcc588bb4d /runtime | |
parent | a2ffb435209716dc7aeb4783333f6ea19f5d28a7 (diff) |
patch 8.2.3555: ModeChanged is not triggered on every mode changev8.2.3555
Problem: ModeChanged is not triggered on every mode change.
Solution: Also trigger on minor mode changes. (Maguns Gross, closes #8999)
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/autocmd.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index bcc81ecdad..6a4edf9039 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -930,18 +930,23 @@ MenuPopup Just before showing the popup menu (under the *ModeChanged* ModeChanged After changing the mode. The pattern is matched against `'old_mode:new_mode'`, for - example match against `i:*` to simulate - |InsertLeave|. + example match against `*:c*` to simulate + |CmdlineEnter|. 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()|. + by |mode()| called with a + non-zero argument. When ModeChanged is triggered, old_mode will have the value of new_mode when the event was last triggered. + This will be triggered on every minor mode + change. Usage example to use relative line numbers when entering Visual mode: > - :autocmd ModeChanged *:v set relativenumber + :au ModeChanged [vV\x16]*:* let &l:rnu = mode() =~# '^[vV\x16]' + :au ModeChanged *:[vV\x16]* let &l:rnu = mode() =~# '^[vV\x16]' + :au WinEnter,WinLeave * let &l:rnu = mode() =~# '^[vV\x16]' < *OptionSet* OptionSet After setting an option. The pattern is matched against the long option name. |