Sublime Blog

Sublime Text 3 Beta

The first beta of Sublime Text 3 is now available to download for registered users. Some feature highlights are below, followed by our new pricing and upgrade policies, and system compatibility for Sublime Text 3.

Symbol Indexing. Sublime Text now scans the files in your project, and builds an index of which files contain which symbols. This backs the new features Goto Definition and Goto Symbol in Project, both of which are available from the Goto menu. Goto Definition takes you to the definition of the symbol under the caret, while Goto Symbol in Project prompts you to select a symbol via fuzzy matching, and then takes you to the definition of that symbol.

Pane Management. Working with multiple panes is now more efficient, with commands to create and destroy panes, and quickly move files between panes. You can see the new options under View/Groups, View/Focus Group and View/Move file to Group.

Speed. Sublime Text has always had speed as a feature, but version 3 addresses some weak points. Startup time is now virtually immediate, and plugins no longer have the opportunity to bring this down. Replace All performance is also significantly faster.

API. Sublime Text now uses Python 3.3 for plugins, and runs them out of process, so any plugins that load native code no longer risk crashing the main Sublime Text process. The API is also fully thread-safe, and provides several callbacks that run asynchronously (e.g., on_modified_async). There are also new API functions, including full access to the project data. Sublime Text 2 plugins will require porting to work with Sublime Text 3, however in most cases the changes will be small.

Selected Changes:

  • Added Goto Definition, and Goto Symbol in Project
  • Significantly improved startup time
  • Significantly improved Replace All performance
  • Improved matching algorithm used for Goto Anything and auto-complete accepts transposed characters
  • UI: Enhanced pane management
  • UI: Previewing files from the sidebar creates a preview tab
  • UI: Improved animation in the side bar
  • Projects: Multiple workspaces can be created for a single project
  • Projects: When adding folders to the sidebar, symlinks are not followed by default. This can be changed by enabling follow_symlinks in the project
  • Build Systems: Added ’shell_cmd’, which supersedes ‘cmd’, with more intuitive syntax
  • Build Systems: Better PATH handling behavior on OS X when using shell_cmd
  • Build Systems: ‘Make’ build system has an improved error message regex
  • Build Systems: Syntax file can be specified for the output
  • Build Systems: Word wrap is enabled by default
  • Find in Files: Improved handling of binary files
  • Find in Files: Line numbers are hidden in the output
  • Find: Find in Selection will no longer be automatically selected
  • OSX: Improved performance on Retina displays
  • OSX: 10.7 or later is required
  • OSX: 64 bit only
  • OSX: System version of Python is no longer a dependency
  • OSX: Italic fonts are synthesized when not available in the typeface
  • Linux: .deb files are provided
  • Linux: Starting from the command line will daemonize the process by default
  • API: Upgrade from Python 2.6 to Python 3.3
  • API: Plugins run out-of-process
  • API: Plugin API is now thread-safe
  • API: Some API events are now run asynchronously
  • API: begin_edit() / end_edit() are no longer accessible
  • API: Projects are exposed to the API
  • API: Added window.settings() and window.template_settings()
  • API: show_quick_panel() accepts an on_highlighted callback

Compatibility. Sublime Text 3 should work on all systems that currently run Sublime Text 2, with the exception of OS X 10.6. Unfortunately, it has not been possible to maintain 10.6 compatibility, as there is no C++11 toolchain for OS X 10.6, and Sublime Text 3 makes extensive use of functionality in C++11.

Pricing. The price for a Sublime Text license key has increased by $11, from $59 to $70, the first price rise in Sublime Text’s five year history. All licenses purchased at this new price are valid for Sublime Text 3. Users with a Sublime Text 2 license key can continue using the key with Sublime Text 3 while it’s in beta. When 3.0 is released, upgrades will be available for $30, or $15 for users who have purchased recently. The cut off date for the reduced upgrade price will be based on the actual date of the 3.0 release.

Sublime Text 3 is currently available to registered users only. An evaluation version will be available later.

Jon Skinner

