an entire project, and commands can interact with the selected files or folders in the drawer. Bundles for CVS, Subversion, darcs, and other revision control systems allow TextMate to manage versioned code. Other features TextMate has many features common to programming editors: Folding code sections can be used to hide areas of a document not currently being edited, for a more compact view of code structure or to avoid distraction. The sections to be folded can be selected by hand, or the structure of the document itself can be used to determine foldings. Regular-expression–based search and replace speeds complicated text manipulations. TextMate uses the Oniguruma regular expression library developed by K. Kosako. A function pop-up provides a list of sections or functions in the current document. Clipboard history allows users to cut many sections of text at once, and then paste them. Column editing mode allows adding the same text to several rows of text, and is very useful for manipulating tabular data. "rmate" support for launching textmate as editor for files from remote servers - much improved over work-arounds needed in version 1 In addition, TextMate supports features to integrate well with the OS X graphical environment: Clipboard graphical history supports pasting from previous copies, including prior launches. Find and replace support an analogous graphical history. Editing is further enhanced by multiple cursors (insertion points), and the ability to extend the current selection to additional instances creating multiple cursors. A WebKit-based HTML view window shows live updates as an HTML document is edited. VoiceOver and Zoom users can use TextMate thanks to its accessibility support. Limitations TextMate does have a few limitations when compared to other editors in its class: Because TextMate is not tightly coupled to a scripting language, as Emacs is to Emacs Lisp, it is impossible for users to have complete control over the program's configuration and behavior. Allan Odgaard explained his thoughts on the subject in an email to the TextMate mailing list, advocating for "platform-recommended" solutions. No built-in HTML validator — because TextMate uses the W3C validator for HTML validation, users must have an active network connection to validate HTML using the standard functionality. Lack of code-completion feature: despite its substantial support for macros, commands, and snippets, TextMate has no built-in support for code-hinting or guided code-completion, so text editors that support these features may prove to be a better choice when learning the