Ouvrez un nouvel onglet dans ConEmu, dans le même répertoire (git bash)

12

Je veux attribuer un raccourci clavier dans ConEmu qui ouvrira un nouvel onglet, dans le même répertoire que l'onglet actuel.

Donc quelque chose comme:

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

[<pwd>]exécute pwd ou récupère la variable d'environnement $ PWD. Ou toute commande qui obtiendrait le répertoire de travail actuel.

--MISE À JOUR---

Actuellement, j'ai un script bash mis en place:

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

exécuter "nc" ouvrira maintenant une nouvelle fenêtre avec un git bash ConEmu dans le répertoire courant. De façon ennuyeuse, si j'utilise "cmd" au lieu de "ConEmu.exe", il l'ouvre avec succès dans un nouvel onglet au lieu d'une nouvelle fenêtre. Je ne sais pas non plus comment attribuer un argument bash comme raccourci clavier ...

chrispepper1989
la source
ConEmu.exe? Il n'a pas de commutateur -new_console. Vous devez utiliser l'exécutable approprié pour obtenir un résultat correct! Ex. ConEmuC -c bash.exe ...
Maximus

Réponses:

11

Les documents de ConEmu indiquent clairement quel utilisateur doit configurer.

Pour bash, l'utilisateur doit ajouter au profil bash

PROMPT_COMMAND='ConEmuC -StoreCWD'

Et configurez un appel de Shell fonction dans les touches et macros . L'exemple suppose que vous avez la tâche {Git bash}.

Shell("new_console", "{Git bash}", "", "%CD%")
Maximus
la source
Merci pour les conseils, j'étais définitivement sur la mauvaise voie, je regardais "Démarrage-> Tâches-> HotKey". J'ai donc attribué "Shell (" new_console "," {Git bash} "," ","% CD% ")" en tant que macro et ajouté PROMPT_COMMAND à mon bashrc mais il échoue avec "le nom du répertoire n'est pas valide"% CD%
chrispepper1989
"PROMPT_COMMAND = 'ConEmuC -StoreCWD'" génère également cette erreur: Échec de la ligne de commande d'analyse (argument / C introuvable): "c: \ Program Files (x86) \ EliteTools \ ConEmuPack.140812 \ ConEmu \ ConEmuC.exe" -StoreCWD
chrispepper1989
Vraiment? Version de quelle année vous utilisez?
Maximus
J'ai également eu besoin de mettre `` `si [-n" $ {ConEmuWorkDir} "]; puis cd "$ ConEmuWorkDir" fi `` `dans mon .bashrc, voir les astuces ici .
Borek Bernard