Session en double dans ConEmu

Existe-t-il un moyen de "dupliquer" une session dans ConEmu.

Je sais que ce n'est pas possible pour tout type de terminal (cmd.exe, powershell, etc.), mais je suis très intéressé par la situation suivante:

  • Je suis dans la console cmd.exe à l'intérieur de ConEmu.
  • En tapant Ctrl-T (le raccourci que j'ai spécifié), je peux ouvrir un nouvel onglet de console, avec une nouvelle session (cmd.exe).

Je veux que cette session commence dans le même répertoire que le premier , original. Je pense que cela peut être fait avec% cd% variable ou similaire, mais je ne pouvais pas le gérer.

Variante 1

Tapez l'invite cmd existante

cmd -new_console 

Et appuyez sur Entrée. De même, vous pouvez créer des raccourcis clavier / macro pour cette séquence, par exemple Apps N ->

 print("cmd -new_console\n") 

Ou créer un alias de type cmd ou doskey.


Variante 2

Utiliser l'élément de menu Duplicate root... Il fera une copie de votre shell parent (racine) de l'onglet actuel (où vous appelez l'élément de menu). De même, vous pouvez désactiver la confirmation de duplication dans Settings \ Confirmation .


Variante 3

Avec les dernières versions (à partir de 140818), vous pouvez également utiliser %CD% variable d'environnement dans la fonction Shell() GuiMacro . Comment configurer votre shell décrit ici .

 Shell("", "cmd", "", "%CD%") 

Les éléments suivants feront la même chose pour PowerShell

 ConEmu64.exe /config "shell" /dir "$(pwd)" /cmd powershell -new_console:n 

J'ai créé la fonction suivante qui est chargée dans mon profil PowerShell

 function Create-Console($path = $(pwd)) { $console = Resolve-Path (join-path (join-path "$env:PROGRAMW6432*" "console*") "ConEmu64*"); . $console /config "shell" /dir "$path" /cmd powershell -new_console:n } Set-Alias sh Create-Console 

Ensuite, je peux exécuter ce qui suit dans la console pour créer un nouvel onglet PowerShell dans le même répertoire:

 > sh 

Ou créez un onglet dans un répertoire différent avec:

 > sh c:\some\directory\path