Archiv verlassen und diese Seite im Standarddesign anzeigen : vim+ruby
n'abend!
wie kann ich ein im vim geöffnetes ruby-programm direkt ausführen lassen?
die suchfunktion hat mir nicht weitergeholfen und daraus (http://www.vim.org/htmldoc/if_ruby.html#Ruby) werde ich auch nicht schlau
ruby ist installiert und vim ist natürlich mit +ruby kompiliert
Sag mal genauer was Du machen willst: ist das auszuführende ruby-Programm eines das in vim laufen soll (wg. +ruby) oder
extern, über den ruby-Interpreter.
Im zweiten Fall sollte dir :help quickfix helfen oder auch :help make
Gruß,
Wolfgang
PS: das Banalste hab ich nicht gefragt: hast Du schon
:!%
versucht :D ?
das ruby-programm soll mit vim geöffnet und editiert werden
das speicher ich das ganze ab (:w) und will das ruby programm dann direkt aus dem vim heraus starten
:!% liefert folgendes:
zsh: command not found: array.rb
shell returned 127
Hit ENTER or type command to continue
[No write since last change]
zsh: command not found: array.rb
shell returned 127
Hit ENTER or type command to continue
array.rb ist das in vim geöffnete file
wenn ich ein "ruby" davor setzte bekomme ich nur nen syntax error
SyntaxError: (eval): compile error
// EDIT: ok so funzt es wie ich will:
:rubyfile array.rb
oder so
:ruby load 'array.rb'
Also zu :!%
das führt die aktuell editierte Datei (%) über Deine default-Shell
(wie ich sehe zsh) aus.
Du müßtest einen korrekten Sha-Bang in die erste Zeile setzen, um den
ruby-Interpreter zu benutzen (#!/usr/bin/ruby), also genauso, als würdest
Du das Skript aus der Shell direkt starten..
Bei mir funktioniert das mit vim+Perl wie gerade beschrieben.
Gruß,
Wolfgang
hmm, funktioniert leider nicht
ruby liegt in /usr/bin/ruby
#!/usr/bin/ruby funzt nicht
#!/usr/bin/ruby -w funzt auch nicht
#!/usr/bin/env ruby funzt auch nicht
in allen fällen der gleiche fehler wie oben
hmm, funktioniert leider nicht
ruby liegt in /usr/bin/ruby
Tja, ich hab zu ruby nicht viel Praxis, aber ein kleiner Test funktioniert bei
mir aus vim. Inhalt der Datei:
#!/usr/bin/ruby
puts "BUH!!!"
Schreibt mit :!% genau das auf den Bildschirm :) (sowohl mit bash,
als auch nach :set shell=/usr/bin/zsh
Das Script muß natürlich ausführbar sein (chmod +x).
Also :confused:
EDIT: "command not found" kann auch heißen, daß das PWD nicht
in $PATH steht ! (ich glaube, vim macht kein ./ vor den Dateinamen)
mit der bash funktionierts. da hab ich auch alle oben genannten probleme nicht.
liegt also an der zshell.
zsh ist berits in der .vimrc eingetragen
und das script ist natürlich auch ausführbar
hmm, ich will aber meine zshell nicht wieder hergeben :confused:
Prüfe nochmal die Konfiguration Deiner zsh. Ich schätze, Du mußt ihr nur
irgendwie sagen, daß sie das aktuelle Verzeichnis (oder wo immer Dein
Skript liegt) absuchen soll ($PATH). Das "command not found" geht für mich
eindeutig in diese Richtung.
Vielleicht mußt im vim auch nur die Commandflags (:help shellcmdflag)
anpassen. Siehe auch :help shelltype (und alles was in drum herum
beschrieben ist :) )
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.