WindowsコマンドラインでCtrl + Backspaceを使用して単語を削除しますか?


9

Windows XPコマンドラインでCtrl-Backspaceを使用して単語全体を消去するにはどうすればよいですか?まったく可能ですか?

回答:


5

CMDまたはPowershellには、左または右の単語を削除するためのネイティブショートカットがありません。ここでは、各プラットフォームで実行できることのをいくつか示します。少し簡単にするためにできることは、ショートカットを使用して単語の先頭または末尾に移動し、単語の削除またはバックスペースを開始して単語を削除することです。


これがもう正確かどうかはわかりません。CTRL + Backspaceは、Win10のPowershellで最後の単語を削除します。
deed02392 2018年

5

Ctrl + Backspace機能を複製して前の単語を削除するAHKコード。これは、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/)用で、コマンドウィンドウで機能します。次のような貼り付けコードを使用して、コマンドウィンドウ固有のセクションに配置します。

#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、2015年

2

ずっとこれが欲しかった!:) AHKを使用するアイデアを+1して、スクリプトの改善を提案したかっただけです。Linuxシェルのように、単語消去には^ Wが好きなので、これを見つけてよかったです。

最初のスクリプトはCMDでは機能しませんでした(単語にジャンプしてから、単語全体ではなく最初の文字を消去します)。上記の次のスクリプトもあまり理想的ではなかったので、ループするのではなく、たとえばDelキーストロークを500回送信してループするのではなく(フォーカス、eekを変更すると、こぼれ、別のウィンドウに削除を送信することがわかりました)、代わりにCMDのF4機能があります:プロンプト文字の場合、その文字まで削除します。したがって、単語をctrl-Leftでジャンプし、次にF4を押してからスペースを押して、スペースまで削除します。唯一のマイナーな欠点は、(a)プロンプトボックスが短時間点滅すること、(b)単語の消去が繰り返されることで、山のようなスペースが残ることです(無害ですが少し魅力的ではありません)。また、Linuxシェルのように^ U(行の先頭から消去)と^ A / ^ E / ^ F / ^ Bの単語/文字の動きも必要でした(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

単語の前後のbackspceを選択できるので、さらに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.