Perhaps you’ve been using Sublime Text 2 for a while and now you’re wondering what you’re missing out and if you should switch to ST3.
It’s difficult to find out what the pros and cons of Sublime Text 3 over its predecessor are. There’s quite a bit of conflicting information out there – it can seem unclear how the two are different at all. Or how compatible version 3 is with your current Sublime Text 2 setup.
As a Python developer you might’ve heard that Sublime Text 3 uses Python 3 now – but you’re mostly developing in Python 2. How will this affect your programing environment…1
So, of course you’re wondering: “Should I be using Sublime Text 3 or 2?”
Luckily, the answer is simple: Use Sublime Text 3.
Here’s why – Sublime Text 3 brings some major benefits compared to version 2:
- Most plugins have caught up and are built on top of ST3 now. If you check in Package Control, there are more ST3 packages today than there are ST2 packages.
- Sublime Text 2 development has stopped while Sublime Text 3 is in active development. It’s quite likely that you’ll encounter a bug in ST2 that won’t get fixed in the future.
- Sublime Text 3 has a new and highly useful Goto anything feature. It works by indexing your source files in the background and allows you to instantly jump to any symbol definition in your project. This is a great addition.
- Sublime Text 3 has a number of behind-the-scenes improvements over Sublime Text 2, like a more powerful API for plugin developers and general speed and rendering upgrades. I also find that it starts up faster.
On the other hand, I can’t really think of a downside to using Sublime Text 3 today.
At this point even Jon Skinner, the author and main developer of Sublime Text, recommends using ST3:
“Sublime Text hasn’t officially hit ‘3.0’, but the current builds of Sublime Text 3 have been the recommended versions to use for quite a while now, hence why the front page points to 3 rather than 2.” – jskinner on Hacker News
Seriously, just use Sublime Text 3 😃
It’s true that ST3 embeds Python 3 and ST2 uses Python 2 to execute plugin code. But this doesn’t affect the code you write with the editor. You can edit Python 2 code just fine with ST3, including syntax highlighting, etc. The switch to Python 3 only affects plugin developers who need to port their packages from Python 2 to Python 3 so they can continue to work in ST3. ↩