DefaultKeyBinding.dict: moveWordBackward: non è sovrascritto su macOS Sierra

3

Recentemente ho iniziato a utilizzare un nuovo computer (in realtà un Hackintosh) con macOS Sierra. La mia precedente macchina di sviluppo è ancora su El Capitan. Durante la configurazione della nuova macchina ho aggiunto ~/Library/KeyBindings/DefaultKeyBinding.dict .

La maggior parte dei tasti (in particolare l'opzione + f per spostare il cursore di una parola in avanti) funziona bene. Tuttavia, l'opzione + b per spostare il cursore una parola indietro agisce semplicemente come una chiave morta e digita un carattere ˘ .

La sezione pertinente di DefaultKeyBindings.dict è la seguente:

<key>~b</key>
<string>moveWordBackward:</string>

Aggiungendo questo in particolare a, ad es. Il file ~/Library/Application Support/TextMate/KeyBindings.dict di TextMate risulta nell'opzione + b che funziona in TextMate, ma ovviamente non ha alcun effetto altrove:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>~b</key>
    <string>moveWordBackward:</string>
</dict>
</plist>

Come posso evitare di dover cambiare le mie abitudini rispetto a moveWordBackward: ?

    
posta adc 24.11.2016 - 04:56
fonte

1 risposta

2

Ho finalmente risolto questo problema dopo aver compreso che la differenza tra la mia macchina El Capitan (10.11) e Sierra (10.12) era la nuova chiave morta su Option-b. Non è stato possibile determinare se questa è una differenza tra layout di tastiera o versioni del sistema operativo.

Sembra che KeyBindings non sia in grado di ignorare le dead keys. Utilizzando Ukelele sono stato in grado di modificare l'output dell'opzione -b in qualche altro personaggio. Ho quindi installato questo layout di tastiera e spostatoWordBackward: ha iniziato a lavorare senza ulteriori modifiche.

  1. In Ukelele, scegli File - > Nuovo dall'origine di input corrente
  2. Fare clic con il pulsante destro del mouse sul nome del layout e selezionare Imposta nome layout e Script
    • Rinomina in qualcosa come U.S. No B Dead Key
  3. Fai doppio clic sul nome del layout per aprire l'editor di layout.
  4. tieni premuto l'opzione, quindi fai clic con il pulsante destro del mouse sulla chiave b ; scegli Crea output
  5. Inserisci qualsiasi altro carattere; sarà sottoposto a override da DefaultKeyBinding.dict
  6. Salva
  7. Scegli File- > Installa per l'utente corrente
  8. Nelle Preferenze tastiera, scegli il tuo nuovo layout di tastiera.
risposta data 15.12.2016 - 18:11
fonte

Leggi altre domande sui tag