Find in Files makes an appearance this week. It works mostly the same as in Sublime Text 1.x, but with a couple of additions:

There's now an option to display the results with context. This is on by default.

Find results can be sent to a dedicated buffer, rather than an output panel. This is off by default, but there's a button on the find in files panel to enable it.

Also, when specifying multiple locations, or multiple include/exclude patterns, separate them with commas, rather than the semi-colons used in 1.x. e.g., entering "-*.txt,-Makefile" in the "In Files:" field will search all files, except those ending in .txt or named Makefile.

The biggest change though is the new settings system: the .sublime-options files have been replaced with .sublime-settings, which use JSON syntax. This has also trigged a change to the session and project file formats, although the differences are small enough that they shouldn't be noticeable (i.e., unsaved changes will still be preserved). The Python API side of the settings system is/will be richer too, although I'll go into that later.

The key binding files have been renamed, so if you have any additions in the User package, these will also need to be renamed.

There have been a bunch of other changes too, I think just about everyone who's commented in one of the previous threads should have gotten at least one feature.

Due to the number of changes, I expect there are still a few bugs I haven't uncovered, so please let me know what issues you run into.

sublimator wrote:It would be cool if it activated the buffer upon cases of 'appending' cause if you have a find buffer open currently without it being the current view it can be a bit like, 'is this working?'

Good catch, I'll add that in.

sublimator wrote:Some keyboard method to jump to find results from buffer would be sweet

jps wrote:There have been a bunch of other changes too, I think just about everyone who's commented in one of the previous threads should have gotten at least one feature.

Haha, that's a fine way to spoil us. I think I got three! Impressive job, as usual.

But there are two long-standing bugs that prevent me from switching yet, LOL: multiple About boxes can be created (I can't stop!) and CTRL+C won't copy the contents of the About box. Shame on your army of programmers! Haha.

==

Can you give any quick details about the new timeout for key bindings?

guillermooo wrote:Can you give any quick details about the new timeout for key bindings?

After 1.5 seconds without any typing, the typed characters are committed to the buffer. e.g., if you're typing in the snippet 'l,o,r,e,m,tab', then you have to press each key within 1.5 seconds of the previous one. Sublime Text 1.x operates in the same way - it helps a little bit to clear up some cases where you can trigger a snippet without meaning to.

Questions:- Is it possible to change an existing keymap to a different key combination without "reimplementing" it?- As others have already mentioned, I also miss the tabs. Might it possible to have tabs optionally visible?

Bugs or annoyances:- When word wrap is turned off, it is hard to tell if there is more text at the end of a line because there is no visible separation between the view and the the minimap. This is especially prominent with a "short" file where the minimap next to the long line is blank.- If I clear out the "In Files" field of "Find in files" and search, the next time I open "Find in files", the previous text is back in the field (rather than remembering the cleared state of the field). Interestingly enough, if I open "Find in files", clear out the "In Files" field, do not search and exit with excape, the cleared state of "In Files" is correctly remembered.

Bug report: pasting into an empty buffer crashes Sublime Text on Linux (and has for the last couple releases).

It'd be nice if clicking "find" or (especially) "find all" in the normal Ctrl+F find window moved the keyboard focus to the found result. Currently you have to click "find all" and then hit Escape to close the Find bar to actually use the results.