Sam was one of the first text editors to support "infinite" undo to revert any number of editing errors. Any sequence of text-editing commands may be applied as a unit to each such specification. Sam extends its basic text-editing command set to handling of multiple files, providing similar pattern-based conditional and loop commands for filename specification. In this way, sam's command set can be applied to substrings that are identified by arbitrarily complex context. This is implemented through a model called structural regular expressions, which can recursively apply regular-expression matching to obtain other (sub)selections within a given selection. Sam's commands take such selections as basic-more or less as other Unix tools treat lines thus, multi-line and sub-line patterns are as naturally handled by Sam as whole-line patterns are by ed, vi, AWK, Perl, etc. Selections are contiguous strings of text (which may span multiple lines), and are specified either with the mouse (by sweeping it over a region of text) or by a pattern match. But while ed's commands are line-oriented, sam's are selection-oriented. Sam's command syntax is formally similar to ed's or ex's, containing (structural-) regular expression based conditional and loop functions and scope addressing, even sharing some of ed's syntax for such functions. This latter fact allows commands to be edited (and resubmitted) just as any other text, a function inherited from the DMD 5620 terminal interface. Most common editing operations are quickly and naturally accomplished with the point-and-click interface, which also functions inside the command window. Samterm presents windows to files being edited and to a persistent command window which accepts input as sam commands. This two-process structure allowed sam to access files on networked host systems through remote execution of the file-access process while running the windowing interface locally, thereby bypassing latency over slow connections. By default, however, Sam presents its own graphical user interface (GUI) window, samterm, which additionally allows point-and-click operations through pop-up context menus. The interpreter's command set is modeled after the UNIX editor ed and may be used to operate the editor from a standard text terminal. Sam is designed as two synchronous programs: a command interpreter and a mouse-oriented bitmap windowing interface. It is internally simple, its power leveraged by the composability of a small command language and extensibility through shell integration. Sam follows a classical modular Unix aesthetic. It was originally designed in the early 1980s at Bell Labs by Rob Pike with the help of Ken Thompson and other Unix developers for the Blit windowing terminal running on Unix it was later ported to other systems. Sam is a multi-file text editor based on structural regular expressions.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |