Sublime Blog

Sublime Text 2: Public Alpha

Sublime Text 2 is available now as a public alpha, for Windows, OS X, and Linux.

Sublime Text 2 started life as Sublime Text X, and was first available as a preview to registered users several months ago. Since then, there’s been an average of one new release a week. It’s come a long way, and it’s time to open it to a wider audience.

Sublime Text 2 is currently at a late alpha stage. Primarily, this means there are still several features missing compared to Sublime Text 1. These include spell checking, bookmarks, distraction free editing, a full python API, and general UI polish. These features will be coming over the next few months.

Goto Anything

Sublime Text 2 has Goto Anything (Ctrl+P on Windows and Linux, Command+P on OS X) to quickly navigate between and within files:

  • Type part of a file name to open it. Files can be open files, recently closed files, or files in the project. The fuzzy matching is fast and intelligent, providing instant-as-you-type navigation on 50,000+ file projects.
  • Type an ‘@’ character, and start browsing by symbol. Type ‘#’ to search within the file, or ‘:’ to go to a line number.
  • Combining these together, for example, “tp@rf” may take you to a function called “read_file” within a file named “text_parser.py”. Similarly, ‘tp:100′ would take you to line 100 of the same file.

The Goto Anything panel previews where it will take you as you type, loading files asynchronously in the background. You can use this to quickly look up the definition of a function, pressing escape to go back.

The various within-file symbols operate on the current file if typed alone, for example, “:50″ will take you to line 50 of the current file, and “@” will browse the symbols of the current file. There are key bindings to open the Goto Anything panel with these pre-filled, for example, Ctrl+R (Command+R on OS X) will go directly to the list of symbols in the current file.

Instant Project Switch

Projects in Sublime Text 2 capture the full contents of the workspace, including modified and unsaved files. You can switch between projects using similar fuzzy matching logic as the Goto Anything panel, and the switch is instant, with no save prompts – all your modifications will be restored next time the project is opened.

Multiple Selection

Sublime Text 2 has the same multiple selection functionality as Sublime Text 1, providing a simple way to make many edits.

For example, to make the same edit on multiple lines, split the selection into lines (Ctrl+Shift+L on Windows and Linux, Command+Shift+L on OS X), and start navigating the cursors and type. Your actions will occur simultaneously at each cursor.

To rename a variable within a function, position the cursor next to it, and press Select More (Ctrl+D on Windows and Linux, Command+D on OS X) several times to select all occurrences, and then start typing to rename them all.

To rename a variable everywhere, use the Find Panel and press the Find All button (or Alt+Enter), then start typing to edit every occurrence.

User Interface

Sublime Text 2 supports multi-pane editing (i.e., side by side editing and other layouts), multi-window editing, full screen editing, and a minimap to show you an overview of your files.

Sublime Text 2 also lets you choose how you switch between files. It has a modern tab implementation, including dragging tabs between windows. A side bar is available, for when you need to work with a large number of open files. Both the tabs and side bar can be shown or hidden individually.

The side bar allows you to browse files in your project without cluttering the list of open files. Click once to preview a file, without opening a tab. Start editing the file, or double click, and the file will be opened as normal in a tab.

Customizable

Sublime Text 2, like Sublime Text 1, allows you to extend the editor with Python plugins. It has a Python console (Ctrl+~) to work with them at run time.

Every key binding is customizable, as are the menus, themes, and per-file type settings.

Cross Platform

Sublime Text 2 is available on Windows, OS X, and Linux, in 32 and 64 bit versions, and one license covers all operating systems.

Download

Sublime Text 2 can be downloaded and evaluated for free. Give it a try, I think you’ll like it.

For news about new versions, follow sublimehq on twitter.

Jon Skinner

