Yanıtlar:
CMD veya Powershell'de sözcüğü sola veya sağa silmek için yerel bir kısayol yoktur. Her platformun neler yapabileceğine dair bazı örnekler . Biraz daha kolay hale getirmek için yapabileceğiniz şey, kelimenin başına veya sonuna gitmek için kısayolu kullanmak ve sözcüğü silmek için silmeye veya geri aramaya başlamaktır.
AHK Kodu önceki kelimeyi silmek için Ctrl + Backspace işlevlerini çoğaltma. Bunun yaptığı şey, önceki kelimeyi Ctrl + Shift + Sol tuşlarıyla seçer ve ardından delete tuşuna basar. Not Defteri'nde ve diğer programlarda benim için yeterince iyi çalışıyor, ancak win7'de biraz sakat. Terminal için şu anda onaylanamıyor.
^BackSpace:: ;;Delete previous word
Send ^+{Left}{Del}
Return
bunun yerine şunu deneyin:
^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
Send {Del}
}
Return
önceki kelimeye yerleştirdikten sonra 500 silme göndererek önceki cevabı değiştirdi. 500 aşırı olabilir, ama ne olacak.
Bu autohotkey ( http://www.autohotkey.com/ ) içindir ve bir cmd penceresinde çalışır, bunu yapıştırma koduyla cmd penceresine özgü bölüme koydum:
#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
Bunu uzun zamandır istiyordum! :) Sadece AHK kullanma fikrini + 1'lemek ve betiğin iyileştirilmesini önermek istedim. Linux kabuklarında olduğu gibi, kelime silme için ^ W seviyorum, bu yüzden bunu bulduğuma sevindim.
İlk komut dosyası CMD'de benim için çalışmadı (bir kelimeyi geri atlar, sonra tüm kelimeyi değil, ilk karakteri siler). Yukarıdaki bir sonraki komut dosyası da oldukça ideal değildi, bu yüzden 500 kez Del tuş vuruşlarını göndermek yerine döngü yapmak yerine (bazen odak dökülür ve başka bir pencereye silme gönderir, eek), bunun yerine CMD'nin F4 işlevselliği var: Bilgi istemleri bir karakter için ve o karaktere kadar siler. Bu nedenle, bir boşluğa kadar silmek için ctrl-Left, ardından F4 ve ardından Space tuşlarıyla bir kelimeyi geri atlayın. Sadece küçük dezavantajları (a) bilgi istemi kutusunu kısaca yanıp söner ve (b) tekrarlanan kelime silme işlemleri bir yığın boşluk bırakır (zararsız ama biraz çirkin). Ayrıca ^ U (satır başlangıcını silmek için) ve linux kabukları gibi ^ A / ^ E / ^ F / ^ B kelime / char hareketi istedim (CMD'de zaten mevcut olsalar bile, Yazıya dokunuyorum, bu yüzden ellerimi ana klavyeden uzaklaştırmamayı tercih ediyorum). :) Ayrıca David Hoppe'nin yapıştırmak için harika ^ V'sini de sakladım.
Böylece:
#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 komut isteminde yerel olarak mümkün değildir.
Daha fazla Shift+ seçerseniz daha iyi olması gerektiğini düşünüyorum Left, çünkü kelimeden önce / sonra backspce'yi seçebilir. Örneğin:
^w:: ;;Delete previous word
Send ^+{Left}+{Left}
Loop, 5 {
Send {Del}
}
Return
!d:: ;; Delete backward word
Send ^+{Right}+{Rigt}
Loop, 5 {
Send {Backspace}
}
Return