Ich habe /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict
in vim geöffnet, und es sieht aus wie Kauderwelsch. Gibt es eine Möglichkeit, es in für Menschen lesbare umzuwandeln, nur um zu sehen, was es enthält?
Wenn Sie plutil installiert haben
Sie können dieses Applescript ausführen, das eine Textversion des Wörterbuchs zum Lesen erstellt.
property copyScriptPath : "~/Documents/" (* path dir for text version*)
tell application "Finder"
set selectFiles to (get selection) (* get the finder selection*)
end tell
repeat with i from 1 to number of items in selectFiles
(* convert to POSIX path*)
set this_item to quoted form of POSIX path of (item i of selectFiles as alias)
(* get the file name , add it to an alias, then use plutil to read and write atext version out using the original name*)
do shell script "name=`basename " & this_item & "`;/usr/bin/plutil -convert xml1 " & this_item & " -o " & copyScriptPath & "\"$name\".txt"
end repeat
ODER
Es gibt einen alten Hinweis auf macosxhints - 10.4: Bearbeiten Sie binäre (und normale) Plist-Dateien mit vim
Der Beitrag enthält auch den Link zum vim-Skript , das all dies tut.
Das kann tun, was Sie wollen. (benutze vim selbst nicht)
Zitat aus dem Beitrag (Aber bitte gehen Sie und lesen Sie es, da es Kommentare und Anmerkungen gibt, die Sie benötigen werden:
Was tut es? Es liest eine Plist-Datei, prüft und merkt sich, ob sie binär ist, wandelt sie bei Bedarf in Klartext um und schaltet Syntax-Highlinght für XML ein. Wenn Sie die Datei erneut speichern, wird sie zum Schreiben wieder in Binär konvertiert, wenn sie am Anfang binär war. Wenn die Datei nicht binär war oder die Konvertierung in binär fehlschlägt (was passieren kann, wenn Sie Syntaxfehler in Ihrer Datei haben), wird die Datei im Textformat gespeichert. Wenn eine ursprünglich binäre Plist aufgrund von Syntaxfehlern als einfacher Text gespeichert wird und Sie die Fehler beheben und die Datei erneut speichern, wird sie im Binärformat geschrieben. Wenn Sie eine Binärdatei öffnen und sie nur anzeigen, ohne Änderungen vorzunehmen, können Sie Vim immer noch mit dem normalen :q beenden (kein Bedarf für :q!) Und die Datei bleibt unberührt (immer noch im Binärformat). All dies sollte auch funktionieren, wenn mit mehreren Puffern (Dateien) gearbeitet wird.
Kopieren Sie die Datei in ein anderes Verzeichnis. Wechseln Sie in dieses Verzeichnis und führen Sie es aus
plutil -convert xml1 StandardKeyBinding.dict
im Endgerät. (Sie können es in das json
Format konvertieren, indem Sie es durch ersetzen xml1
. json
) Führen Sie es dann aus
cat -v StandardKeyBinding.dict
und Sie können die Datei jetzt lesbar sehen, wie unten.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>^C</key>
<string>insertNewline:</string>
<key>^H</key>
<string>deleteBackward:</string>
<key> </kev>
<string>insertTab:</string>
<key>
</key>
<string>insertNewline:</string>
<key>^M</key>
<string>insertNewline:</string>
<key>^Y</key>
<string>insertBacktab:</string>
<key>^[</key>
<string>cancelOperation:</string>
<key>$?M-^\M-^@</key>
<string>moveUpAndModifySelection:</string>
<key>$?M-^\M-^A</key>
<string>moveDownAndModifySelection:</string>
<key>$?M-^\M-^B</keV>
<string>moveLeftAndModifySelection:</string>
Tipps: Führen Sie aus man cat
, um zu sehen, was cat -v
funktioniert.
Hier ist die Methode, um StandardKeyBinding.dict
die Datei korrekt lesbar zu machen:
plutil -convert xml1 StandardKeyBinding.dict
Es nützt nichts, es zurück zu konvertieren.
Versuchen Sie es auch
/usr/libexec/PlistBuddy -c print /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict
trusktr