This is an indication that the tags
files that work as indices for the help system are not sorted as expected. Vim/NeoVim wants those to be sorted so it can quickly find a help item in those files without having to read the whole contents of all those files
You can try to regenerate the tags
files for all doc directories with:
:helptags ALL
Since these indices are created from the documentation files, you can always safely recreate them. But it's hard to tell whether that's enough to fix your issue or not.
I've had this issue one time, with Vim, on a somewhat odd platform. I didn't manage to understand why the tags
files were created incorrectly, but I noticed that I could work around the issue by enabling the 'ignorecase'
option (possibly also 'smartcase'
), which makes Vim search the tags file for case-insensitive matches, in which case it doesn't really depend on the sort order of the files.
(So while they're possibly still unsorted and you don't get the quick binary search that's possible when they are, you're effectively opting out of that by requesting case-insensitivity. I didn't have noticeable performance issues using the help system and following tags there with this option set. YMMV.)
UPDATE: According to this commit it's a bug related to how lseek() works on specific platforms, and it seems it's broken on MacOS Catalina.
This has been fixed upstream, so latest NeoVim or Vim will be fixed. (In the case of Vim, version 8.1.2152 or later will contain the fix.)