Vim Syntastic не прыгает на ошибку

692
scottlabs

Я использую ESLint с Syntastic в Vim. Ошибки правильно обнаруживаются в Syntastic, но когда я перехожу к ошибке на панели определения местоположения ошибок и нажимаю клавишу Enter, она отбрасывает меня в ту же позицию, в которой я находился в файле, вместо того, чтобы перейти к правильной строке и столбцу.

Я также вижу следующую ошибку:

E926: Current location list was changed

Тем не менее, мой Google-фу ничего не находит по этой ошибке.

Я также записал быстрый скриншот, демонстрирующий это:

https://www.dropbox.com/s/q6qjh2mk4g5w63c/syntastic%20not%20working.mov?dl=0

Есть мысли о том, как решить эту проблему? Это работало несколько недель; Я не изменил свой .vimrc, но недавно переустановил node & npm.

-- Обновить --

Выход из brew info vim:

vim: stable 7.4.1655, HEAD Vi "workalike" with many additional features http://www.vim.org/ Conflicts with: ex-vi /usr/local/Cellar/vim/7.4.1655 (1,625 files, 22.5M) * Built from source From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/vim.rb ==> Dependencies Optional: lua ✘, luajit ✘ ==> Options --disable-nls Build vim without National Language Support (translated messages, keymaps) --override-system-vi Override system vi --with-client-server Enable client/server mode --with-lua Build vim with lua support --with-luajit Build with luajit support --with-mzscheme Build vim with mzscheme support --with-python3 Build vim with python3 instead of python[2] support --with-tcl Build vim with tcl support --without-perl Build vim without perl support --without-python Build vim without python support --without-ruby Build vim without ruby support --HEAD Install HEAD version

6
Это единственный хит, который я нашел для этой проблемы, проблема, кажется, только началась совсем недавно. Немного [информация о коде ошибки здесь] (https://github.com/vim/vim/blob/ffec3c53496d49668669deabc0724ec78e2274fd/runtime/doc/quickfix.txt). Я пытался проверить синтетические коммиты год назад, и ошибка осталась - возможно, это проблема с обновлением vim? Кроме того, `: lnext` и`: lprev` по-прежнему работают для меня, но не выходят из списка. Вы оказались на OS X, используя Homebrew? n8henrie 8 лет назад 0
`: lnext` и`: lprev` отлично работают для меня. Я на OS X 10.11.4 и да, использую Homebrew. scottlabs 8 лет назад 0
Хорошо, что вы, ребята, сообщили об этой проблеме на [трекере] (https://github.com/scrooloose/syntastic/issues) вместо того, чтобы ждать, пока она решится сама по себе. Подожди, неважно. Пожалуйста, обновите синтетику до 7e986f1 или новее и попробуйте ваш сценарий снова. Сообщайте о любых оставшихся проблемах (на этот раз в систему отслеживания проблем). lcd047 8 лет назад 0

2 ответа на вопрос

1
n8henrie

It seems to be due to a problem with vim (I'm not sure what), introduced between 7.4.1589 and 7.4.1655. If you're using OS X / Homebrew, a temporary solution may be to brew switch vim 7.4.1589 (assuming you still have the local copy of that version downloaded, you can check with brew info vim).

If you don't have that version listed under brew info vim, you can install it directly from the commit's URL:

brew install https://raw.githubusercontent.com/Homebrew/homebrew/7746a5509b3fb10216f1d40ab639398e8d0c5e4c/Library/Formula/vim.rb 

Alternatively, you can do it locally by searching the homebrew git logs for the commit you need and reverting the vim formula to that commit:

git -C "$(brew --repository)" log --grep='vim 7.4.1589' # Using the commit from the above command git -C "$(brew --repository)" checkout 7746a5509b3fb10216f1d40ab639398e8d0c5e4c -- Library/Formula/vim.rb # Ensure the version number looks correct head <"$(brew --repository)"/Library/Formula/vim.rb # Install as usual brew install vim # Later, when you're ready to go back to the latest version git -C "$(brew --repository)" checkout HEAD . 

You can also leave out all the -C "$(brew --repository)" stuff if you just cd "$(brew --repository)" at the beginning.

Я нахожусь на `7.4.1655`. Есть ли у вас какие-либо рекомендации по установке конкретной версии с помощью homebrew? Похоже, что есть противоречивый совет (один ответ говорит «нажмите homebrew / boneyard», другой говорит «нажмите homebrew / версии» - ни один из них не работает). scottlabs 8 лет назад 0
Вы пробовали команды, которые я перечислил выше, чтобы увидеть, была ли она уже установлена? Он не удаляет старые версии автоматически, поэтому, если вы не удалили его, он, вероятно, все еще там. n8henrie 8 лет назад 0
Я не верю, что я установил это; Я опубликовал вывод `brew info vim` в исходном ответе, чтобы я мог его отформатировать. scottlabs 8 лет назад 0
Обновлен несколькими разными способами. Дайте мне знать, если это работает для вас. n8henrie 8 лет назад 0
Это сработало! Большое вам спасибо. Я также должен был сделать `brew unlink vim` в начале (перед` brew install http ... `). Syntastic теперь снова работает. scottlabs 8 лет назад 0
Все еще проблема в 7.4.1707. n8henrie 8 лет назад 0
Пожалуйста, смотрите [здесь] (https://github.com/scrooloose/syntastic/issues/1738). lcd047 8 лет назад 0
`: PluginUpdate` был последним шагом, который исправил это для меня. rojobuffalo 7 лет назад 0
0
teferi

A slightly better solution, then pinnin vim would be updating your syntastic. See https://github.com/scrooloose/syntastic/issues/1738 The issue has been fixed in https://github.com/scrooloose/syntastic/commit/d9814c5233931bb111fcae7cdc623a9f29495e5d