Setting "open with" default app forever

There is a nice option in MacOS X that you can right-click on a particular file, select "open with", then select the app that you want to use to open the file type and check the mark "always open with".

So far so good, this works very well. However, this association resets itself after time (or after a system restart for example). How can I achieve it that a particular file type stays associated with my selected "always open with" app?


Press ⌘I, select an application, and press the Change All button:

Another option is to use duti. Download the installer and run /usr/local/bin/duti ~/.duti after saving a file like this as ~/.duti:

org.videolan.vlc .mkv all
net.sourceforge.skim-app.skim .pdf all
com.apple.TextEdit public.plain-text all
com.macromates.TextMate.preview public.unix-executable all

Apple used to provide this capability, but there's an invaluable, free Preference Pane available from RubiCode called RCDefaultApp that sets default open-with, file types, extensions and more.