Öffnen Sie eine neue Registerkarte in ConEmu im selben Verzeichnis (git bash).

12

Ich möchte eine Tastenkombination in ConEmu zuweisen, die eine neue Registerkarte im selben Verzeichnis öffnet, in dem sich die aktuelle Registerkarte befindet.

Also so etwas wie:

-new_console:d:[<pwd>]%ProgramFiles(x86)%\Git\bin\sh.exe" --login -i

Dabei wird [<pwd>]pwd ausgeführt oder die Umgebungsvariable $ PWD abgerufen. Oder ein Befehl, der das aktuelle Arbeitsverzeichnis abruft.

--AKTUALISIEREN---

Derzeit habe ich ein Bash-Skript eingerichtet:

winpwda()
{
    pwd | sed -e 's/\//\\/g ' | sed 's/^.//' | sed 's/^c/C:/g'
}
nc()
{
 ConEmu.exe -new_console:d:"$(winpwda)" "%ProgramFiles(x86)%\Git\bin\sh.exe" &
}

Wenn Sie "nc" ausführen, wird jetzt ein neues Fenster mit einem Git-Bash-ConEmu im aktuellen Verzeichnis geöffnet. Ärgerlicherweise wird "cmd" anstelle von "ConEmu.exe" erfolgreich in einer neuen Registerkarte anstelle eines neuen Fensters geöffnet. Auch nicht sicher, wie ich ein Bash-Argument als Tastaturkürzel zuweisen kann ...

chrispepper1989
quelle
ConEmu.exe? Es gibt keinen Schalter -new_console. Sie müssen die richtige ausführbare Datei verwenden, um das richtige Ergebnis zu erzielen! Ex. ConEmuC -c bash.exe ...
Maximus

Antworten:

11

In den ConEmu- Dokumenten ist klar angegeben, welcher Benutzer konfiguriert werden soll.

Für Bash muss der Benutzer zum Bash-Profil hinzufügen

PROMPT_COMMAND='ConEmuC -StoreCWD'

Und richten Sie einen Shell Funktionsaufruf in den Tasten und Makros ein . Das Beispiel setzt voraus, dass Sie die Aufgabe {Git bash} haben.

Shell("new_console", "{Git bash}", "", "%CD%")
Maximus
quelle
Vielen Dank für den Rat, ich war definitiv auf dem falschen Weg, ich habe mir "Startup-> Tasks-> HotKey" angesehen. Also habe ich "Shell (" new_console "," {Git bash} "," ","% CD% ")" als Makro zugewiesen und PROMPT_COMMAND zu meinem bashrc hinzugefügt, aber es schlägt fehl mit "Verzeichnisname ist ungültig"% CD%
chrispepper1989
Auch "PROMPT_COMMAND = 'ConEmuC -StoreCWD'" löst diesen Fehler aus: Analyse der Befehlszeile fehlgeschlagen (/ C-Argument nicht gefunden): "c: \ Programme (x86) \ EliteTools \ ConEmuPack.140812 \ ConEmu \ ConEmuC.exe" -StoreCWD
chrispepper1989
"Ja wirklich?" Version ab welchem ​​Jahr verwenden Sie?
Maximus
Ich musste auch `` `if [-n" $ {ConEmuWorkDir} "] setzen; dann cd "$ ConEmuWorkDir" fi `` `zu meiner .bashrc, siehe Tipps hier .
Borek Bernard