commit 0981d4e871f89f503ffd06fce2865a2ad3e3c042
parent 5681315b82f658348a6498b0b689e44888d4cd24
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed, 24 Dec 2025 08:52:08 +0800
vim-patch:6d211bc: runtime(doc): Improve :catch documentation
fixes: vim/vim#18984
https://github.com/vim/vim/commit/6d211bc4f0f4bd9b7ab3b1444f2786b723d04ac0
Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat:
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/runtime/doc/vimeval.txt b/runtime/doc/vimeval.txt
@@ -2419,12 +2419,15 @@ text...
matching {pattern} is being thrown and has not yet
been caught by a previous `:catch`. Otherwise, these
commands are skipped.
- When {pattern} is omitted all errors are caught.
- Examples: >
+ Pattern can start with "Vim({cmd})" to indicate an
+ exception that occurred when executing the Ex command
+ {cmd}. When {pattern} is omitted all errors are
+ caught. Examples: >
:catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C)
:catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors
:catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts
:catch /^Vim(write):/ " catch all errors in :write
+ :catch /^Vim(!):/ " catch all errors in :!
:catch /^Vim\%((\a\+)\)\=:E123:/ " catch error E123
:catch /my-exception/ " catch user exception
:catch /.*/ " catch everything