Ich verwende Syntastic in Vim und es hebt neuere Ruby-Syntax als Fehler hervor. Wenn ich beispielsweise erforderliche Schlüsselwortargumente verwende (eingeführt in Ruby 2.1), wie folgt:
def distance(from:, to:)
# whatever
end
... hebt die Definitionszeile hervor und sagt "unerwartet", ".
Wie kann ich erreichen, dass dies als gültige Ruby-Syntax erkannt wird? Ich habe bereits aktualisiert ~/.vim/syntax/ruby.vim
.
~/.vim/syntax/ruby.vim
Hat nichts mit der Überprüfung der Syntax in Dateien zu tun . Es dient zum Hervorheben der Syntax . Siehe robots.thoughtbot.com/writing-vim-syntax-pluginsAntworten:
Geben Sie die ausführbare Ruby-Datei für Syntastic an
Syntastische Aufrufe
ruby -c
, um die Syntax einer Datei zu überprüfen, sodass die angezeigten Fehler von der verwendeten Ruby-Version abhängen.Sie können es auf dasjenige verweisen, das Sie wie folgt verwenden möchten:
HINWEIS: auf neuere Versionen von Syntastic:
$ type ruby
Hier erfahren Sie, wo sich Ihre aktuelle Ruby-Programmdatei befindet. Ruby-Installer haben ihre eigenen Konventionen darüber, wo sie ihre Binärdateien platzieren. Z.B:~/.rubies
und bestimmte Versionen unter Pfaden wie~/.rubies/ruby-2.2.0/bin/ruby
~/.rvm/rubies
und bestimmte Versionen unter Pfaden wie~/.rvm/rubies/ruby-2.2.0/bin/ruby
quelle
let g:syntastic_ruby_exec = '~/.rvm/rubies/ruby-2.2.0/bin/ruby'
let g:syntastic_ruby_mri_exec='path/to/ruby/executable'
let g:syntastic_ruby_exec = '~/.rbenv/shims/ruby'
damit Ruby-Versionen, die wechseln, es automatisch abrufen , denke ich.system("rbenv which ruby")
in meinem .vimrcUnter Verwendung von Terminal Macvim hatte ich auch dieses Problem, das durch die Tatsache, dass ich zsh verwendete, verschärft wurde, was aus irgendeinem Grund die von mir angegebene rvm-Binärdatei nicht respektierte. Ich stellte fest, dass meine Pfade bei der Ausführung
!echo $PATH
in Terminal Macvim falsch waren und dass mehrere Systempfade an die Oberseite angehängt wurden, die sich nicht in meiner regulären Shell befanden, sodass die Standard-MRT immer noch geladen wurde.Um dies zu beheben, musste ich die Syntaxprüfung in meiner .vimrc-Datei überhaupt nicht angeben, musste jedoch aktualisieren, wie zsh gestartet wurde. Unter Verwendung des Threads unter: http://vim.1045645.n5.nabble.com/MacVim-and-PATH-td3388705.html bin ich einfach gelaufen
sudo mv /etc/zshenv /etc/zprofile
und jetzt funktioniert alles und meine Pfade sind in mvim korrekt. Dies sollte auch das Problem der Aktualisierung der Syntastik bei der Installation einer neuen Ruby-Version über rvm lösen.quelle
Für ein Rails-Projekt.
.ruby-version
Datei im Projektstamm fest.Syntastic führt die Syntaxprüfung mit der angegebenen Ruby-Version durch.
quelle