TextEdit los enlaces de clave modificados en DefaultKeyBinding.dict dejaron de funcionar

5

He personalizado los enlaces de edición de texto en ~ / Library / KeyBindings / DefaultKeyBinding.dict pero todos dejaron de funcionar en TextEdit.app cuando actualicé a Lion. Todavía funcionan bien en otras aplicaciones de Cocoa como Safari.

Los enlaces predeterminados del sistema como ^ F para moveForward: funcionan como siempre.

¿Alguien más que usa DefaultKeyBinding.dict lo ha notado? ¿Hay alguna forma de solucionarlo o alguna otra forma de personalizar los enlaces de teclas en TextEdit?

    
pregunta mckeed 07.06.2012 - 00:31

2 respuestas

8

El problema era que había movido el archivo DefaultKeyBinding.dict real a otro lugar para fines de control de versiones y estaba vinculado a él.

La mayoría de las aplicaciones estaban cargando el archivo a través del enlace simbólico, pero TextEdit (y, resulta que, un par de otras aplicaciones que pensé que simplemente no admitían enlaces de teclas) deben hacer algo diferente y no verlo.

Entonces, ay, lección aprendida. No haga un enlace simbólico a sus archivos de configuración del sistema.

    
respondido por el mckeed 07.06.2012 - 16:39
1

Yo mismo tuve el mismo problema con la vinculación de este archivo, pero no quería ceder ante esta limitación, así que creé un gancho git pre-commit para actualizar ~ / Library / KeyBindings / DefaultKeyBinding.dict cada vez que mi versión fue cometido.

Aquí está el código (para Git):

#!/bin/bash


if [[ $(git diff --cached --name-only | grep '.configurations/DefaultKeyBinding.dict' | wc -l) -eq 1 ]]; 

then
   FILE_PATH_IN_LIBRARY=~/Library/KeyBindings/DefaultKeyBinding.dict
   BASE_DIR=$(git rev-parse --show-toplevel)
   FILE_PATH_IN_SCM=${BASE_DIR}/.configurations/DefaultKeyBinding.dict

   NORMAL=$(tput sgr0)
   BRIGHT=$(tput bold)
   GREEN=$(tput setaf 2)

   printf "${BRIGHT}${GREEN}The file <%s> was modified, updating %s${NORMAL}\n" $FILE_PATH_IN_SCM $FILE_PATH_IN_LIBRARY

   cp $FILE_PATH_IN_SCM $FILE_PATH_IN_LIBRARY
fi

Para usarlo, todo lo que necesitas hacer es reemplazar FILE_PATH_IN_SCM=${BASE_DIR}/.configurations/DefaultKeyBinding.dict con la ubicación del archivo en tu repositorio Git.

Si nunca creó un gancho git antes (este fue mi primer trabajo), debe colocar este código en:

<your-git-repo>/.git/hooks/pre-commit

No olvides ejecutar chmod +x <your-git-repo>/.git/hooks/pre-commit para hacerlo ejecutable.

Luego, cada confirmación que involucre este archivo mostrará algo como:

The file </Users/myuser/.scripts/.configurations/DefaultKeyBinding.dict> was modified, updating /Users/myuser/Library/KeyBindings/DefaultKeyBinding.dict
    
respondido por el RonK 19.01.2016 - 17:00

Lea otras preguntas en las etiquetas