Eu mesmo tive o mesmo problema com o symlinking deste arquivo, mas eu não queria ceder a esta limitação, então eu criei um git pre-commit
gancho para atualizar ~ / Library / KeyBindings / DefaultKeyBinding.dict sempre que minha versão foi confirmada.
Aqui está o código (para o 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 usar tudo o que você precisa fazer é substituir FILE_PATH_IN_SCM=${BASE_DIR}/.configurations/DefaultKeyBinding.dict
com a localização do arquivo no seu repositório Git.
Se você nunca criou um git hook antes (este foi o meu primeiro) - você precisa colocar este código em:
<your-git-repo>/.git/hooks/pre-commit
Não se esqueça de correr chmod +x <your-git-repo>/.git/hooks/pre-commit
para torná-lo executável.
Depois todo commit envolvendo esse arquivo mostrará algo como:
The file </Users/myuser/.scripts/.configurations/DefaultKeyBinding.dict> was modified, updating /Users/myuser/Library/KeyBindings/DefaultKeyBinding.dict
{"a"=(insertText:,"test");}
?