ใช้ Ctrl + Backspace เพื่อลบคำในบรรทัดคำสั่งของ Windows หรือไม่


คำตอบ:


5

CMD หรือ Powershell ไม่มีทางลัดในการลบคำทางซ้ายหรือขวา นี่คือตัวอย่างของสิ่งที่แต่ละแพลตฟอร์มสามารถทำได้ สิ่งที่คุณสามารถทำได้เพื่อให้ง่ายขึ้นเล็กน้อยคือใช้ทางลัดเพื่อย้ายไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของคำและเริ่มการลบหรือ backspacing เพื่อลบคำ


ฉันไม่แน่ใจว่านี่ถูกต้องอีกต่อไปแล้ว CTRL + Backspace ลบคำสุดท้ายใน Powershell บน Win10
deed02392

5

รหัสAHKเพื่อทำซ้ำฟังก์ชั่น Ctrl + Backspace เพื่อลบคำก่อนหน้า สิ่งนี้จะเลือกคำก่อนหน้าด้วย Ctrl + Shift + Left แล้วกด Delete ทำงานได้ดีพอสำหรับฉันในแผ่นจดบันทึกและโปรแกรมอื่น ๆ แม้ว่าจะค่อนข้างสกปรกใน win7 ไม่สามารถยืนยันเทอร์มินัลได้ในขณะนี้

^BackSpace:: ;;Delete previous word
    Send ^+{Left}{Del}
 Return

4

ลองทำสิ่งนี้แทน:

^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

เกิดอะไรขึ้นถ้าเคอร์เซอร์อยู่ตรงกลางบรรทัดและมีคำอื่น ๆ ที่ตามหลังคำก่อนหน้านี้
Codism

2

เคยต้องการสิ่งนี้มานานแล้ว! :) แค่ต้องการ +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


0

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