ConEmu中的重复会话


10

有没有办法在ConEmu中“复制”会话。

我知道并非每种终端(cmd.exe,powershell等)都可行,但我对以下情况最感兴趣:

  • 我在ConEmu中的cmd.exe控制台中。
  • 通过输入Ctrl-T(我指定的快捷方式),我可以使用新会话(cmd.exe)打开新的控制台选项卡。

我希望此会话从与第一个会话相同的目录开始,即原始目录。我觉得可以使用%cd%变量或类似变量来完成此操作,但我无法对其进行管理。

Answers:


6

变体1

键入现有的 cmd提示

cmd -new_console

然后按Enter。您也可以为此序列创建热键/宏,例如AppsN->

print("cmd -new_console\n")

或创建cmd文件或doskey别名。


变体2

使用菜单项Duplicate root...。它将复制当前选项卡(您在其中调用菜单项)的最父(根)shell。您也可以在Settings\中禁用重复确认Confirmation


变体3

对于最新版本(从140818开始),您还可以%CD%Shell() GuiMacro函数中使用环境变量。这里介绍如何设置外壳。

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

谢谢。这不是完美的解决方案,因为如果我处于某个应用程序(ssh,无所事事,任何可以等待很长时间的内容)的中间,那么它将无法工作。但是,这是一个解决方案。再次感谢。
Michael Field

如果您位于中间的ssh(或其他)中,“重复的会话”将是不明确的。因为“要复制什么”?您的活动会话是ssh,而不是cmd。是的,cmd可能位于进程堆栈的底部,但是它的状态是什么?不确定,我猜...
Maximus

你是对的。但仍然,我经常非常需要这样做:复制流程堆栈底部的最后状态。
Michael Field

好吧,检查121109。“选项卡”菜单中的“重复的根”。与cmd一起使用。
Maximus 2012年

2

以下将对PowerShell执行相同的操作

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

我创建了在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

然后,我可以在控制台中执行以下命令,以在同一目录中创建一个新的PowerShell选项卡:

> sh

或使用以下命令在其他目录中创建标签:

> sh c:\some\directory\path
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.