Subject: | test causes vim to fail if any plugins using line continuations exist |
vim -u _vimrc implies that the default, "nocp" is disabled.
Under compatibility mode, line continuations are disabled.
Thus, the absence of a ":set nocp" in this vimrc causes any plugins that vim loads using line continuations to fail.
For example:
When vim attempts to load:
https://github.com/vim-scripts/Briofita/blob/master/plugin/briofita-support.vim#L127
It fails with
Error detected while processing /usr/share/vim/vimfiles/plugin/briofita-support.vim:
line 127:
E723: Missing end of Dictionary '}':
E15: Invalid expression: { "statusline": "StatusLine",
line 128:
E10: \ should be followed by /, ? or &
line 129:
E10: \ should be followed by /, ? or &
line 130:
E10: \ should be followed by /, ? or &
line 131:
E10: \ should be followed by /, ? or &
line 132:
E10: \ should be followed by /, ? or &
line 133:
E10: \ should be followed by /, ? or &
line 134:
E10: \ should be followed by /, ? or &
line 135:
E10: \ should be followed by /, ? or &
line 136:
E10: \ should be followed by /, ? or &
line 137:
E10: \ should be followed by /, ? or &
line 138:
E10: \ should be followed by /, ? or &
line 139:
E10: \ should be followed by /, ? or &
Press ENTER or type command to continue <-- indefinitely blocks
The exact reason why this is not usually observed, is typically, when vim has a ~/.vimrc, 'C' mode is disabled by default. However, that property is *not* granted to -u
http://vimhelp.appspot.com/message.txt.html#E10
http://vimhelp.appspot.com/options.txt.html#%27cpoptions%27
http://vimhelp.appspot.com/options.txt.html#%27compatible%27 # <-- take special note of the special casing of -u
http://vimhelp.appspot.com/starting.txt.html#compatible-default
This effectively means the majority of users using vim are using it in nocompatible mode, and as such, most plugins etc are written under that assumption, and are poorly tested without compatible mode.
Each case of a plugin failing to guard against this is still a bug in the plugin in question, but requires every plugin to work around it, which, not all do.
In essence, this test turns itself into a "Do you have any vim plugins not written to work without compatibility mode" test, instead of a "Is Perl-Tags broken" test.
The easiest most obvious fix is put
:set nocp
in the top of _vimrc, which will give much better average results.