Carga masiva de asignaciones de teclado / texto en Mavericks

3

En Preferencias del sistema / Teclado / Texto, puede ingresar una lista de "correcciones ortográficas" que pueden actuar fácilmente como un macro-reemplazo para la escritura rápida.

Es fácil ingresarlos uno por uno, pero ¿hay alguna forma de cargar en masa una larga lista de asignaciones?

¿Decir desde algún tipo de archivo de texto como un archivo .csv? ¿O podría potencialmente escribir algo en AppleScript para hacer esto?

Además, ¿hay un límite para la cantidad de asignaciones que hago?

Estoy pensando en el orden de miles.

    
pregunta kfmfe04 01.12.2013 - 05:07

1 respuesta

4

Las configuraciones se almacenan en ~ / Library / Preferences / .GlobalPreferences.plist en la matriz NSUserDictionaryReplacementItems en 10.9 y en la matriz NSUserReplacementItems en 10.8 y anteriores. El formato de la matriz no ha cambiado, por lo que los comandos a continuación deberían funcionar en 10.8 y versiones anteriores de OS X si reemplaza NSUserDictionaryReplacementItems con NSUserReplacementItems.

Imprima la configuración actual:

defaults read -g NSUserDictionaryReplacementItems

Añade una configuración:

defaults write -g NSUserDictionaryReplacementItems -array-add '{on=1;replace=cmd;with="⌘";}'

Reemplazar todas las configuraciones:

defaults write -g NSUserDictionaryReplacementItems '(
{on=1;replace=cmd;with="⌘";},
{on=1;replace=opt;with="⌥";}
)'

Imprima la configuración actual como XML:

defaults read -g NSUserDictionaryReplacementItems | plutil -convert xml1 - -o -

Reemplazar todas las configuraciones:

amp() { local x=${1//&/&amp; }; x=${x//</&lt; }; printf %s "${x//>/&gt; }"; }
out='<array>'
while IFS= read -r l; do
  out+="<dict><key>on</key><integer>1</integer><key>replace</key><string>$(amp "${l%% *}")</string><key>with</key><string>$(amp "${l#* }")</string></dict>"
done <<< 'cmd ⌘
opt ⌥'
defaults write -g NSUserDictionaryReplacementItems "$out</array>"

Puede aplicar los cambios realizados con los valores predeterminados al cerrar y volver a abrir las aplicaciones.

    
respondido por el user495470 01.12.2013 - 23:07

Lea otras preguntas en las etiquetas