Ctrl + Backspace chèn một hộp nhỏ thay vì xóa


40

Khi tôi nhấn Ctrl+ Backspace, đôi khi một hình vuông nhỏ được chèn vào, thay vì toàn bộ từ bị xóa. Nếu tôi sao chép và dán ký tự ở đây, tôi sẽ nhận được điều này: ``. Nhưng nó không giống như trong hộp văn bản - đó chỉ là một hình chữ nhật màu trắng đơn giản với viền đen 1px.

Vấn đề chỉ xảy ra trong một số hộp văn bản; ở những người khác, các phím tắt hoạt động như nó nên.

  • Hộp tìm kiếm menu bắt đầu: hoạt động
  • Notepad: không hoạt động

    hộp nhỏ được tạo từ Ctrl + Backspace trong Notepad

  • Notepad2: hoạt động
  • Firefox: hoạt động

Tôi đang chạy Windows 7 x64.


1
Tôi nhận được hành vi tương tự trong notepad trong WinXP.
djhowell

2
Tôi cũng nhận được hành vi này khi đổi tên một tệp trong File Explorer trên Windows 7. Nghĩa là khi tôi chọn một tệp, nhấn F2, di chuyển con trỏ đến cuối từ tôi muốn xóa và thử Ctrl+ Backspace.
Rory O'Kane

Câu trả lời:


25

Bạn có thể khắc phục hành vi này bằng cách ghi đè phím tắt Ctrl+ Backspacebằng AutoHotkey . Lưu mã sau vào một tệp văn bản đơn giản với tên tệp và phần mở rộng đã cho, sau đó khởi chạy tập lệnh với 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

Bạn có thể thấy dễ dàng hơn để tải xuống tệp tập lệnh này từ GitHub , thay vì tự tạo tệp và dán nội dung của nó.

Để tự động khởi chạy tập lệnh này khi khởi động, hãy thêm lối tắt vào thư mục Khởi động trong menu Bắt đầu, như được mô tả trong Cách tạo chương trình chạy khi khởi động trên bất kỳ máy tính nào .

Ý tưởng cơ bản của kịch bản là thế này:

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

Thao tác này thay đổi phím tắt Ctrl+ Backspacetrong tất cả các chương trình sao cho tương đương với nhấn Ctrl+ Shift+ , để chọn từ trước đó và sau đó Backspacexóa nó.

Cách giải quyết chọn và xóa này, trong khi tốt hơn so với việc gõ một hộp, là dễ vỡ. Sẽ an toàn hơn khi không kích hoạt lối tắt này trong các chương trình trong đó Ctrl+ Backspaceđã hoạt động. Đó là lý do tại sao tôi sử dụng #IfWinActiveđể giới hạn phím nóng chỉ trong các chương trình mà tôi biết không hỗ trợ phím tắt đó.


19

"Chiếc hộp" bạn đang thấy là thứ được gọi là ký tự điều khiển . Hộp được hiển thị bởi vì, như bạn đã phát hiện ra, không phải tất cả các chương trình đều xử lý ctrl + backspace để xóa một từ.

Ký tự điều khiển này là một trong 33 ký tự "không in" trong sơ đồ mã hóa ký tự ASCII 128 ký tự .


Chỉ muốn thêm rằng một số ứng dụng xử lý nó thậm chí còn tệ hơn và thực sự không hiển thị ký tự điều khiển. Bạn có thể thấy điều này khi không có gì xảy ra ctrl+backspacevà nhấn xóa dường như không làm gì cả. Tôi nghĩ rằng notepad cho Vista đã làm điều này.
Joshua

5
Ký tự được chèn là 127 - ký tự xóa.

1
Liên kết với ASCII char 127, ký tự xóa , trên Wikipedia
Rory O'Kane

Điều này giải thích rõ ràng 'cái gì', nhưng không phải 'tại sao' :-(
mafu

14

Tìm thấy điều này trên một blog MSDN ...

Một vài người trong những ngày đầu của nhóm Internet Explorer đã sử dụng trình soạn thảo Brief, sử dụng Ctrl + Backspace làm phím tắt để xóa từ trước đó và họ thích nó đến mức một trong số họ đã thêm nó vào trình xử lý tự động hoàn thành. Do đó, mọi điều khiển chỉnh sửa sử dụng SHAutoComplete sẽ nhận được phím nóng Ctrl + Backspace bí mật này.

Vì vậy, có vẻ như nếu ứng dụng không sử dụng SHAutoComplete, nó sẽ không hỗ trợ tính năng này trừ khi được tác giả của ứng dụng thêm vào một cách rõ ràng.

Điều khiển xóa PS xóa từ phía trước con trỏ


1
Cũng trong cùng một bài viết này, đọc qua các bình luận cho biết thêm một chút cái nhìn sâu sắc hơn: blog.msdn.com/oldnewthing/archive 2007/10/11 / giả
heavyyd

0

Không phải tất cả các ứng dụng xử lý các phím tắt giống nhau. Notepad dường như không xử lý tổ hợp phím này và xử lý nó theo cách riêng của nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.