Duplicar sesión en ConEmu

10

¿Hay alguna forma de "duplicar" la sesión en ConEmu?

Sé que no es posible para todo tipo de terminal (cmd.exe, powershell, etc.), pero estoy más interesado en la siguiente situación:

  • Estoy en la consola cmd.exe dentro de ConEmu.
  • Al escribir Ctrl-T (el acceso directo que especifiqué) puedo abrir una nueva pestaña de consola, con una nueva sesión (cmd.exe).

Quiero que esta sesión comience en el mismo directorio que el primero , el original. Estoy sintiendo que se puede hacer con la variable% cd% o similar, pero no pude manejarlo.

Michael Field
fuente

Respuestas:

6

Variante 1

Escriba el indicador de cmd existente

cmd -new_console

y presione Entrar. También puede crear teclas de acceso rápido / macro para esta secuencia, por ejemplo AppsN->

print("cmd -new_console\n")

o crear cmd-file o doskey alias.


Variante 2

Usar elemento de menú Duplicate root.... Hará una copia de su shell más padre (raíz) de la pestaña actual (donde está llamando al elemento del menú). También puede deshabilitar la confirmación duplicada en el Settings\ Confirmation.


Variante 3

Con las últimas versiones (de 140818) también puede usar %CD%la variable de entorno dentro de la función Shell() GuiMacro . Cómo configurar su shell descrito aquí .

Shell("", "cmd", "", "%CD%")
Maximus
fuente
Gracias. No es la solución perfecta, porque no funciona si estoy en medio de alguna aplicación (ssh, vagabundo, cualquier cosa que se pueda esperar por mucho tiempo). Pero es una solución. Y gracias de nuevo.
Michael Field el
Si está en un ssh medio (u otro), la "sesión duplicada" será ambigua. Porque "qué duplicar"? Tu sesión activa es ssh, no cmd. Sí, cmd puede estar en la parte inferior de la pila de procesos, pero ¿en qué estado se encuentra? Indeterminado, supongo ...
Maximus
Tienes razón. Pero aún así, muy a menudo necesito exactamente eso: duplicar el último estado de la parte inferior de la pila de procesos.
Michael Field
Bueno, verifique 121109. "Duplicar raíz" en el menú de la pestaña. Funciona con cmd.
Maximus
2

Lo siguiente hará lo mismo para PowerShell

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

Creé la siguiente función que se carga en mi perfil de 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

Luego puedo ejecutar lo siguiente en la consola para crear una nueva pestaña de PowerShell en el mismo directorio:

> sh

o cree una pestaña en un directorio diferente con:

> sh c:\some\directory\path
Mike Glenn
fuente