ajaxorg/ace — pull request #1293 by rksm (2013-03-11 04:07:53+00:00)
Title: Incremental search

This pull request implements basic support for an improved incremental search mode. I tried to made it similar to the isearch behavior in Emacs. Main intention is to make cursor movements more efficient. Since the selection is not modified while searching you can quickly select large text chunks.

Works in Ace with emacs keys using `C-s` (forward) and `C-r` (reverse) isearch. Once you have entered the isearch mode all key inputs except for `RETURN` (accept search - stay where you are) and `ESC` and `C-g` (cancel search - brings you back to where you started the search).

Works also with non-emacs keys:

- Mac OS: `Command-F`, `Command-G`, `Command-Shift-G`
- Windows: `Control-F`, `Control-K`, `Control-Shift-K`

isearch is not enabled by default but there is a config setting for it, see kitchen sink demo.

Short screencast [is here](http://www.youtube.com/watch?v=toCiB383IVk).

--------------

Things that need some work:

- proper search history (currently only last search is remembered)
- not all keys modify search string meaningful (key combos, modifiers)
- Highlight style of marker layer is patched