Eine einfache Fluss Arbeit, die ich häufig verwenden, wenn ein rspec
Test läuft habe ich arbeiten gerade, in vim
, ist wie folgt:Warum löscht vim die letzten zwei Zeichen, wenn "%: 8" in einem externen Befehl ausgeführt wird?
15: it "my example test" do
16: expect(1 == 1).to be true
17: end
Und diesen Test ausführen, können Sie tun:
!rspec %:15
Dies läuft rspec
als external command. %
wird auf den aktuellen Dateinamen erweitert, und :15
teilt rspec
mit, nur die Testlinie 15
auszuführen, anstatt alle Tests in der Datei.
Diese Technik funktioniert unter normalen Umständen gut. Wenn Sie jedoch versuchen, einen Test auf den Leitungen laufen 80-89
dann etwas Seltsames passiert:
84: it "my other test" do
85: expect(4 > 3).to be false
86: end
!rspec %:84
Dies führt den Befehl rspec [filename]4
- das heißt, die :8
Zeichen verschwinden! (Und Sie bekommen „Datei nicht gefunden“ -Fehler.)
Eine Abhilfe Um dieses Problem zu vermeiden ist TAB
nach Eingabe %
zu drücken, die sofort %
auf den vollständigen Pfadnamen erweitert.
Was ist jedoch der Grund für dieses seltsame Verhalten vim
? Ist es ein Fehler oder eine Funktion?