web-dev-qa-db-ja.com

ConEmuでの重複セッション

ConEmuでセッションを「複製」する方法はありますか。

すべての種類の端末(cmd.exe、powershellなど)で使用できるわけではないことはわかっていますが、次の状況に最も関心があります。

  • ConEmu内のcmd.exeコンソールにいます。
  • Ctrl-T(指定したショートカット)を入力すると、新しいセッション(cmd.exe)で新しいコンソールタブを開くことができます。

このセッションは最初のセッションと同じディレクトリで開始します、元のセッションにします。 %cd%変数などでできると感じていますが、管理できませんでした。

10
Michael Field

バリアント1

existingcmdプロンプトを入力します

_cmd -new_console
_

enterキーを押します。また、たとえば、このシーケンスのホットキー/マクロを作成することもできます AppsN ->

_print("cmd -new_console\n")
_

または、cmd-fileまたはdoskeyエイリアスを作成します。


バリアント2

メニュー項目_Duplicate root..._を使用します。現在のタブ(メニュー項目を呼び出している場所)の最も親(ルート)のシェルのコピーが作成されます。また、Settings\Confirmationで重複確認を無効にすることもできます。


バリアント3

最新バージョン(140818以降)では、Shell()GuiMacro 関数内で_%CD%_環境変数を使用することもできます。説明されているシェルの設定方法 ここ

_Shell("", "cmd", "", "%CD%")
_
6
Maximus

以下は、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
2
Mike Glenn