summaryrefslogtreecommitdiffstats
path: root/runtime/doc/autocmd.txt
diff options
context:
space:
mode:
author=?UTF-8?q?Magnus=20Gro=C3=9F?= <magnus.gross@rwth-aachen.de>2021-10-22 18:56:39 +0100
committerBram Moolenaar <Bram@vim.org>2021-10-22 18:56:39 +0100
commit25def2c8b8bd7b0c3d5f020207c717a880b05d50 (patch)
tree297dc3f2ad09266c34bdf4c518ff5ebcc588bb4d /runtime/doc/autocmd.txt
parenta2ffb435209716dc7aeb4783333f6ea19f5d28a7 (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/doc/autocmd.txt')
-rw-r--r--runtime/doc/autocmd.txt13
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.