56 Comments

  1. Looks amazing! Thanks for all of your hard work.

    Comment by Taylor — January 29, 2011 @ 12:03 am

  2. Watch out Emacs?

    Comment by Clint Laskowski — January 29, 2011 @ 12:09 am

  3. This is great. The Goto Anything functionality is killer. Keep up the good work.

    Comment by Rob L — January 29, 2011 @ 12:19 am

  4. Thank you very much for OS X version!

    Comment by Nek — January 29, 2011 @ 12:27 am

  5. Thank you very much for Linux version!

    Comment by sdc — January 29, 2011 @ 1:16 am

  6. I’ve been dying to check out Sublime since hearing my Windows-using colleagues brag about it. All of their hype was exceeded by the OS X Alpha. Can’t say it enough: thank you

    You will be the sole answer to endless orphaned requests for a better TextMate.

    Comment by Jonathan Christopher — January 29, 2011 @ 1:18 am

  7. No Remote file editing (SSH/SCP/SFTP) on Mac :(

    Comment by Pete — January 29, 2011 @ 1:23 am

  8. Great work! I look forward to trying out the Mac version this weekend.

    Comment by Scott Ostler — January 29, 2011 @ 1:36 am

  9. @pete
    Check out sshfs. It runs on mac and should solve your remote editing problm .

    Comment by Sean — January 29, 2011 @ 1:51 am

  10. Awesome work! Really like the editor.
    May I suggest adding block selection and virtual space?

    Comment by Filip — January 29, 2011 @ 1:54 am

  11. Filip: Column selection can be triggered by shift+right mouse button drag, or by middle mouse button drag

    Comment by Jon Skinner — January 29, 2011 @ 1:59 am

  12. This is an amazing editor; one of the few Windows applications I’ve wanted to run on Ubuntu. And now it has a native Linux version? I guess I don’t have much excuse not to register anymore.

    Is there any way to add a little resize grabber in the bottom right hand corner of the window? Ubuntu’s default theme has crazy thin window borders.

    Comment by James — January 29, 2011 @ 6:18 am

  13. This looks great. I love the interface. If you get code folding that is as nice as Notepad++ has, I will be sold.

    Comment by Bondr — January 29, 2011 @ 6:25 am

  14. Whoa! This is very mature for an alpha. Great work, Jon!

    Comment by Lolbarian — January 29, 2011 @ 7:12 am

  15. Three words: Awesome!

    This might really be the TextMate (and Espresso) killer on Mac. Really snappy and fast and accurate scrolling in large files. I love the groups, the find anything feature, the Espresso-like sidebar, tmLanguage support and the feel of the editor component in general. And the look, of course! Since I’m developing both on Windows and Mac, Sublime might become my next general purpose editor.

    Comment by Veit Lehmann — January 29, 2011 @ 7:50 am

  16. This looks great. Is it possible to adjust the horizontal size of the file panel? No values in configs or a visible handle to drag it that I see.

    Comment by Vadim P — January 29, 2011 @ 10:39 am

  17. You can resize the side bar by dragging or double clicking on its edge: there’s no resize cursor on Linux yet though, so it’s a little tricky

    Comment by Jon Skinner — January 29, 2011 @ 10:50 am

  18. Wow! Amazing. Thank you. You can count on my 59 bucks.

    Comment by Darrell Banks — January 29, 2011 @ 2:11 pm

  19. Love it! I think I may just be switching, full time, from TextMate once this is released.

    I’d love to see code folds, though. I love the mini-view, but would still find the code folding a very nice addition.

    Really looking forward to the API too.

    Only other thing that would make it perfect would be quick-view for OS X (I can live without it, it would just be icing on the cake)

    Thanks

    Comment by Justin — January 30, 2011 @ 4:22 am

  20. Changing the font via the default file preferences seem not to work. I have tried:

    “font_face”: “Monaco”,
    “font_size”: 12,

    But the change is not effected, even after a restart.

    Comment by Chris — January 30, 2011 @ 5:15 am

  21. To change the font on OS X and Linux, it is important to put the settings in User File Preferences, not Default File Preferences – the values in Default Files Preferences get overridden by the platform settings.

    Comment by Jon Skinner — January 30, 2011 @ 6:18 am

  22. Looks very nice!
    And +1 for code folding. Would love to see that one incorporated!

    Comment by Wizek — January 30, 2011 @ 10:21 pm

  23. Very nice work!
    +1 for code folding.
    +1 for bright UI elements as an alternative on OSX (or make colors customizable!).
    +1 for not auto collapsing folder trees in sidebar on reload and restore state on opening a project.

    Comment by Oktay — January 30, 2011 @ 11:04 pm

  24. 1. can’t open remote files on linux :(
    2. file browser in side pane would be nice
    3. wtb git plugin

    Comment by airtonix — January 31, 2011 @ 1:19 am

  25. i think i finally dicovered THE editor that ill use under linux :)
    +1 for code folding

    Comment by vitaLee — January 31, 2011 @ 2:28 am

  26. Oh man! this is great. I love Textmate on Mac, but can’t find any editor for Win & Linux that is equally good. This could be the answer to my prayers. One great editor, three platforms.
    I would miss code folding and bookmarks though. But I love the autocomplete.

    Comment by Geir — January 31, 2011 @ 8:25 am

  27. Looks amazing, I’m so glad you guys decided to move the mini-map to the right, feels a lot more natural this way.

    Comment by Greg Babula — January 31, 2011 @ 2:48 pm

  28. This looks awesome! Really love it so far.

    Comment by Thim Kristoffersson — February 1, 2011 @ 12:56 am

  29. I really like what you have here so far! TextMate just feels old these days. I really like the split views, quick search, and mini map.

    One of the things I like about TextMate though is the huge amount of “bundles” for automating a lot of my tasks. I use them all the time. I’m sure with the Python plugin support I’ll be able to write or find some of the ones I use.

    Comment by Fleeno — February 1, 2011 @ 1:44 am

  30. I’ve been coding all day with the Mac alpha, not a single crash! Great, keep up the good work :)

    Some things i like in my current editor (Fraise) and that aren’t in Sublime:
    * A page guide
    * A function to remove needless whitespace (might actually be better as something that happens automatically with every save)
    * Shortcut for closing html tags
    * A way to edit snippets (i’m really missing a HTML5 snippet :)

    And a small bug: auto-indenting works nicely, but not when i try to move with the arrow keys. It does work with the enter key.

    Comment by Hay — February 1, 2011 @ 9:50 am

  31. Fell in love and bought license to support Linux development.

    Is there a way to customize the build options, e.g to support debian building?

    Comment by Timo — February 1, 2011 @ 7:06 pm

  32. Ah, i already found out that points 1 and 2 i mentioned are configurable in the config files. For those of you who are looking too: add this to your user config:

    “rulers”: [80],
    “trim_trailing_white_space_on_save”: true

    Another thing: it would make sense to have Menlo as the default font on Mac instead of Courier New. Menlo is specially designed as a console / programming font.

    Comment by Hay — February 1, 2011 @ 9:56 pm

  33. Timo: You can edit the .sublime-build files to do that. Documentation will be forthcoming over the next few days, or you can ask around on the forum.

    Comment by Jon Skinner — February 1, 2011 @ 10:29 pm

  34. Hay: Menlo is the default font, as seen in the screenshot. The value listed in “Base File.sublime-settings” is a red herring: it gets overriden by the values in “Base File (OSX).sublime-settings”, which specify Menlo.

    Comment by Jon Skinner — February 1, 2011 @ 10:38 pm

  35. Looking very promising!

    Two nits to pick:

    1. Delete word (option+backspace on OS X) treats spaces as words. So if you have “foo bar |”, and you hit option+backspace, you’re left with “foo bar|”. All other OS X apps result in “foo |”.

    2. Move to beginning of line doesn’t look right when the line is wrapped. If you have a *single wrapped line* like so:

    foo bar baz
    foo bar baz|

    Moving or selecting to the beginning of the line results in this being displayed:

    foo bar baz|
    foo bar baz

    The cursor’s logical position is correct (going right one character puts the cursor just after the ‘f’ in ‘foo’), but it’s being displayed at the end of the first run of the wrapped line instead of at the beginning of the second run of the wrapped line.

    I tinkered around with trying to hack around #1 in the keymap, but was unsuccessful. I’m guessing #2 is just a rendering bug.

    Looking forward to seeing future progress. Will almost certainly buy soon to replace textmate.

    Comment by Chas Emerick — February 1, 2011 @ 11:48 pm

  36. Amazing! simply amazing! ….what else can I say!?

    What I miss from my editor (Komodo IDE/Editor) are three things:

    1. The language syntax check. Komodo marks lines with errors with a curly red underline, and lines with potential problems get underlined with a curly green. For example, in Javascript, a line in a list with a comma just before closing the list (i.e. ['a', 'b',] gets a green curly underline (sign a warning it might be a problem in some browsers, such as IE).

    2. Advanced autocomplete (from code and modules introspection). Although I don’t use all the stuff a full-blown IDE has (imho are too many options), I do use a lot the in-context autocomplete. Specially because it introspects my own code and the modules that are available (I use python and I only have to configure the path of my site-packages and other included package paths), and Komodo ends up autocompleting not only variables, but the attributes of classes and my variables as well (guessing the data type of my variable and stuff). Other very nice and useful example is when I try to include a file: typing import[SPACE] shows the autocomplete with the available modules, select one from the dropdown[ENTER] press [DOT] a dropdown showing the newly available symbols for that module… I love that. It also has the same autocompletes available for any language. Komodo helps a lot in that area.

    3. Functions/methods usage tooltips from documentation or docstrings. Again, Komodo gets the documentation for functions and methods and imported modules and displays the info/help right there whey you’re typing as a nice looking tooltip (a la Visual Studio)… perhaps from the docstrings of the modules/functions/methods.

    I don’t know how Komodo accomplish these things but it’s very reliable, probably the best I’ve seen… and I’d love to have something like that in Sublime Text, at least the pipes and knots and bolts so that in time plugins can do all that introspection and stuff.

    Comment by German M. Bravo — February 2, 2011 @ 2:59 am

  37. I find the one feature that I have yet to see in a Mac editor that Notepad++ has and that’s highlighting the open and close of an element. If you added that I would be fully on board. As it is this app looks totally sick.

    Comment by jamEs — February 2, 2011 @ 5:15 am

  38. For remote editing purpose it could use this python library: http://www.lag.net/paramiko/

    This would also allow for remote command execution, this would be a killer feature for admins or dev to restart deamons.

    The major reason i haven’t switch to a graphical text editor is that i don’t like to switch to my terminal to edit a file.

    And as far as i know no editor provides a remote file+shell access.

    Paramiko could help to add this killer feature.

    Comment by sebest — February 2, 2011 @ 5:48 am

  39. Absolutely love it!!.. heres some more pony requests if you have tme ;)

    - Ability to customise colour of file view

    - Options to swap minimap back to left and file view to right etc..

    - code completion (ide style functionality?)

    - other than control-p.. a simple way of switching back/forth between files via the keyboard.. maybe ctrl-alt-cursor_key ?

    - plugins .. svn/git/cleacase ?

    Bugs:

    - View -> Show console.. should change to “Hide console” once it shows?

    Comments:

    is it me, or would this app also make an amazing IRC client? :D

    Comment by Dan — February 2, 2011 @ 7:25 am

  40. Dan: Try Ctrl+Tab for switching between files in most recently used order, and Ctrl+PgUp/Ctrl+PgDown for switching between neighbouring files

    Comment by Jon Skinner — February 2, 2011 @ 7:46 am

  41. Thanks Jon.. thats probably me skipping docs again! keep up the great work

    Comment by Dan — February 2, 2011 @ 9:21 am

  42. Hello,
    after few minutes of playing, I fell in love with the editor :) The default settings are really comfortable.

    However, I have few notes and ideas:

    - I would like if tab switching would work in a visual way, not chronological. If I press Ctrl+Tab, I want to switch to the tab on the right side next to the current one, not the tab I had opened before the current tab.

    - I got frightened when I clicked on preferences and text file opened :) If you want to keep it that way, I would appreciate at least some visible link to the documentation of the file.

    - It would be cool if Go to anything would do instant fulltext search in project files too.

    Thanks!

    Comment by Ondřej Mirtes — February 3, 2011 @ 3:49 am

  43. And more:

    - The snippets menu could detect current file type and offer snippets only for that language.

    - I would appreciate parenthesis highlighting (via background color) rather than underlining. Underlining should be reserved for clickable elements only (like hyperlinks).

    - Same with search highlights.

    Comment by Ondřej Mirtes — February 3, 2011 @ 4:00 am

  44. Doesn’t work on SuSE Enterprise Linux 11, regardless of what versions of libstdc++ I install from SuSE:

    ./sublime_text: /lib/libz.so.1: no version information available (required by ./sublime_text)
    ./sublime_text: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11′ not found (required by ./sublime_text)

    Seems like you need a statically linked version for maximum portability across Linux versions.

    Comment by ks — February 4, 2011 @ 5:38 am

  45. Awesome, pure awesome. I have few things that I miss from my old editor, Geany, mainly just little things such as:

    - Being able to control brace highlights style (I want a cleared indicator, like inverted colors for matching brace, since I edit with quite a small font, can barely see the underline in Twilight theme).

    - On linux, associating Sublime with any filetype and clicking two different files opens up two different sessions of Sublime, instead of appending the 2nd opened file to a new tab. As a workaround I’m using the side bar for now (never really fancied side bars in an editor though).

    - Different font settings for different layouts. I usually edit in single pane mode, but sometimes its handy to keep two tabs or even three split. For that, I need to change font sizes back and forth and it would be nice if it was a setting you could save per layout basis.

    Comment by red — February 6, 2011 @ 1:16 am

  46. I’m REALLY loving Sublime Text.

    Only in my first hour of playing – bit it feels like an old friend already.

    Thank you – it’s made me happier than a text editor really should be able to make anybody!

    Comment by Pam — February 6, 2011 @ 2:57 am

  47. I really like a lot of the features here, but one is driving me NUTS! I use haml, which requires 2 spaces for indentation. Rather than figuring this out using filetypes, I have to set it manually (which requires 2 trips to the indentation menu) every time I open a new file!

    Comment by Garrett — February 9, 2011 @ 5:14 am

  48. You can set per-file type indentation settings, see: http://www.sublimetext.com/docs/2/indentation.html

    Comment by Jon Skinner — February 9, 2011 @ 4:02 pm

  49. Awesome! I’ll get to work porting the LaTeX bundle as soon as that’s feasible.

    BTW, Sublime Text is (as far as I know) the first fully scriptable, fully cross-platform text editor since Emacs!!!

    Comment by Marciano Siniscalchi — February 12, 2011 @ 6:29 am

  50. In Linux am I right in thinking there’s no way to rename a file from within Sublime Text 2?

    This is the only major issue I’m having right now. I like the regex open feature a lot.

    Comment by Ben — February 12, 2011 @ 11:03 am

  51. This is a very nice text editor. However, I wish the issue with remote desktop could have been solved. I think the problem has to do with GPU usage via DX.

    Comment by Mike — February 15, 2011 @ 3:11 pm

  52. Mike: Sublime Text 2 should work fine with with Remote Desktop, as it no longer uses the GPU for rendering

    Comment by Jon Skinner — February 17, 2011 @ 4:58 pm

  53. Love this, found it yesterday and it ticks off all the boxes for me. I don’t like code folding or auto-completion so this is great. Very slick. Keep up the good work.

    Comment by Matt — February 18, 2011 @ 7:40 pm

  54. Thank you so much for a Linux version. Great piece of software.

    Comment by Brandon Martin — February 20, 2011 @ 4:05 am

  55. Great job… it was love at first sight.

    Comment by Art — February 20, 2011 @ 10:31 am

  56. Great! I’m just missing the “New view into…” feature from Sublime Text 1.

    Comment by Karsten — February 23, 2011 @ 11:09 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.