Avevo lo stesso problema con il collegamento simbolico di questo file, ma non volevo arrendermi a questa limitazione, quindi ho creato un hook git pre-commit
per aggiornare ~ / Library / KeyBindings / DefaultKeyBinding.dict ogni volta che la mia versione è stato commesso.
Ecco il codice (per 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
Per utilizzarlo tutto ciò che devi fare è sostituire FILE_PATH_IN_SCM=${BASE_DIR}/.configurations/DefaultKeyBinding.dict
con il percorso del file nel tuo repository Git.
Se non hai mai creato un hook git prima (questo era il mio primo) - devi inserire questo codice in:
<your-git-repo>/.git/hooks/pre-commit
Non dimenticare di eseguire chmod +x <your-git-repo>/.git/hooks/pre-commit
per renderlo eseguibile.
Successivamente ogni commit che coinvolge questo file mostrerà qualcosa come:
The file </Users/myuser/.scripts/.configurations/DefaultKeyBinding.dict> was modified, updating /Users/myuser/Library/KeyBindings/DefaultKeyBinding.dict