Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Көп файлдық мәтін редакторы
Multi file text editor
Sam – құрылымдық тұрақты өрнектерге негізделген көп файлдық мәтін редакторы. Ол бастапқыда 1980-жылдардың басында Роб Пайк Белл зертханасында Кен Томпсон және басқа Unix әзірлеушілерінің көмегімен Unix жүйесінде жұмыс істейтін Blit терезе терминалы үшін жасалған; кейіннен ол басқа жүйелерге көшірілді. Sam классикалық модульдік Unix стиліне сәйкес келеді. Ол ішкі құрылысы жағынан қарапайым, ал оның қуаты шағын командалық тілдің біріктірілуімен және қабықшамен интеграция арқылы кеңейтілуімен қамтамасыз етіледі.
Sam is a multi file text editor based on structural regular expressions. 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 follows a classical modular Unix aesthetic. It is internally simple, its power leveraged by the composability of a small command language and extensibility through shell integration.
Құрылымы мен ерекшеліктері
Sam екі синхронды бағдарлама ретінде құрастырылған: команда интерпретаторы және тышқанмен басқарылатын биттік карта терезе интерфейсі. Интерпретатордың командалар жиынтығы UNIX редакторы ed-дің үлгісімен жасалған және стандартты мәтіндік терминалдан редакторды басқару үшін қолданылуы мүмкін. Алайда, әдетте Sam өзінің графикалық пайдаланушы интерфейсі (GUI) терезесін, samterm-ді ұсынады, ол сонымен қатар ашылатын мәзірлер арқылы нұқу және басу операцияларын жүзеге асыруға мүмкіндік береді. Бұл екі процестік құрылым Sam-ге желілік хост жүйелеріндегі файлдарға, файлға қол жеткізу процесін қашықтан орындау арқылы, терезе интерфейсін жергілікті түрде іске қосып, баяу байланыстардағы кешігуді айналып өту арқылы қол жеткізуге мүмкіндік берді. Samterm өңделіп жатқан файлдарға және sam командаларын қабылдайтын тұрақты команда терезесіне терезелерді ұсынады. Көптеген әдеттегі өңдеу операциялары нұқу және басу интерфейсімен жылдам және табиғи түрде орындалады, ол командалық терезеде де жұмыс істейді. Бұл соңғы мүмкіндік командаларды кез келген басқа мәтін сияқты өңдеуге (және қайта жіберуге) мүмкіндік береді, бұл DMD 5620 терминалы интерфейсінен мұраға алған қасиет.
Sam is designed as two synchronous programs: a command interpreter and a mouse oriented bitmap windowing interface. 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. 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. 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. Samterm presents windows to files being edited and to a persistent command window which accepts input as sam commands. Most common editing operations are quickly and naturally accomplished with the point and click interface, which also functions inside the command window. This latter fact allows commands to be edited (and resubmitted) just as any other text, a function inherited from the DMD 5620 terminal interface.
Командалық синтаксис
Sam командасының синтаксисі ed немесе ex синтаксисіне ұқсас, (құрылымдық) тұрақты өрнектерге негізделген шартты және циклдық функцияларды, сондай-ақ ауқымдарды қамтиды, тіпті осындай функциялар үшін ed синтаксисінің кейбір бөліктерін де бөліседі. Бірақ ed командалары жолға бағытталған болса, sam командалары таңдауға бағытталған. Таңдаулар – мәтіннің үздіріліссіз тізбектері (бірнеше жолдарды қамтуы мүмкін) және олар тышқанмен (мәтіннің бір бөлігін таңдау арқылы) немесе үлгіге сәйкестік арқылы көрсетіледі. Sam командалары мұндай таңдауларды негізгі деп қабылдайды, басқа Unix құралдары жолдарды қабылдағандай; сондықтан көпжолды және жолдың ішкі бөлігіндегі үлгілер sam арқылы ed, vi, AWK, Perl сияқты құралдар бүкіл жол үлгілерін басқаратындай оңай өңделеді. Бұл құрылымдық тұрақты өрнектер деп аталатын модель арқылы іске асырылады, ол берілген таңдау ішіндегі басқа (ішкі) таңдауларды алу үшін тұрақты өрнектерді сәйкестік бойынша рекурсивті түрде қолдана алады. Осылайша, sam командалар жиынтығын өте күрделі контекст бойынша анықталған мәтін бөліктеріне қолдануға болады. Sam негізгі мәтіндік өңдеу командалар жиынтығын бірнеше файлды өңдеуге дейін кеңейтеді, файл атауларын анықтау үшін ұқсас үлгіге негізделген шартты және циклдық командаларды ұсынады. Мәтінді өңдеу командаларының кез келген тізбегі әрбір осындай файлға бірлік ретінде қолданылуы мүмкін.
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. But while ed's commands are line oriented, sam's are selection oriented. 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. 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. 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. In this way, sam's command set can be applied to substrings that are identified by arbitrarily complex context. Sam extends its basic text editing command set to handling of multiple files, providing similar pattern based conditional and loop commands for filename specification. Any sequence of text editing commands may be applied as a unit to each such specification.
шексіз қайтару
Сэм кез келген өңдеу қатесін кері қайтару үшін "шексіз" қайтару мүмкіндігін қолдаған алғашқы мәтіндік редакторлардың бірі болды. Бұл мүмкіндік, Сэмнің өзінің командаларын оңай өңдеуге қолайлылығымен және, ең бастысы, оның кішкентай, ортогональды командалар жиынтығымен (бар болғаны 33 командадан тұрады) үйлеседі. Бұл бағдарламаның басқа, көбірек мүмкіндіктерге ие "қуатты редакторларға" қарағанда оқуды жеңілдетуге басымдық бергенін көрсетеді.
Sam was one of the first text editors to support "infinite" undo to revert any number of editing errors. This feature, combined with Sam's facility to easily edit its own commands and, fundamentally, its small, orthogonal command set (containing only 33 commands), represent the program's bias toward a low learning threshold over other more expressive "power editors."
Қолдаушылар
Сэм – бірнеше көрнекті бағдарламашылардың бағалайтын мәтіндік редакторы. Кен Томпсон ұнатып пайдаланған алғашқы толық экранды редактор осы болды. Сэмді Бьярн Строструп, Брайан Керниган, Дуглас Макилрой және Том Дафф қолданды. Деннис Ричи, Роб Пайк және Расс Кокс сияқты басқалары sam сияқты командалық тілге ие acme редакторына көшті, бірақ тышқанмен бірнеше пернені бірдей басу және ашылған файлдарды автоматты түрде орналастыру сияқты қосымша мүмкіндіктері де бар. Sam-нің соңғы нұсқасы Plan 9 операциялық жүйесінің құрамында жазылды, бірақ Microsoft Windows, macOS және X Window System-ге арналған нұсқалары да қолжетімді.
Sam is the preferred text editor of several eminent programmers. It was the first full screen editor Ken Thompson liked. Sam is the text editor used by Bjarne Stroustrup, Brian Kernighan, Douglas McIlroy and Tom Duff. Others, like Dennis Ritchie, Rob Pike and Russ Cox, have transitioned to acme, an editor with the same command language as sam, but with an assortment of additional features, including mouse chording and automatic tiling of opened files. The latest version of sam was written as part of the Plan 9 operating system, but there are Microsoft Windows, macOS and X Window System ports available.