Sam (textový editor) - Sam (text editor)
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Screenshot z Sam | |
Původní autoři | Rob Pike |
---|---|
Vývojáři | Bell Labs |
První vydání | počátkem 80. let |
Napsáno | C |
Operační systém | Unix, Plán 9, Win32 |
K dispozici v | Angličtina |
Typ | Textový editor |
Licence | Veřejná licence Lucent |
webová stránka | sam |
Sam je více souborů textový editor na základě strukturální regulární výrazy. To bylo původně navrženo na začátku 80. let v Bell Labs podle Rob Pike s pomocí Ken Thompson a další vývojáři Unixu pro Blit okenní terminál běží Unix; později byl přenesen do jiných systémů. Sam následuje klasiku modulární Unix estetický. Je to vnitřně jednoduché, jeho síla je ovlivněna skladatelností malého velitelského jazyka a rozšiřitelnost prostřednictvím integrace prostředí.
Design a funkce
Sam je navržen jako dva synchronní programy: tlumočník příkazů a rozhraní bitmapového okna s orientací na myš. Sada příkazů tlumočníka je modelována podle editoru UNIX vyd a lze je použít k ovládání editoru ze standardního textového terminálu. Ve výchozím nastavení však Sam představuje vlastní grafické uživatelské prostředí Okno (GUI), samterm, který navíc umožňuje operace point-and-click prostřednictvím rozbalovacích kontextových nabídek. Tato dvouprocesová struktura umožňovala Samovi přistupovat k souborům v síťových hostitelských systémech prostřednictvím vzdáleného provádění procesu přístupu k souborům při lokálním spuštění okenního rozhraní, čímž obcházela latenci přes pomalá připojení.
Samterm prezentuje okna upravovaným souborům a trvalému příkazovému oknu, které přijímá vstupy jako sam příkazy. Nejběžnější editační operace jsou rychle a přirozeně provedeny pomocí rozhraní point-and-click, které funguje také uvnitř příkazového okna. Tato poslední skutečnost umožňuje editovat (a znovu odesílat) příkazy stejně jako jakýkoli jiný text, funkci zděděnou z DMD 5620 rozhraní terminálu.
Syntaxe příkazu
Samova syntaxe příkazu je formálně podobná edově nebo ex, obsahující (strukturální-) regulární výraz podmíněné podmíněné a smyčkové funkce a adresování rozsahu, dokonce sdílení některých syntaxe ed pro tyto funkce. Ale zatímco edovy příkazy jsou orientovány na řádky, samy jsou orientovány na výběr. Výběry jsou souvislé řetězce textu (které mohou zahrnovat více řádků) a jsou určeny buď myší (pomocí zametání přes oblast textu) nebo pomocí a shoda vzoru. Samovy příkazy berou takové výběry jako základní - víceméně jako jiné unixové nástroje zacházejí s linkami; víceřádkové a podřízkové vzory tedy Sam zpracovává stejně přirozeně jako celé řádkové vzory vyd, vi, AWK, Perl atd. To je implementováno prostřednictvím modelu zvaného strukturní regulární výrazy, které mohou rekurzivně použít shodu regulárních výrazů k získání dalších (pod) výběrů v rámci daného výběru. Tímto způsobem lze sadu příkazů Sam použít na podřetězce, které jsou identifikovány libovolně složitým kontextem.
Sam rozšiřuje svou základní sadu příkazů pro úpravy textu na zpracování více souborů a poskytuje podobné podmíněné příkazy založené na vzoru a smyčkové příkazy pro specifikaci názvu souboru. Jakoukoli sekvenci příkazů pro úpravy textu lze použít jako jednotku pro každou takovou specifikaci.
Nekonečné undo
Sam byl jedním z prvních textových editorů, kteří podporovali „nekonečný“ vrátit vrátit libovolný počet chyb při úpravách. Tato funkce v kombinaci se zařízením Sama pro snadnou úpravu vlastních příkazů a v zásadě s jeho malou ortogonální sadou příkazů (obsahující pouze 33 příkazů) představují zkreslení programu směrem k nízké prahové hodnotě učení oproti jiným výraznějším „výkonným editorům“.
Podporovatelé
Sam je preferovaný textový editor několika významných programátorů. Byl to první editor na celou obrazovku Ken Thompson líbil.[1] Sam je textový editor používaný uživatelem Bjarne Stroustrup,[2] Brian Kernighan,[3][4] Douglas McIlroy a Tom Duff.[Citace je zapotřebí ] Ostatní, jako Dennis Ritchie, Rob Pike a Russ Cox, přešli na vrchol, editor se stejným příkazovým jazykem jako sam, ale s řadou dalších funkcí, včetně myší chording a automatické skládání otevřených souborů.
Nejnovější verze programu Sam byla napsána jako součást operačního systému Plan 9, ale existují Microsoft Windows, Operační Systém Mac a Systém X Window dostupné porty.
Viz také
- acme (textový editor) - Rob Pike je další populární textový editor a nástupce Sam.
- ed (textový editor) - Původní textový editor Unix od Ken Thompson
- Plán 9 od Bell Labs
- Seznam unixových příkazů
Poznámky
- ^ Rozhovor: Rob Pike odpovídá, Zveřejnil Roblimo v pondělí 18. října 2004, Slashdot
- ^ Rzeszótko, Jarosław (2006-10-16). „Stiff se ptá, skvělí programátoři odpovídají“. Stifflog (Rozhovor). Archivovány od originál 5. října 2011. Citováno 2008-11-01.
- ^ Kernighan, Brian (červenec 2000). „Rozhovor s Brianem Kernighanem“ (Rozhovor). Rozhovor s Budiu, Mihai. Citováno 2008-11-01.
- ^ Fridman, Lex (19. července 2020). Nastavení programování Briana Kernighana | Lex Fridman. Youtube. Událost nastane za 44 sekund. Citováno 2020-10-03.
Reference
- Pike, Rob (říjen 1987). „The Text Editor sam“. Software - praxe a zkušenosti. 17 (11): 813–845. doi:10.1002 / spe. 4380171105. Citováno 2008-11-01.
- Pike, Robe. „Strukturální regulární výrazy“. Citováno 2008-11-01. Citovat deník vyžaduje
| deník =
(Pomoc) - Pike, Robe. "Výukový program pro příkazový jazyk sam". Citováno 2008-11-01. Citovat deník vyžaduje
| deník =
(Pomoc)
externí odkazy
- ssam (1): streamovat rozhraní do sam
- Sam zdroje
- sam (1): editor obrazovky se strukturálními regulárními výrazy
- Verze Win32 sam
- Další verze Sam32 pro Win32 (a další nástroje Plan 9)
- Nová verze sam32 Win32 a dalších obslužných programů plan9 založených na plan9port
- Nová Unix verze sam jako část Plánujte 9 z uživatelského prostoru
- Další verze sam pro Unix, bez jakýchkoli Plánujte 9 z uživatelského prostoru závislostí a s podporou škálovatelného písma
- Sam rychlá referenční karta