\"/
\"/ \"/    

Wonder Edit

Pavel Ševeček, ÚVT MU
Ročník IV - číslo 1, září 1993
Citace: P. Ševeček. Wonder Edit. Zpravodaj ÚVT MU. ISSN 1212-0901, 1993, roč. IV, č. 1, s. 14-16.
Tematické zařazení: Programy, nástroje
 předchozí článek | následující číslo 

Ve Zpravodaji III/4 jste nalezli informace o produktu Wonder Word. Tento systém je určen především pro pořizování článků a textů, teprve druhotně jako programátorský editor. Lepším řešením pro účely psaní programů, scénářů shellu, elektronické pošty či zdrojových textů pro TeX je produkt Wonder Edit.

Wonder Edit je program pro editaci textů nedokumentační povahy. Nepodporuje tudíž žádné typy písma, odsazování, zarovnávání či podobné funkce. Do textu nevkládá žádné znaky navíc a je možné jím editovat i binární soubory, aniž by došlo k jejich zkomolení. Uživatelské prostředí se neliší od programu Wonder Word. Ovládání je přes pull down menu nebo kombinací <Ctrl>-kláves (implicitně konvence Word Star), okénkové prostředí apod. Proto se zde ve stručnosti zmíníme o možnostech, které poskytuje pouze Wonder Edit.

Editace

Způsob editace textu je možno ovlivňovat řadou voleb:

Automatické odsazování:
S touto volbou se kurzor při přechodu na nový řádek automaticky umisťuje pod první nemezerový znak. Jinak se umisťuje na 1.sloupec.
BackSpace-odskok:
Při této volbě funguje příkaz <BackSpace> jako zpětné odsazení.
Přesun slov:
Tato volba je dobře známá i z jiných editorů a způsobuje automatický přesun slova na nový řádek při překročení nastaveného pravého okraje.
Kurzor přes tabulátory:
Pokud je tato volba vypnuta, posun přes znak tabulátor způsobí skok o příslušný počet znaků. Stejně funguje např. vi. Pokud je přepínač nastaven, posun přes tabulátor je plynulý jako v případě, kdyby místo tabulátoru byly mezery.
Kurzor za konec řádku:
Tento přepínač umožňuje uživateli vybrat si ze dvou možností posunu kurzoru:
  1. Při překročení konce řádku se kurzor přesune na nový řádek, při dosažení začátku řádku se posouvá na předchozí řádek. Při posunu nahoru a dolů kurzor "kličkuje" podle konce aktuálního řádku.
  2. Kurzor překračuje konec řádku bez omezení.
První způsob tedy zohledňuje pravostranné mezery, druhý nikoliv.
Vkládání znaku tabulátor:
Obvykle je tato volba nastavena, což znamená, že při stisknutí klávesy <Tab> je do textu vložen znak tabulátor (Ascii 9). Vypnutím dosáhnete toho, že místo znaku tabulátor se do textu vloží příslušný počet mezer.
Měkké tabulátory:
Tato volba je vhodná například pro vyplňování tabulek. Při stisknutí klávesy <Tab> se kurzor posouvá na pozici, která odpovídá začátku dalšího slova na předchozím řádku.

Výše uvedené volby umožňují nakonfigurovat editor podle toho, zda editor používáte pro editaci programů, pošty, pro pořizování zdrojů pro TeX či k jiným účelům. Nastavené volby lze uložit do konfiguračního souboru.

Čeština

Zajímavým způsobem je řešena editace českých textů v závislosti na používaném kódování češtiny. Přechodem na UNIX se totiž problematika různých kódování nezjednodušuje, spíše naopak. Existuje sice norma ISO Latin-2, ta se však zatím příliš neujala. Vzhledem k přenášení textů z DOSu a nazpět je potřeba počítat s kódem Kamenických i PC Latin-2, setkáte se i s archaickým KOI-8. Navíc je možné, že se v prostředí TeXu prosadí evropské kódování pro DC fonty.

Při takové (jistě nežádoucí) pestrosti je zřejmě krajně nepraktické mít pro každé kódování a pro každé rozložení klávesnice definováno mapování klávesnice prostřednictvím programu mapchan. Navíc je takový program mezi různými instalacemi UNIXu spíše výjimkou a řada producentů UNIXových systémů možnost mapování klávesnice vůbec nepodporuje.

Wonder Edit proto odděluje způsob rozložení znaků na klávesnici od konkrétních kódování. Jinými slovy, klávesnice se definuje v termínech: místo znaku '8' bude znak 'á', místo znaku '9' znak 'í', na rozdíl od programu mapchan, který specifikuje: místo Ascii kódu 56 (znak '8') bude Ascii kód 160 (v kódování PC Latin-2 znak 'á') a podobně pro znak '9'.

