ฉันจะลบคำทั้งหมดด้วยการใช้ Ctrl-Backspace ในบรรทัดคำสั่งของ Windows XP ได้อย่างไร เป็นไปได้หรือไม่?
ฉันจะลบคำทั้งหมดด้วยการใช้ Ctrl-Backspace ในบรรทัดคำสั่งของ Windows XP ได้อย่างไร เป็นไปได้หรือไม่?
คำตอบ:
CMD หรือ Powershell ไม่มีทางลัดในการลบคำทางซ้ายหรือขวา นี่คือตัวอย่างของสิ่งที่แต่ละแพลตฟอร์มสามารถทำได้ สิ่งที่คุณสามารถทำได้เพื่อให้ง่ายขึ้นเล็กน้อยคือใช้ทางลัดเพื่อย้ายไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของคำและเริ่มการลบหรือ backspacing เพื่อลบคำ
รหัสAHKเพื่อทำซ้ำฟังก์ชั่น Ctrl + Backspace เพื่อลบคำก่อนหน้า สิ่งนี้จะเลือกคำก่อนหน้าด้วย Ctrl + Shift + Left แล้วกด Delete ทำงานได้ดีพอสำหรับฉันในแผ่นจดบันทึกและโปรแกรมอื่น ๆ แม้ว่าจะค่อนข้างสกปรกใน win7 ไม่สามารถยืนยันเทอร์มินัลได้ในขณะนี้
^BackSpace:: ;;Delete previous word
Send ^+{Left}{Del}
Return
ลองทำสิ่งนี้แทน:
^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
Send {Del}
}
Return
มันแก้ไขคำตอบก่อนหน้าโดยส่ง 500 ลบหลังจากการวางตำแหน่งที่คำก่อนหน้า 500 อาจมากเกินไป แต่ก็เป็นเช่นนั้น
นี่สำหรับ autohotkey ( http://www.autohotkey.com/ ) และทำงานในหน้าต่าง cmd ฉันวางไว้ในส่วนเฉพาะของหน้าต่าง cmd ด้วยรหัสการวางเช่นนี้
#IfWinActive ahk_class ConsoleWindowClass
; Paste in command window
^V::
Send !{Space}ep
return
^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
Send {Del}
}
Return
#IfWinActive
เคยต้องการสิ่งนี้มานานแล้ว! :) แค่ต้องการ +1 ความคิดในการใช้ AHK และแนะนำการปรับปรุงสคริปต์ให้ดีขึ้น ฉันชอบ ^ W สำหรับการลบคำเช่นเดียวกับใน linux shells ฉันดีใจที่ได้พบสิ่งนี้
สคริปต์ตัวแรกไม่ทำงานสำหรับฉันใน CMD (กระโดดกลับคำแล้วลบตัวอักษรตัวแรกไม่ใช่คำทั้งหมด) สคริปต์ต่อไปด้านบนก็ไม่เหมาะเช่นกันดังนั้นแทนที่จะวนซ้ำเช่น 500 ครั้งส่ง Del keystrokes (ซึ่งบางครั้งฉันพบการรั่วไหลและส่งการลบไปที่หน้าต่างอื่นหากคุณเปลี่ยนโฟกัส eek) แทนที่จะมีฟังก์ชัน F4 ของ CMD: Prompts สำหรับตัวละครและลบตัวละครนั้น ดังนั้นให้ข้ามคำกลับด้วย ctrl-Left แล้วตามด้วย F4 ตามด้วย Space เพื่อลบพื้นที่ ข้อเสียเล็ก ๆ น้อย ๆ เพียงอย่างเดียวคือ (a) มันกระพริบกล่องโต้ตอบสั้น ๆ และ (b) การลบคำซ้ำออกจากกองช่องว่าง (ไม่เป็นอันตราย แต่บิตไม่สวย) ฉันยังต้องการ ^ U (ลบเพื่อเริ่มต้นบรรทัด) และ ^ A / ^ E / ^ F / ^ B การเคลื่อนไหวของคำ / char เช่นเชลล์ลินุกซ์ (แม้ว่าพวกเขาจะมีอยู่แล้วใน CMD ฉันพิมพ์แบบสัมผัสดังนั้นไม่ต้องการขยับมือออกจากคีย์บอร์ดหลัก) :) ฉันเก็บไว้ใน ^ V ที่ยอดเยี่ยมของ David Hoppe ด้วย
ดังนั้น:
#IfWinActive ahk_class ConsoleWindowClass
; Paste in command window
^V::
Send !{Space}ep
return
; was ^BackSpace, I prefer ^W a la linux
^W:: ;;Delete previous word
Send ^+{Left}
Send {F4}{Space}
Return
^U:: ;;erase to start of line
Send ^{Home}
Return
^A:: ;;move to start of line
Send {Home}
Return
^E:: ;;move to end of line
Send {End}
Return
^F:: ;; move one char forward
Send {Right}
Return
^B:: ;;move one char back
Send {Left}
Return
#IfWinActive
มันเป็นไปไม่ได้โดยกำเนิดในพรอมต์คำสั่งของ Windows
ฉันคิดว่ามันน่าจะดีกว่าถ้าเลือกมากกว่าShift+ Leftเพราะมันสามารถเลือกแบ็คสเปซหลัง / ก่อนคำ ตัวอย่างเช่น:
^w:: ;;Delete previous word
Send ^+{Left}+{Left}
Loop, 5 {
Send {Del}
}
Return
!d:: ;; Delete backward word
Send ^+{Right}+{Rigt}
Loop, 5 {
Send {Backspace}
}
Return