Warum funktioniert das Starten von gvim in ConEmu mit einer Aufgabe, aber nicht über die Befehlszeile?

Warum funktioniert das Starten von gvim in ConEmu mit einer Aufgabe, aber nicht über die Befehlszeile?

Wenn ich dies in ConEmu eingebe:

gvim --windowid %ConEmuBackHWND% -new_console:sH

Ich erhalte eine leere Aufteilung, die nach einer Weile Folgendes anzeigt:

GUI application (PID=384) was attached to ConEmu:
\Path\To\gvim.exe

Um herauszufinden, was schief lief, habe ich eine „Gvim“-Aufgabe mit dem folgenden Befehlsinhalt erstellt:

gvim --windowid %ConEmuBackHWND% -new_console:sH

(Dasselbe wie der Befehl, den ich oben in der Befehlszeile eingegeben habe)
Und wenn ich die Aufgabe jetzt über das Dialogfeld „Neue Konsole erstellen“ starte, funktioniert alles einwandfrei und ich erhalte ein untergeordnetes GVIM-Fenster als meinen rechten Teil!

Wie werden die Befehle aus dem Dialogfeld „Neue Konsole erstellen“ ausgeführt und wie kann ich mit dem obigen Befehl einen GVIM-Split direkt aus der Konsole erstellen?

Antwort1

ProcessExplorer ist ein sehr hilfreiches Tool, um Probleme mit Umgebungsvariablen und dergleichen zu erkennen. Ich denke, Ihr Problem liegt an der Variablenerweiterung. Versuchen Sie Folgendes

gvim --windowid !ConEmuBackHWND! -new_console:sH

Wenn Sie den Befehl mit Prozentzeichen ausführen, ersetzt die CLI VariablenVorConEmu erhält den Befehl. Sie haben also versucht, gvim in einem neuen Split auszuführen, aber es mit HWND vonalte Spaltung.

Wenn Sie Ausrufezeichen verwenden, werden Variablen nicht erweitert, ConEmu erhält den Befehl unverändert und die !ConEmuBackHWND!Erweiterung erfolgt durch ConEmu selbst im richtigen Moment, nachdem der Split erstellt und neue Variablen initialisiert wurden.

verwandte Informationen