Uživatel pak vybírá zvlášť kódování, ve kterém chce text pořizovat, zvlášť rozložení klávesnice. Předdefinovány jsou kódy standard IBM PC, Kamenických, PC Latin-2, ISO Latin-2, KOI-8, TeX DC kódování a kódování azbuky. Klávesnice jsou česká, česká programátorská, slovenská, německá, francouzská a ruská. Pokud tedy potřebujete změnit kódování (třeba i v rámci jednoho souboru), stačí vybrat jiný kód a nadále používat zvolenou klávesnici.

Bloky a obdélníky

Wonder Edit podporuje kromě obvyklých bloků i práci se sloupcovými bloky neboli obdélníky. Podle zvoleného typu bloku (normální, sloupcový) pak fungují různě operace pro kopírování, mazání, přesun, zápis, či konverzi písmen v rámci bloku. Bloky i obdélníky je možno přenášet mezi různými soubory přes schránku (clipboard). Operace s obdélníky dále fungují různě v závislosti na nastavené volbě "Kurzor přes tabulátory". Odlišnost spočívá v tom, zda se tabulátory v obdélníku či na hranici obdélníku mají při přesunu či kopírování expandovat či nikoliv.

Regulární výrazy

Editor umožňuje vyhledávat a nahrazovat texty s využitím regulárních výrazů, což výrazně rozšiřuje použití těchto funkcí. Tato možnost je běžná u UNIXových editorů viemacs, prakticky se však nevyskytuje u DOSovských editorů. Proto si tuto možnost nastíníme na příkladech.

Pro vyhledávání je možno zadat nejen konkrétní slovo nebo posloupnost znaků, ale regulární výraz, který zahrnuje více možností. Např. výraz begin{.*} znamená vyhledání řetězce, ve kterém je text begin{ následován čímkoliv a končí řetězcem }. Tímto způsobem můžete vyhledat texty begin{itemize}, begin{enumerate} apod. Podobně výraz [0-9]*[,;] znamená vyhledání textu, kde se vyskytuje posloupnost číslic následovaná znakem čárka nebo středník. Výraz [vksVKS]$ znamená vyhledání samostatně stojících v, k nebo s na konci řádku.

Možnosti regulárních výrazů jsou daleko bohatší, takže není možné zde podat vyčerpávající přehled (úplný popis lze nalézt v manuálu Wonder Editu, případně v manuálu editoru vi). Zajímavé možnosti skýtají regulární výrazy pro nahrazování. Je např. možno jedním příkazem nahradit mezeru nebo posloupnost mezer za samostatným písmenem v, k nebo s (malým nebo velkým) znakem ~, čemuž jistě rozumí každý TeXista.

Příkazový řádek

Z příkazového řádku je možno vyvolat editaci více souborů současně, přičemž je možno specifikovat výchozí pozici pro editaci. Před jméno souboru lze uvést tyto volby:

    +123 :  kurzor bude umístěn na řádek č. 123
+/str :  kurzor bude umístěn na první výskyt řetězce str
+$ :  kurzor bude umístěn na konec souboru

Uvedené volby je možno libovolně kombinovat, takže je možné vyhledat řetězec od konce či umisťovat kurzor relativně vzhledem k vyhledanému řetězci.

Instalace a použití

Wonder Edit, podobně jako Wonder Word, je trvale instalován na serveru varda.ics.muni.cz v adresáři /usr/global/new/ww. Spouští se příkazem we z tohoto adresáře. Je proto přímo dostupný pro ty uživatele, kteří používají některý z UNIXů pro PC a mají namontován přes NFS adresář /usr/global z výše uvedeného počítače. Pokud jej chcete instalovat na svém lokálním počítači či pro jinou verzi UNIXu, kontaktujte přímo autora článku. Editor je k dispozici pro systémy SCO UNIX, Interactive UNIX, Univel, SUN OS, AIX, HPUX, IRIX, WYSE UNIX a další.

Pokud spouštíte Wonder Word nebo Wonder Edit z DOSu prostřednictvím emulátorů telnet (Clarkson) nebo tn (PC TCP), musíte správně nastavit typ terminálu a příslušné kódování na obrazovku. Oba emulátory totiž standardně nepřenášejí 8.bit, takže např. české znaky nejsou správně zobrazovány. Této problematice a češtině pod UNIXem obecně bude věnován ve Zpravodaji samostatný článek. Prozatím je doporučený typ terminálu vt220 a kódování ascii7. Typ terminálu se nastavuje příkazem TERM=vt220 (na úrovni shellu), kódování se zvolí v editoru příkazem z menu Systém-Obrazovka.

Závěr

V předchozích odstavcích byly naznačeny možnosti, které ve stávající podobě poskytuje Wonder Edit navíc proti word-procesorově orientovanému Wonder Wordu. Další vývoj editoru bude orientován mimo jiné na zvýšenou podporu pořizování textů pro TeX.

Zpět na začátek
ÚVT MU, poslední změna 14.11.2011