Dev Build 2024 is out now. If you haven’t used a dev build before, keep in mind that they’re even more alpha than the alpha builds, and updated more frequently.
Firstly, the Linux build now has single instance support, so if an instance is already running, running it a second time will pass the command line off to the first instance. This means that if you have Sublime Text 2 already running, you can open files from the terminal by typing sublime_text foo (assuming you’ve got sublime_text or a symlink to it in your path). You can also use -w to wait for the file to be closed, and hence use it as your $EDITOR. See --help for the full list of command line options.
Bookmarks have made an appearance too. They’re implemented using a region (‘bookmarks’), so you can interact with them from the API using get_regions / set_regions. The bookmark commands also take the name of the region as a parameter, so you can have multiple sets of bookmarks if you wish. Along with bookmarks comes the ability to add icons to the gutter in the API (again, working via the regions API functions) - see Default/mark.py for an example. The scope name given to the region will be used to tint the icon.
In finishing off support for native OS X key bindings, I’ve also added some emacs-style functionality in this build: marks and a kill ring. The kill ring has items added to it when you delete a word or line without selecting it first (e.g., ctrl+backspace on Windows, or ctrl+k on OS X), delete using ‘Delete to Mark’, or explicitly add the selection to it using the add_to_kill_ring command (unbound by default). Currently the only interaction with the kill ring is via the yank command (Ctrl+Y on OS X, Ctrl+K,Ctrl+Y on Windows and Linux), which pastes the last item added to the kill ring. I’m planning on adding the ability to paste from older entries in the kill ring in the future. The implementation is entirely in Python, you can see it in Packages/Default/kill_ring.py
Marks are another emacs-ism required to support OS X key bindings. You can see the commands for interacting with the marks in the Edit/Mark menu. Again, the implementation is entirely in Python, in Packages/Default/mark.py. Marks and the kill ring both operate nicely with multiple selections.