Mercurial > vim
diff runtime/doc/autocmd.txt @ 25790:16a7d1154be8 v8.2.3430
patch 8.2.3430: no generic way to trigger an autocommand on mode change
Commit: https://github.com/vim/vim/commit/f1e8876fa2359b572d262772747405d3616db670
Author: =?UTF-8?q?Magnus=20Gro=C3=9F?= <magnus.gross@rwth-aachen.de>
Date: Sun Sep 12 13:39:55 2021 +0200
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 https://github.com/vim/vim/issues/8856)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 12 Sep 2021 13:45:05 +0200 |
parents | 29ec2c198c8d |
children | 9c221ad9634a |
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -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 popu 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.