2.5. У меня проблема "xyz" (некоторая) с Vim. Как определить, что проблема связана с моей настройкой или с Vim? / Я нашел ошибку в Vim?
Во-первых, вам нужно выяснить, находится ли ошибка в реальных файлах среды выполнения или в каком-либо плагине, который распространяется с Vim, или это простой побочный эффект какой-либо опции конфигурации из вашего .vimrc или .gvimrc. Итак, сначала запустите vim следующим образом:
vim -u NONE -U NONE -N -i NONE
это запускает Vim в несовместимом режиме (-N), без чтения вашего файла viminfo (-i NONE), без чтения какого-либо файла конфигурации (-u NONE, чтобы не читать файл .vimrc и -U NONE, чтобы не читать файл .gvimrc) или даже плагин.
Если ошибка не возникает при запуске Vim таким образом, проблема связана либо с каким-то вашим плагином, либо с какой-то настройкой в одном из ваших локальных установочных файлов. Вам нужно выяснить, что вызывает ошибку, попробуйте запустить Vim следующим образом:
vim -u NONE -U NONE -N
Если возникает ошибка, проблема в вашем файле .viminfo. Просто удалите файл viminfo. Если ошибка не возникает, попробуйте:
vim -u ~/.vimrc --noplugin -N -i NONE
Это просто использует ваш .vimrc в качестве файла конфигурации, но не загружает никаких плагинов. Если на этот раз ошибка возникает, возможно, она вызвана какой-то опцией конфигурации в вашем файле .vimrc. В зависимости от длины вашего файла vimrc может быть довольно сложно отследить источник в этом файле.
Лучше всего добавить команду :finish в середине вашего .vimrc. Затем перезапустите снова, используя ту же командную строку. Если ошибка все еще возникает, ошибка должна быть вызвана параметром в первой половине вашего .vimrc. Если этого не происходит, проблемный параметр должен находиться во второй половине вашего .vimrc. Поэтому переместите команду :finish в середину той половины, которая, как вы знаете, вызывает ошибку, и двигайтесь вперед, пока не найдете проблемный вариант. Если ваш .vimrc имеет длину 350 строк, вам потребуется не более 9 попыток найти оскорбительную строку (на практике это число часто может быть дополнительно сокращено, поскольку часто строки зависят друг от друга).
Если проблема не возникает при загрузке только вашего файла .vimrc, ошибка должна быть вызвана подключаемым модулем или другим файлом среды выполнения (автозагрузка с отступом или синтаксический скрипт). Проверьте вывод команды :scriptnames, чтобы увидеть, какие файлы были загружены, и для каждого из них попробуйте отключить каждый по одному и посмотреть, какой из них вызывает ошибку. Часто файлы, загружаемые vim, имеют простую конфигурационную переменную для их отключения, но вам нужно проверять каждый файл отдельно.
По ссылке есть дополнительная информация, если описанные выше шаги не решают проблему.