Використовувати Ctrl + Backspace для видалення слова в командному рядку Windows?


Відповіді:


5

CMD або Powershell не мають нативної ярлика, щоб видалити слово вліво або вправо. Ось кілька прикладів того, що може зробити кожна платформа. Можливо, ви можете зробити це трохи полегшити, - скористайтеся ярликом, щоб перейти до початку або в кінці слова та почати видаляти або повертати назад, щоб видалити слово.


Я вже не впевнений, що це точно. CTRL + Backspace видаляє останнє слово в Powershell на Win10.
deed02392

5

Код AHK для копіювання функцій Ctrl + Backspace для видалення попереднього слова. Для цього вибирається попереднє слово за допомогою Ctrl + Shift + Left, а потім натискає видалити. Для мене працює досить добре в блокноті та інших програмах, хоча у 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

Що робити, якщо курсор опинився посередині рядка, а за попереднім словом є більше слів?
Кодизм

2

Цього хотіли давно! :) Просто хотів поставити +1 ідеї використання AHK та запропонувати вдосконалити сценарій для цього. Мені подобається ^ W за стирання слів, як в оболонках Linux, тому я радий, що знайшов це.

Перший сценарій не працював для мене в CMD (стрибне слово назад, потім стирається перший символ, а не все слово). Наступний вище скрипт теж не був ідеальним, тому замість циклічного запису, наприклад, 500 разів надсилаючи натискання клавіш Del (що, як я виявив, іноді переливається та надсилає видалення в інше вікно, якщо ви змінюєте фокус, eek), натомість є функціонал CMD F4: Підказки для персонажа та видаляє до цього знака. Отже, відскакуйте слово назад за допомогою ctrl-Left, потім F4, а потім пробіл, щоб видалити до пробілу. Єдиним незначним недоліком є ​​те, що (а) воно коротко прошиває вікно підказки, і (б) повторне стирання слів залишає купу пробілів (нешкідливих, але трохи непривабливих). Я також хотів ^ U (видалити до початку рядка) і ^ A / ^ E / ^ F / ^ B слово / char рух, як оболонки Linux (хоча вони вже є в CMD, Я торкаюся типу, тому вважаю за краще не відводити руки від основної клавіатури). :) Я також зберігав у великому ^ V для пасти Давида Хоппе.

Таким чином:

#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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.