DefaultKeyBinding.dict: formatting NeXT de estilo antiguo versus formatting plist XML

DefaultKeyBinding.dict

El file ~/Library/KeyBindings/DefaultKeyBinding.dict permite definir sus propios enlaces de teclas en Mac OS X. Puede estar en uno de dos formattings: formatting NeXT de estilo antiguo ( ejemplo ) o formatting plist XML de estilo moderno ( ejemplo ) .

Reenlace +

Quería volver a enlazar command-backspace ( + ) para deleteWordBackward: y obtuve algo de ayuda en este hilo de AskDifferent . Se sugirió que use esto como mi file DefaultKeyBinding.dict :

  • Deshabilitar Shift Cmd Q para cerrar la session
  • Conflicto entre los accesos directos de Google Drive y los atajos de keyboard de Safari
  • Cambiar entre aplicaciones con Alt-Tab / Command-Tab en iPad o iPhone usando el keyboard Bluetooth
  • Tilde con input de hiragana
  • ¿Una mejor manera de eliminar la grasa del keyboard del keyboard normal de una MacBook Air?
  • Aceptar la sugerencia de autocorrección con una sola pulsación
  •  /* my keybindings */ { "@\U007F" = "deleteWordBackward:"; /* delete backwards one word */ } 

    Este consejo funcionó (¡gracias, chicos!), Pero ya tengo un DefaultKeybinding.dict en el formatting XML, así que quería intentar que funcionara de esa manera. Primero agregué solo este text cerca de la parte inferior de mi file existente:

     <key>@\U007F</key> <string>deleteWordBackward:</string> 

    Y también intenté crear un nuevo file con formatting XML con solo la input + :

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

    Pero ninguno de los files funcionó. La situación aparente, entonces, es que puede volver a enlazar + solo en el formatting NeXT antiguo, y no en el formatting XML plist. Mis preguntas son:

    1. ¿Es esto exacto o debería cambiar la syntax de alguna manera cuando estoy cambiando al formatting XML?
    2. ¿ DefaultKeyBinding.dict mover el rest de mi file DefaultKeyBinding.dict a la syntax anterior? No sería mucho trabajo hacerlo, es solo una o dos docenas de inputs, pero no estoy seguro de si el viejo estilo está obsoleto o desaconsejado por algún otro motivo.

    Editar: Original DefaultKeyBinding.dict

    Alguien pidió información sobre mi file original en los comentarios, por lo que creo que podría include todo aquí.

     <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key></key> <string>complete:</string> <key>^ </key> <string>setMark:</string> <key>^a</key> <string>moveToBeginningOfLine:</string> <key>^e</key> <string>moveToEndOfLine:</string> <key>^j</key> <string>setMark:</string> <key>^v</key> <string>pageDown:</string> <key>^w</key> <string>deleteToMark:</string> <key>^x</key> <dict> <key>^m</key> <string>selectToMark:</string> <key>^x</key> <string>swapWithMark:</string> </dict> <key>~</key> <string>deleteWordBackward:</string> <key>~&lt;</key> <string>moveToBeginningOfDocument:</string> <key>~&gt;</key> <string>moveToEndOfDocument:</string> <key>~^h</key> <string>deleteWordBackward:</string> <key>~b</key> <string>moveWordBackward:</string> <key>~d</key> <string>deleteWordForward:</string> <key>~f</key> <string>moveWordForward:</string> <key>~n</key> <string>scrollLineDown:</string> <key>~p</key> <string>scrollLineUp:</string> <key>~v</key> <string>pageUp:</string> <key>~</key> <string>deleteWordBackward:</string> </dict> </plist> 

  • ¿Cambia el lenguaje de text pnetworkingictivo independientemente del keyboard?
  • ¿Hay un atajo de keyboard para editar una celda en Numbers?
  • Teclado inalámbrico en iPad2
  • Mal funcionamiento del keyboard de Macbook Air después del derrame. ¿Cómo solucionarlo?
  • ¿Existe un límite en la cantidad de dispositivos bluetooth conectados a un MacBook Pro?
  • ¿Hay alguna manera rápida de bloquear mi Mac?
  • 2 Solutions collect form web for “DefaultKeyBinding.dict: formatting NeXT de estilo antiguo versus formatting plist XML”

    No creo que tenga problemas al usar el formatting anterior. Todos los ejemplos que he encontrado usan la vieja notación NeXT. Aunque no puedo explicar por qué el formatting XML no funcionó, hay una solución alternativa para este atajo de keyboard en particular, lo que significa que puede dejar intacto su DefaultKeyBinding.dict existente.

    Existe una aplicación llamada KeyRemap4MacBook que se puede download gratis y se puede ver en la siguiente captura de pantalla, puede reasignar el atajo de keyboard + sin convertir el rest de su file DefaultKeyBinding.dict y este método no está limitado a las aplicaciones Cocoa.

    KeyRemap4MacBook

    \U007f no se puede usar en lists de properties XML. &#x007f; replacelo por &#x007f; o un personaje DEL literal


    Puede convertir un plist antiguo en XML con plutil :

     plutil -convert xml1 test.plist 

    Y de XML a viejo estilo con pl :

     pl -input test.plist 

    Mi DefaultKeyBinding.dict es actualmente 151 líneas, y no he encontrado ningún problema al almacenarlo como una list de properties de estilo antiguo. Los publicados por Brett Terpstra y Jacob Rus también están en el formatting de estilo antiguo.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).