ทำซ้ำเซสชันใน ConEmu


10

มีวิธีการ "ซ้ำ" เซสชั่นใน ConEmu

ฉันรู้ว่ามันเป็นไปไม่ได้สำหรับเทอร์มินัลทุกชนิด (cmd.exe, powershell, ฯลฯ ) แต่ฉันสนใจมากที่สุดในสถานการณ์ต่อไปนี้:

  • ฉันอยู่ในคอนโซล cmd.exe ภายใน ConEmu
  • ด้วยการพิมพ์ Ctrl-T (ทางลัดที่ฉันระบุ) ฉันสามารถเปิดแท็บคอนโซลใหม่ด้วยเซสชันใหม่ (cmd.exe)

ฉันต้องการให้เซสชั่นนี้เริ่มต้นในไดเรกทอรีเดียวกันกับอันแรกอันแรก ฉันรู้สึกว่ามันสามารถทำได้ด้วยตัวแปร% cd% หรือคล้ายกัน แต่ฉันไม่สามารถจัดการได้

คำตอบ:


6

ตัวแปร 1

พิมพ์พรอมต์คำสั่งที่มีอยู่

cmd -new_console

และกด Enter นอกจากนี้คุณสามารถสร้างฮอตคีย์ / มาโครสำหรับลำดับนี้ได้เช่นAppsN->

print("cmd -new_console\n")

หรือสร้างไฟล์ cmd หรือนามแฝง doskey


ตัวแปร 2

Duplicate root...ใช้รายการเมนู มันจะทำสำเนาของเชลล์พาเรนต์ (root) ส่วนใหญ่ของแท็บปัจจุบัน (ที่คุณกำลังเรียกรายการเมนู) นอกจากนี้คุณอาจปิดการยืนยันซ้ำกันใน\SettingsConfirmation


ตัวแปร 3

ด้วยเวอร์ชันล่าสุด (จาก 140818) คุณอาจใช้%CD%ตัวแปรสภาพแวดล้อมภายในฟังก์ชั่นShell() GuiMacro วิธีการตั้งค่าเปลือกของคุณอธิบายไว้ที่นี่

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

ขอบคุณ มันไม่ได้เป็นโซลูชั่นที่สมบูรณ์แบบเพราะมันไม่ทำงานถ้าฉันอยู่ในระหว่างการใช้งานบางอย่าง (ssh, คนจรจัด, อะไรก็ตามที่รอได้นาน) แต่มันเป็นทางออก และขอขอบคุณอีกครั้ง
Michael Field

หากคุณอยู่ในกลาง ssh (หรือ smth อื่น ๆ ) - "เซสชั่นที่ซ้ำกัน" จะไม่ชัดเจน เพราะ "ต้องทำซ้ำ" เซสชันที่ใช้งานของคุณคือ ssh ไม่ใช่ cmd ใช่ cmd อาจอยู่ที่ด้านล่างของกระบวนการสแต็ก แต่มันคืออะไร? ผมคิดว่าไม่ตั้งใจแน่วแน่ ...
สังฆ

คุณถูก. แต่ถึงกระนั้นบ่อยครั้งที่ฉันต้องการสิ่งนั้นมาก: เพื่อทำซ้ำสถานะสุดท้ายของด้านล่างของกระบวนการสแต็ก
Michael Field

ดีตรวจสอบ 121109 "ซ้ำราก" ในเมนูแท็บ ทำงานร่วมกับ cmd
Maximus

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.