Ctrl + Backspace แทรกกล่องขนาดเล็กแทนการลบ


40

เมื่อฉันกดCtrl+ Backspaceบางครั้งจะแทรกสี่เหลี่ยมจัตุรัสเล็ก ๆ แทนที่จะลบทั้งคำ หากฉันคัดลอกและวางอักขระที่นี่ฉันจะได้รับสิ่งนี้: `` แต่มันดูไม่เหมือนในกล่องข้อความ - มันแค่สี่เหลี่ยมสีขาวธรรมดาที่มีขอบดำ 1px

ปัญหาเกิดขึ้นในกล่องข้อความบางกล่องเท่านั้น ในทางอื่นทางลัดทำงานได้อย่างที่ควรจะเป็น

  • ช่องค้นหาเมนูเริ่ม: ใช้งานได้
  • แผ่นจดบันทึก: ไม่ทำงาน

    กล่องเล็ก ๆ ที่สร้างจาก Ctrl + Backspace ใน Notepad

  • Notepad2: ใช้งานได้
  • Firefox: ใช้งานได้

ฉันใช้ Windows 7 x64


1
ฉันมีพฤติกรรมเหมือนกันใน notepad ใน WinXP
djhowell

2
ฉันยังได้รับพฤติกรรมนี้เมื่อเปลี่ยนชื่อไฟล์ในFile Explorerบน Windows 7 นั่นคือเมื่อฉันเลือกไฟล์กดF2เลื่อนเคอร์เซอร์ไปยังจุดสิ้นสุดของคำว่าฉันต้องการจะลบและพยายาม+Ctrl Backspace
Rory O'Kane

คำตอบ:


25

คุณสามารถแก้ไขปัญหานี้โดยการเอาชนะCtrl+ Backspaceทางลัดโดยใช้AutoHotkey บันทึกรหัสต่อไปนี้ในไฟล์ข้อความธรรมดาด้วยชื่อไฟล์และนามสกุลที่กำหนดจากนั้นเรียกใช้สคริปต์ด้วย AutoHotkey:

FixCtrlBackspace.ahk

; how to write scripts: http://www.autohotkey.com/docs/

#IfWinActive ahk_class CabinetWClass ; File Explorer
    ^Backspace::
#IfWinActive ahk_class Notepad
    ^Backspace::
    Send ^+{Left}{Backspace}
#IfWinActive

; source and context: http://superuser.com/a/636973/124606

; relevant documentation links:
; writing hotkeys
; http://www.autohotkey.com/docs/Hotkeys.htm
; list of key codes (including Backspace)
; http://www.autohotkey.com/docs/KeyList.htm
; the #IfWinActive directive
; http://www.autohotkey.com/docs/commands/_IfWinActive.htm
; the Send command
; http://www.autohotkey.com/docs/commands/Send.htm

คุณอาจพบว่าการดาวน์โหลดไฟล์สคริปต์นี้จาก GitHubง่ายกว่าการสร้างไฟล์และวางในเนื้อหาด้วยตัวเอง

เพื่อเปิดสคริปต์นี้โดยอัตโนมัติในการเริ่มต้นเพิ่มทางลัดไปยังไปยังโฟลเดอร์ Startup ในเมนู Start ของคุณตามที่อธิบายไว้ในวิธีการสร้างโปรแกรมการทำงานที่เริ่มต้นในคอมพิวเตอร์ทุกเครื่อง

แนวคิดพื้นฐานของสคริปต์คือ:

^Backspace:: Send ^+{Left}{Backspace}

สิ่งนี้จะเปลี่ยนทางลัดCtrl+ Backspaceในทุกโปรแกรมเพื่อให้เทียบเท่ากับการกดCtrl+ Shift+ เพื่อเลือกคำก่อนหน้านี้และจากนั้นBackspaceเพื่อลบ

วิธีแก้ปัญหาแบบเลือกและลบนี้ในขณะที่ดีกว่าการพิมพ์กล่อง จะปลอดภัยกว่าหากไม่เปิดใช้งานทางลัดนี้ในโปรแกรมที่Ctrl+ ใช้Backspaceงานได้แล้ว นั่นเป็นเหตุผลที่ฉันใช้#IfWinActiveเพื่อ จำกัด ฮอตคีย์เฉพาะโปรแกรมที่ฉันรู้ว่าไม่สนับสนุนทางลัดนั้น


19

"กล่อง" ที่คุณเห็นคือสิ่งที่เรียกได้ว่าเป็นตัวละครที่ควบคุม กล่องจะปรากฏขึ้นเนื่องจากในขณะที่คุณค้นพบว่าไม่ใช่ทุกโปรแกรมที่จัดการ ctrl + backspace เพื่อลบคำ

ตัวละครที่ควบคุมนี้เป็นหนึ่งใน 33 "ไม่พิมพ์" ตัวละครใน 128 ตัวอักษรรูปแบบอักขระ ASCII เข้ารหัส


แค่อยากจะเพิ่มว่าบางแอพพลิเคชั่นจัดการกับมันแย่ลงและไม่แสดงตัวควบคุม คุณสามารถเห็นสิ่งนี้เมื่อไม่มีอะไรเกิดขึ้นกับctrl+backspaceการกดลบดูเหมือนว่าจะไม่ทำอะไร ฉันคิดว่า notepad สำหรับ Vista ทำเช่นนี้
โจชัว

5
อักขระที่แทรกคือ 127 - อักขระลบ

1
ลิงก์ไปยังASCII ถ่าน 127 ตัวละครลบใน Wikipedia
Rory O'Kane

สิ่งนี้อธิบายความชัดเจนว่า 'อะไร' แต่ไม่ใช่ 'ทำไม' :-(
mafu

14

พบสิ่งนี้ในบล็อก MSDN ...

มีคนไม่กี่คนในช่วงแรก ๆ ของกลุ่ม Internet Explorer ที่ใช้ตัวแก้ไขย่อซึ่งใช้ Ctrl + Backspace เป็นปุ่มลัดเพื่อลบคำก่อนหน้าและพวกเขาชอบมันมากจนมีหนึ่งในนั้นเพิ่มเข้าไปในตัวจัดการเติมข้อความอัตโนมัติ ดังนั้นการควบคุมการแก้ไขใด ๆ ที่ใช้ SHAutoComplete จะได้รับคีย์ลัด Ctrl + Backspace

ดังนั้นดูเหมือนว่าหากแอปพลิเคชันไม่ได้ใช้ SHAutoComplete มันจะไม่สนับสนุนคุณสมบัติเว้นแต่จะได้รับการเพิ่มโดยผู้เขียนแอปพลิเคชันอย่างชัดเจน

PS control-delete จะลบคำข้างหน้าเคอร์เซอร์


1
นอกจากนี้ในบทความเดียวกันนี้อ่านผ่านการแสดงความคิดเห็นเพิ่มนิด ๆ หน่อย ๆ เข้าใจมากขึ้น: blogs.msdn.com/oldnewthing/archive/2007/10/11/...
heavyd

0

ไม่ใช่ทุกแอปพลิเคชันที่จัดการกับแป้นพิมพ์ลัดเหมือนกัน Notepad ดูเหมือนจะไม่จัดการชุดคีย์นี้และจัดการด้วยวิธีของตนเอง

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