Wie man die richtige Version von Ruby bei der Ausführung über MacVim ausführt (! Ruby)

8

Kürzlich habe ich gesehen, wie Gary Bernhardt eine vim Abkürzung zeigt, mit der er Ruby-Code innerhalb von vim ausführt. Die Verknüpfung ist

%Vor%

Es scheint, dass diese Methode immer das System Ruby ausführt, was in meinem Fall 1.8.7 ist. Ich zögere, dies zu aktualisieren, da ich gehört habe, dass das Ändern des System-Ruby-Interpreters einige wackelige Probleme verursachen kann. Gibt es trotzdem diesen Befehl, um das Versions-Setup für das Verzeichnis mit RVM zu verwenden?

    
Ryan 04.08.2011, 01:39
quelle

2 Antworten

5

Der direkteste Weg, um ruby anzugeben, besteht darin, den vollständigen Pfadnamen im Befehl :! anzugeben (anstatt sich auf den zuerst gefundenen ruby in den PATH-Verzeichnissen zu verlassen):

  • Um den Ruby bei /path/to/your/preferred/ruby zu verwenden:

    %Vor%
  • Um RVM-installiertes ruby-1.9.2-head zu verwenden:

    %Vor%
  • Um RVM-installiertes ruby-1.9.2-head mit Ihrem rails3-dev gemset zu verwenden:

    %Vor%

Der Map-Befehl könnte also so enden:

%Vor%

Es ist auch normalerweise möglich, den effektiven Wert der PATH-Umgebungsvariablen so anzupassen, dass die von Ihnen gewünschte ruby zuerst gefunden wird, aber nicht immer so einfach wie gewünscht. Insbesondere werden die :! -Befehle von der Shell verarbeitet, die durch die Shell Vim-Option konfiguriert wurde ( :set shell? , um ihren Wert zu sehen). Die Konfigurationsdateien für diese Shell können den PATH-Wert ändern, den Vim der Shell gibt (vergleiche Vims PATH ( :echo $PATH ) mit dem PATH, den :! -Befehle verwenden ( :!echo $PATH ), um zu sehen, ob die Konfigurationsdateien Ihrer Shell sein könnten Anpassen des PATH).

Sie könnten versuchen, den PATH zu ändern, den Vim und seine Kinder so verwenden:

%Vor%

Sie sollten den effektiven PATH mit :!echo $PATH und :!which ruby überprüfen, um herauszufinden, ob Ihre Shell den PATH weiter modifiziert (vielleicht :set shell=/bin/sh , wenn Sie dieses Problem haben).

Hinweis: Ich habe diese spezielle Verwendung der Wrapper-Verzeichnisse von RVM noch nie gesehen, zukünftige Versionen von RVM könnten es brechen. Die normale Verwendung besteht darin, einen Wrapper zu erstellen und ihn direkt aus ~/.rvm/bin (ähnlich wie im ersten Teil dieses Posts) aufzurufen, anstatt ~/.rvm/wrapper/whatever in den PATH zu setzen.

    
Chris Johnsen 04.08.2011, 03:06
quelle
1

Verwenden Sie in Ihrer Map nicht einfach ruby (das erste in Ihrem $PATH ), sondern einen vollständigen Pfad. Angenommen, Sie möchten beispielsweise einen installierten MacPorts-Ruby verwenden:

%Vor%     
sidyll 04.08.2011 02:47
quelle

Tags und Links