Windows komut satırında sözcüğü silmek için Ctrl + Backspace tuşunu kullanın?


Yanıtlar:


5

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.


Bunun artık doğru olduğundan emin değilim. CTRL + Geri Al tuşu, Win10'daki Powershell'deki son sözcüğü siler.
deed02392

5

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

4

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

Eğer imleç bir satırın ortasındaysa ve bir önceki kelimeyi takip eden başka kelimeler varsa?
Codism

2

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


0

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.