Per PackageControl Sync Docs (I also have a video tutorial that explains and shows this), the answer to your question is generally, Yes.
User package contains all of your own customizations and package settings, which includes the settings for Package Control.
One of the settings in Package Control is a list of the packages that you’ve told it to install. There are other settings (which are turned on by default) that tell it to install any packages that the settings say you installed but which are not currently installed, and to remove any packages that look like Package Control installed them when they’re not in the list.
So generally speaking, once you sync it over and you install Package Control, it will start downloading and installing all of the packages that you were using (depending on the package in question this may require a restart of Sublime; varies by package) and you’re good to go.
Edge cases here are:
- As you point out, key bindings will carry over but not apply because the file has the platform in the name (such as
Default (Windows).sublime-keymap for example). So for this you would need to do some manual adjustment by opening the old file and copying the contents into the one for the new platform, adjusting keys as needed.
- If you had any packages installed that were windows only, they won’t install; you will get a message about this though
- If you manually installed any packages, you would need to sync those over yourself because they’re not managed by PC.
- If you created any overrides, those will not carry over and you would have to copy them manually. My OverrideAudit package can generate a report showing you if you have any, from which you can decide which you’d like to keep and sync over, if any.