Vim Syntastic springt nicht zum Fehler

769
scottlabs

Ich verwende ESLint mit Syntastic in Vim. Fehler werden in Syntastic korrekt gefunden, aber wenn ich zu dem Fehler in der Fehlerspeicherposition navigiere und die Eingabetaste drücke, wird ich in der gleichen Position abgelegt, in der ich mich in der Datei befand, anstatt mich in die richtige Zeile und Spalte zu bringen.

Ich sehe auch den folgenden Fehler:

E926: Current location list was changed

Mein Google-fu findet jedoch nichts zu diesem Fehler.

Ich habe auch einen kurzen Screencast aufgenommen, der dieses Ereignis demonstriert:

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

Irgendwelche Gedanken, wie man das lösen kann? Es hat einige Wochen gearbeitet; Ich habe mein .vimrc nicht geändert, aber kürzlich habe ich den Knoten & npm neu installiert.

- Update -

Ausgabe von 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
Dies ist der einzige Treffer, den ich auch für dieses Problem finde. Das Problem scheint erst vor kurzem angefangen zu haben. Ein wenig [Info zum Fehlercode hier] (https://github.com/vim/vim/blob/ffec3c53496d49668669deabc0724ec78e2274fd/runtime/doc/quickfix.txt). Ich habe schon vor einem ganzen Jahr versucht, syntastische Commits auszuchecken, und der Fehler blieb - vielleicht ist es ein Problem mit einem Update von vim? Außerdem funktionieren `: lnext` und`: lprev` immer noch für mich, navigieren aber nicht von der Liste. Bist du zufällig auf OS X mit Homebrew? n8henrie vor 8 Jahren 0
`: lnext` und`: lprev` arbeiten beide gut für mich. Ich bin auf OS X 10.11.4 und benutze Homebrew. scottlabs vor 8 Jahren 0
Good thing you guys reported this problem on the [issue tracker](https://github.com/scrooloose/syntastic/issues) instead of waiting for it to solve itself by magic. Wait, never mind. Please upgrade syntastic to 7e986f1 or later, and try your scenario again. Report any remaining issues (to the issue tracker this time). lcd047 vor 8 Jahren 0

2 Antworten auf die Frage

1
n8henrie

Es scheint ein Problem mit vim zu sein (ich bin mir nicht sicher, was), das zwischen 7.4.1589 und 7.4.1655 eingeführt wurde. Wenn Sie OS X / Homebrew verwenden, kann dies eine temporäre Lösung sein brew switch vim 7.4.1589(vorausgesetzt, Sie haben immer noch die lokale Version dieser Version heruntergeladen, können Sie dies überprüfen brew info vim).

Wenn Sie diese Version nicht aufgelistet haben brew info vim, können Sie sie direkt von der URL des Commits installieren:

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

Alternativ können Sie dies lokal tun, indem Sie die Homebrew-Git-Protokolle nach dem von Ihnen benötigten Commit durchsuchen und die vim-Formel auf dieses Commit zurücksetzen:

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 . 

Sie können auch alles -C "$(brew --repository)"weglassen, wenn Sie nur cd "$(brew --repository)"am Anfang stehen.

Ich bin am 7.4.1655. Haben Sie Empfehlungen, wie Sie eine bestimmte Version mit Homebrew installieren? Es scheint, dass es widersprüchliche Ratschläge gibt (eine Antwort lautet "tippen Sie auf Homebrew / boneyard", eine andere auf "tap homebrew / versions" - beide scheinen nicht zu funktionieren). scottlabs vor 8 Jahren 0
Haben Sie die oben aufgeführten Befehle ausprobiert, um festzustellen, ob sie bereits installiert sind? Alte Versionen werden nicht automatisch entfernt. Wenn Sie sie also nicht entfernt haben, ist sie wahrscheinlich immer noch vorhanden. n8henrie vor 8 Jahren 0
Ich glaube nicht, dass ich es installiert habe. Ich habe die Ausgabe von `brew info vim` in der ursprünglichen Antwort gepostet, damit ich sie schön formatieren konnte. scottlabs vor 8 Jahren 0
Mit einigen verschiedenen Möglichkeiten aktualisiert. Lassen Sie mich wissen, ob das für Sie funktioniert. n8henrie vor 8 Jahren 0
Das hat funktioniert! Vielen Dank, N8henrie. Ich musste am Anfang auch ein `brew unlink vim` machen (vor` brew install http ... `). Syntastic funktioniert jetzt wieder. scottlabs vor 8 Jahren 0
Immer noch ein Problem in 7.4.1707. n8henrie vor 8 Jahren 0
Bitte sehen Sie [hier] (https://github.com/scrooloose/syntastic/issues/1738). lcd047 vor 8 Jahren 0
`: PluginUpdate` war der letzte Schritt, der es für mich behoben hat. rojobuffalo vor 7 Jahren 0
0
teferi

Eine etwas bessere Lösung, dann würde Pinnain Vim Ihre Syntastik aktualisieren. Siehe https://github.com/scrooloose/syntastic/issues/1738 Das Problem wurde in https://github.com/scrooloose/syntastic/commit/d9814c5233931bb111fcae7cdc623a9f29495e5d behoben