Otwórz nową kartę w ConEmu, w tym samym katalogu (git bash)

12

Chcę przypisać skrót klawiaturowy w ConEmu, który otworzy nową kartę, w tym samym katalogu, w którym znajduje się bieżąca karta.

Więc coś takiego:

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

gdzie [<pwd>]uruchamia pwd lub pobiera zmienną środowiskową $ PWD. Lub dowolne polecenie, które otrzyma bieżący katalog roboczy.

--AKTUALIZACJA---

Obecnie mam skonfigurowany skrypt bash:

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" &
}

uruchomienie „nc” otworzy teraz nowe okno z git bash ConEmu w bieżącym katalogu. Irytujące, jeśli użyję „cmd” zamiast „ConEmu.exe”, z powodzeniem otwiera go w nowej karcie zamiast w nowym oknie. Nie jestem również pewien, jak mogę przypisać argument bash jako skrót klawiaturowy ...

chrispepper1989
źródło
ConEmu.exe? Nie ma przełącznika -new_console. Musisz użyć odpowiedniego pliku wykonywalnego, aby uzyskać odpowiedni wynik! Dawny. ConEmuC -c bash.exe ...
Maximus,

Odpowiedzi:

11

Dokumenty ConEmu jasno określają, który użytkownik powinien skonfigurować.

Dla bash użytkownik musi dodać do profilu bash

PROMPT_COMMAND='ConEmuC -StoreCWD'

I skonfiguruj wywołanie Shell funkcji w klawiszach i makrach . Przykład zakłada, że ​​masz zadanie {Git bash}.

Shell("new_console", "{Git bash}", "", "%CD%")
Maximus
źródło
Dziękuję za radę, zdecydowanie byłem na złym torze, patrzyłem na „Startup-> Zadania-> HotKey”. Więc przypisałem „Shell („ new_console ”,„ {Git bash} ”,„ ”,„% CD% ”)” jako makro i dodałem PROMPT_COMMAND do mojego bashrc, ale nie powiedzie się to z „nazwa katalogu jest nieprawidłowa”% CD%
chrispepper1989
Również „PROMPT_COMMAND = 'ConEmuC -StoreCWD'” zgłasza ten błąd: parsowanie wiersza poleceń nie powiodło się (nie znaleziono argumentu / C): „c: \ Program Files (x86) \ EliteTools \ ConEmuPack.140812 \ ConEmu \ ConEmuC.exe” -StoreCWD
chrispepper1989
Naprawdę? Wersja z jakiego roku korzystasz?
Maximus,
Musiałem także wstawić `` if [-n "$ {ConEmuWorkDir}"]; następnie cd „$ ConEmuWorkDir” fi do mojego .bashrc, zobacz wskazówki tutaj .
Borek Bernard