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.
Způsob editace textu je možno ovlivňovat řadou voleb:
<BackSpace>
jako zpětné
odsazení.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.<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.<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.
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.
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.
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ů vi
i emacs
, 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.
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.
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
.
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.