Ctrl + Backspace inserisce una piccola casella invece di cancellare


40

Quando premo Ctrl+ Backspace, a volte viene inserito un quadratino anziché l'intera parola da cancellare. Se copio e incollo il personaggio qui, ottengo questo: ``. Ma nella casella di testo non sembra proprio così: c'è solo un semplice rettangolo bianco con un bordo nero di 1px.

Il problema si verifica solo in alcune caselle di testo; in altri il collegamento funziona come dovrebbe.

  • Casella di ricerca del menu Start: funziona
  • Blocco note: non funziona

    piccola casella creata da Ctrl + Backspace nel Blocco note

  • Notepad2: funziona
  • Firefox: funziona

Sto eseguendo Windows 7 x64.


1
Ottengo lo stesso comportamento nel blocco note in WinXP.
Djhowell,

2
Ottengo anche questo comportamento durante la ridenominazione di un file in Esplora file su Windows 7. Cioè, quando seleziono un file, premo F2, muovo il cursore alla fine della parola che voglio eliminare e provo Ctrl+ Backspace.
Rory O'Kane,

Risposte:


25

È possibile correggere questo comportamento ignorando il collegamento Ctrl+ Backspaceutilizzando AutoHotkey . Salvare il codice seguente in un file di testo semplice con il nome file e l'estensione indicati, quindi avviare lo script con 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

Potresti trovare più facile scaricare questo file di script da GitHub , piuttosto che creare il file e incollarlo da solo.

Per avviare automaticamente questo script all'avvio, aggiungere un collegamento alla cartella Avvio nel menu Start, come descritto in Come eseguire un programma all'avvio su qualsiasi computer .

L'idea di base della sceneggiatura è questa:

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

Ciò modifica il collegamento Ctrl+ Backspacein tutti i programmi in modo che equivale a premere Ctrl+ Shift+ , per selezionare la parola precedente e quindi Backspaceper eliminarla.

Questa soluzione alternativa seleziona ed elimina, sebbene sia meglio che digitare una casella, è fragile. È più sicuro non abilitare questo collegamento nei programmi in cui Ctrl+ Backspacefunziona già. Ecco perché uso #IfWinActiveper limitare il tasto di scelta rapida solo ai programmi che conosco non supportano quel collegamento.


19

La "scatola" che stai vedendo è ciò che è noto come un personaggio di controllo . La casella viene visualizzata perché, come hai scoperto, non tutti i programmi gestiscono il ctrl + backspace per rimuovere una parola.

Questo carattere di controllo è uno dei 33 caratteri "non stampabili" nello schema di codifica dei caratteri ASCII a 128 caratteri .


Volevo solo aggiungere che alcune applicazioni lo gestiscono ancora peggio e in realtà non mostrano il carattere di controllo. Puoi vederlo quando non succede nulla ctrl+backspacee premendo Canc sembra non fare nulla. Penso che Notepad per Vista abbia fatto questo.
Giosuè,

6
Il carattere inserito è 127 - il carattere di eliminazione.


Questo spiega l'ovvio "cosa", ma non "perché" :-(
mafu

14

Ho trovato questo su un blog MSDN ...

Alcune persone nei primi tempi del gruppo Internet Explorer usavano l'editor Breve, che utilizza Ctrl + Backspace come tasto di scelta rapida per eliminare la parola precedente, e gli è piaciuto così tanto che uno di loro l'ha aggiunto al gestore del completamento automatico. Pertanto, qualsiasi controllo di modifica che utilizza SHAutoComplete otterrà questo tasto di scelta rapida Ctrl + Backspace segreto.

Quindi sembra che se l'applicazione non utilizza SHAutoComplete non supporterà la funzionalità a meno che non sia stata esplicitamente aggiunta dall'autore dell'applicazione.

PS control-delete rimuove la parola davanti al cursore


1
Sempre su questo stesso articolo, leggere i commenti aggiunge un po 'più di intuizione: blogs.msdn.com/oldnewthing/archive/2007/10/11/…
heavyd

0

Non tutte le applicazioni gestiscono le scorciatoie da tastiera allo stesso modo. Il blocco note non sembra gestire questa combinazione di tasti e la gestisce a modo suo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.