55 Comments

  1. will it have support for writing Common Lisp? ST2 has a little support, but sometimes the indentation is incorrect, and I stopped using it because of that.

    I really like some of the features though.

    Comment by hayden jones — January 29, 2013 @ 3:09 pm

  2. Any word on whether or not tab-dragging to create a new window can be disabled? That’s really the only thing about ST that constantly gets in my way.

    Comment by Kyle — January 29, 2013 @ 3:14 pm

  3. Hi,

    I was eagerly awaiting for the auto-completion feature. I really missed it.

    Thanks,
    Rashidul

    Comment by Rashidul — January 29, 2013 @ 3:14 pm

  4. Hope to support Chinese input in Linux

    Thanks

    Comment by Justfly — January 29, 2013 @ 3:29 pm

  5. Would love to see a “Find all references to symbol in project.” Especially useful for class- aware C++ symbol searches.

    Comment by Gene — January 29, 2013 @ 3:32 pm

  6. Whats the support like for large files? I routinely deal with fairly large files (Up to 1gb) – and find the handling of files as small as 50mb to be quite painful in ST2, and was one of the reasons I stopped using it Searching and loading is really bad compared to Emacs and Notepad++.

    This is my only letdown with ST, and I’d happily fork over $70+ if this was resolved.

    Comment by Rob — January 29, 2013 @ 3:33 pm

  7. How well large files are supported is mostly a function of the syntax definition being used. Sublime Text 3 does have performance improvements compared to Sublime Text 2 here, but not significantly so.

    Comment by Jon Skinner — January 29, 2013 @ 3:36 pm

  8. So the upgrade cost ends up being more than new price? :/

    Comment by Chris R — January 29, 2013 @ 3:43 pm

  9. Can’t wait, I’m very excited about this release!

    Comment by Brandon — January 29, 2013 @ 3:44 pm

  10. Python 3.3? Ouch. There goes a ton of available libraries. As long as plugins run out of process now, how about supporting either Python 2.6 or Python 3.3?

    Comment by Anonymous — January 29, 2013 @ 3:45 pm

  11. Virtual space, pretty please?

    Comment by Qiller — January 29, 2013 @ 3:47 pm

  12. Chris R: The upgrade cost will be $30 when they become available, while the new price is $70.

    Comment by Jon Skinner — January 29, 2013 @ 3:52 pm

  13. What about sublime 1 users? Same upgrade fee as sl2?

    And I hope we can disable all animations in v3. Along with overall slower performance, not being able to disable the tab close animation made me stick with v1.

    Comment by Konrad — January 29, 2013 @ 3:53 pm

  14. I would love to have some kind of FTP support built-in!

    Comment by Kise — January 29, 2013 @ 3:56 pm

  15. Sublime text is the only one I use now.
    I hope the third version will be even better!
    Thanks guys.

    Comment by Fai — January 29, 2013 @ 3:56 pm

  16. Konrad: Upgrade fee from S1 to S3 will be the same as S2 to S3.

    You can use the “animation_enabled”: false setting to disable all animation

    Comment by Jon Skinner — January 29, 2013 @ 3:59 pm

  17. Jon, this looks amazing!

    Is there an API reference available?

    Comment by Dan — January 29, 2013 @ 4:02 pm

  18. Any chances to see sublime text version without gui sometime in the future? I’m dreaming about having sublime text in terminal

    Comment by 1mik — January 29, 2013 @ 4:04 pm

  19. Hi,

    I’ve just downloaded and installed it and the first thing I’ve noticed is that it didn’t import any of the ST2 settings or packages. I can’t find any way to import settings and the thought of re-installing all packages puts me off trying it. Are you planning to make it easy to import? Couldn’t you just ask and import everything that’s importable so one can carry on working, instead of wasting time setting up the text editor again?

    Cheers

    Comment by Rafa — January 29, 2013 @ 4:09 pm

  20. Yes! I am absolutely looking forward to this. Sublime Text has made my coding life so much better. If 3 improves things, I know I will be upgrading. Thanks for this great tool.

    Comment by Charles — January 29, 2013 @ 4:11 pm

  21. Yes, better support for Common Lisp would be quite nice.

    Comment by Davor — January 29, 2013 @ 4:12 pm

  22. Dan: API reference is available at http://www.sublimetext.com/docs/3/api_reference.html, however it hasn’t been fully updated for version 3 yet.

    There are some details on how to see all the API functions at http://www.sublimetext.com/forum/viewtopic.php?f=2&t=10780

    Comment by Jon Skinner — January 29, 2013 @ 4:12 pm

  23. 1mik: Unfortunately there are no plans for a terminal version

    Comment by Jon Skinner — January 29, 2013 @ 4:12 pm

  24. If I had knew that then I would have waited. I bought a license for Sublime Text 2 only three days ago for the old price. Even with the lower upgrade price for recent buyers I’m now paying more than the new regular price :( (and I hope I will qualify for the reduced upgrade price)

    Comment by KBanause — January 29, 2013 @ 4:13 pm

  25. Cmd+Return is not working. It’s one of the features I use the most. Did it really change?

    Comment by Felipe Coury — January 29, 2013 @ 4:22 pm

  26. Gentoo x64 high CPU 99%

    Comment by Fred — January 29, 2013 @ 4:23 pm

  27. When will you support payment methods other than Paypal, I for one would love to pay for sublime text, but Paypal wont accept payments from my country :(

    Comment by Mayowa A. — January 29, 2013 @ 4:26 pm

  28. Will there ever be print functionality? It’s not as critical as some of the other features, obviously, but it’s still a surprising omission compared to every other text editor I’ve used.

    Comment by Aubre — January 29, 2013 @ 4:31 pm

  29. Any chance to add some visual clues as to which column is active when using multiple columns?

    Love the tool.

    Comment by Stefan — January 29, 2013 @ 4:31 pm

  30. Felipe: Command+Return hasn’t changed, as is working as expected here

    Comment by Jon Skinner — January 29, 2013 @ 4:34 pm

  31. Fred: When Sublime Text is indexing your files, it will spawn multiple subprocesses to do the actual work, which will of course make use of your CPU. You can confirm this is what’s happening by looking in the status bar, where the current indexing progress in displayed.

    Comment by Jon Skinner — January 29, 2013 @ 4:35 pm

  32. I realized there is available portable version in Windows. I will try v3 for sure.

    Comment by PIT — January 29, 2013 @ 4:43 pm

  33. First of, I love ST2, and I’m very much looking forward to all the improvements in ST3.

    I’m especially excited about plugins being run out of process. Is each plugin going to run in it’s own process? Or are all plugins run in one process?

    Second I’d like to echo the sentiments about a switch to Python 3.3. I expect that even if you supported Python 2.6 it’d be pretty hard for a plugin author support ST2 and ST3 though I expect the community would come up with compatibility APIs pretty quickly. A switch to Python 3.3 is not going to make that easier.

    It seems like good plugin isolation via processes would make the runtime of the plugin a detail _of_ the plugin as opposed to the editor.

    Anyway, thanks for all the great work on ST2, I look forward to seeing how ST3 progresses.

    Comment by David Reid — January 29, 2013 @ 4:52 pm

  34. This is awesome news, can’t wait to try it out. Will you be implementing saving for changes to the Find Results page?

    Comment by Jeffrey — January 29, 2013 @ 4:52 pm

  35. This is the most enjoyable text editor there is. Its so fast and efficient and makes everything else look like crap.

    It gives me a similar feeling that systemd did when it showed up. Bios to login prompt in less than a second (!). Now that is progress…. this editor is the same. I love it and I will pay for version 3.

    Comment by dskds@fskdlf.com — January 29, 2013 @ 5:00 pm

  36. Is the format of projects and settings backwards compatible? What’s the status of ST2 packages: do they need to be refactored to work in ST3?

    To me symbol indexing is a great step forward. I’m still missing symbol argument hints and hints for object methods. SublimeCodeIntel plugin exists for that but it doesn’t really work (in ST2).

    Comment by Vladimir — January 29, 2013 @ 5:11 pm

  37. Very good news, but at least should provide some kind of mechanism for importing packages from ST2. At least the packages control is not working in st3.

    Comment by Leon Guan — January 29, 2013 @ 5:18 pm

  38. Fantastic stuff, keep up the very good work! Just one question though: sometimes I have to code in quite memory constrained environments (don’t even ask). And I’m wondering if the memory usage of ST3 will be significantly higher than ST2 because every plugin now runs in its own process. Because afaik a process requires a bit of extra memory on every OS + every process will (maybe) load a seperate python interpreter, which wasn’t the case before. Since I use about 5 plugins regularly I’m estimating it might give me 120MB+ of active memory usage as opposed to the usual 35MB of ST2. What do you reckon Jon?

    Comment by Nicolas — January 29, 2013 @ 7:16 pm

  39. For all those who miss their plugins in ST3 – you can’t use Package Control yet, but you can copy your old lovely plugins directly from ST2 folder, and most of them will be working right away. That’s what I just did.

    Comment by Vitaly — January 29, 2013 @ 7:18 pm

  40. It seems like ST3 requires ‘GLIBC_2.15′ which is only available in Ubuntu 12 (ok if you’re handy, you might put GLIBC_2.15 on a lower version).

    So out-of-the-box it will only work on Ubuntu 12.04 and higher.

    Or am I just missing something?

    Comment by Tim — January 29, 2013 @ 7:29 pm

  41. I love it that the plug-ins will be loaded into new processes so the main program does not crash.
    Thanks for these fantastic new featues, will certainly buy the new version.

    Comment by Thomas — January 29, 2013 @ 7:36 pm

  42. Downloaded. Nice work!

    Two things I would really like to see soon in ST3:

    1) Package manager, with compatible packages.
    2) Goto definition working for PHP.

    Keep up the good work!

    Comment by Greg — January 29, 2013 @ 7:45 pm

  43. Tim: Thanks for the report, will look into it

    Comment by Jon Skinner — January 29, 2013 @ 7:48 pm

  44. Nicolas: All the plugins share a single plugin_host process. Memory usage in S3 should be similar to S2.

    Comment by Jon Skinner — January 29, 2013 @ 7:50 pm

  45. Great stuff. Just played with the ability to call the new API from a thread. Awesome. Way less sublime.set_timeout() now… A significant step towards to cleaner/simpler plugin organization.

    Definitely looking forward to it!

    Comment by Torsten Grust — January 29, 2013 @ 7:50 pm

  46. Clang 3.2 and GCC 4.7 both work perfectly on OS X 10.6. GCC doesn’t support Apple’s blocks and might have worse support for new Objective-C features, but Clang is of course the very compiler Apple uses on newer versions of OS X. There’s only one catch if you want to use Clang with LTO: you need to define DYLD_LIBRARY_PATH=/path/to/llvm/lib; otherwise the linker tries to use the (old) system copy of LLVM. LTO in GCC works out of the box.

    You can install Clang or GCC yourself, or you can use Homebrew (llvm –with-clang; gcc in the homebrew/dupes tap), MacPorts (clang-3.2; gcc47) or Fink (llvm32; gcc47).

    Comment by Oleg Oshmyan — January 29, 2013 @ 7:52 pm

  47. Love the new splits!! Any chance of us being able to manage split groups/views in tabs (like vim). At that point, I think sublime would almost be a vim killer.

    Comment by Garrett — January 29, 2013 @ 9:09 pm

  48. Oleg: While the compilers are able to target 10.6 in C++11 mode, the Apple sanctioned stdlib implementation, libc++, is only available for 10.7 and later.

    Comment by Jon Skinner — January 29, 2013 @ 9:18 pm

  49. That’s true. But I think you should be able to distribute a copy of the dylib you get by building your own copy of the library on 10.6, although to be fair, I’m not sure about this.

    Comment by Oleg Oshmyan — January 29, 2013 @ 11:05 pm

  50. You guys deserve every penny. I will purchase it even while beta, just to support the cause.

    Sublime Text made a revolution in my working routine. For me, it is the best dev-driven editor (I do like vi, but… feels like paleozoic in 2013…)

    ;D

    Comment by Bruno "Clef" — January 29, 2013 @ 11:25 pm

  51. Jon, I love ST, keep up good work!

    One little thing — I really miss vim’s internal diff mode (vimdiff). It’s really handy being able to open two versions of a file side-by-side and be able to edit one pane with all the usual keybindings.
    Do you plan to support such mode at some point? Maybe just expose an API for it (opening two files in a single tab), so that one could implement it as a plugin.

    Comment by Leonid Podolny — January 29, 2013 @ 11:28 pm

  52. Package Control is in process of being ported. Hopefully a release in the next day or two. https://github.com/wbond/sublime_package_control/tree/split_source

    Comment by wbond — January 30, 2013 @ 1:57 am

  53. This is awesome! Keep up the good work! I love sublime and convert anyone who is on Textmate still over to Sublime. I am excited for the performance upgrades!

    Comment by Austin — January 30, 2013 @ 5:13 am

  54. Would be great to see some improvement to the folder navigation pan too, like vertical lines to quickly see the folder level I’m in. Tracking active item would be nice too but I presume this can be done with a plug in.

    Comment by Jeremy — January 30, 2013 @ 8:49 am

  55. So glad to see Sublime Text is still iterating rapidly and maintaining momentum. I finally got off my ass and paid for my license. Good for you for charging what it’s worth too. Keep up the great work.

    Comment by Nick Farina — January 30, 2013 @ 9:01 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.