Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

From Finder, I can preview a plist file without any difficulties. For example, using Quick Look with ~/Library/Preferences/com.apple.Safari.RSS.plist I get a nice preview of its contents:

Quick Look

However, if I then try to open the file, either with TextEdit, or any other editor (I've tried SublimeText, TextMate, Vim, Nano, and Coda 2 so far), the encoding appears to be off:

bplist00Ò_"FixedRefreshesInBackgroundSettings_(com.apple.PreferenceSync.ExcludeSyncKeys ¡ 2]^����������������������������`

Here's what it looks like if I open it with TextEdit:

TextEdit

I've tried changing the encoding in Sublime Text and other apps, but that doesn't help.

Any thoughts?

I'm running 10.8.4.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

plist files are not necessarily plain text so they need to be run through a converter. Finder and Xcode (which has a plist editor) do this without telling the user

The binary format is documented in this C code so any application can convert it and someone has written a format description in English and more Apple documentation here but note that it references old paths in /Developer/Documentation

The command line program plutil can convert to and from XML

e.g. to view a binary property list in XML format on stdout:

plutil -convert xml1 -o - <file name>

ALso to convert a binary to a XML plist in place and then leave it as the user program can read either.

plutil -convert xml1 <file name>
share|improve this answer
    
Thanks. I see. So if I need to edit it, I need to convert it to XML, open it with an editor, and then convert it back. I will assume this is so. No need to reply unless I got it wrong! –  apc Sep 14 '13 at 14:49
    
You can also use plutil -convert xml1 ~/Library/Preferences/com.apple.Safari.RSS.plist to convert the plist to XML in place. And after you edit the plist, you don't have to convert it back to binary. –  ؘؘؘ Sep 14 '13 at 15:35

You can also edit plist files with PlistBuddy, which is a command-line program.

PlistBuddy is located at /usr/libexec/PlistBuddy.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.