patch 8.0.1279: initializing menus can be slow

Problem:    Initializing menus can be slow, especially when there are many
            keymaps, color schemes, etc.
Solution:   Do the globbing for runtime files lazlily. (Ken Takata)
This commit is contained in:
Bram Moolenaar
2017-11-09 19:45:48 +01:00
parent 8ac441576f
commit 040c1feb21
3 changed files with 107 additions and 61 deletions

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 23
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
VIM REFERENCE MANUAL by Bram Moolenaar
@ -499,6 +499,17 @@ in the menu (which can take a bit of time to load). If you want to have all
filetypes already present at startup, add: >
:let do_syntax_sel_menu = 1
The following menuitems show all available color schemes, keymaps and compiler
settings:
Edit > Color Scheme ~
Edit > Keymap ~
Tools > Set Compiler ~
However, they can also take a bit of time to load, because they search all
related files from the directories in 'runtimepath'. Therefore they are
loaded lazily (by the |CursorHold| event), or you can also load them manually.
If you want to have all these items already present at startup, add: >
:let do_no_lazyload_menus = 1
Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
executed or after your .vimrc file is sourced. This means that the 'encoding'
option and the language of messages (`:language messages`) must be set before