Operační systém Unix, materiály ke cvičení

Základy používání editoru joe



Editor JOE napsal Joseph H. Allen <jhallen@world.std.com>. Editor je dostupný v síti Internet pomocí anonymního FTP ze serveru world.std.com, soubor: src/editor/joe1.0.8.tar.Z.

Obsah:

  1. Spuštění editoru joe
  2. Editační příkazy editoru joe
  3. Konfigurační soubor editoru joe

Spuštění editoru joe

Joe je obrazovkově orientovaný textový editor. Jeho ovládání je podobné editorům obvyklým v MS DOSu - editoru WordStar či editorům překladačů "Turbo" firmy Borland. Má navíc některá další rozšíření, např. používání maker.

Editor joe lze použít k psaní programů, editaci neformátovaného textu (např. el. pošty, konfiguračních souborů v unixu ...). Editor joe podporuje plně 8-bitový text (tj. i češtinu), umožňuje též editovat binární soubory.

Pro správnou funkci editoru joe musí environment proměnná TERM obsahovat jméno typu vašeho terminálu (při přístupu pomocí telnetu se obvykle používá typ terminálu vt102). Popis tohoto typu terminálu hledá v prvním z nasledujících souborů:
/etc/termcap.idx
/etc/termcap
/usr/lib/terminfo/...
Soubor /etc/termcap.idx se vytváří ze souboru /etc/termcap pomocí programu termidx.

Pokud chcete, aby se editor joe používal pro editaci v dalších programech (el. pošta, čtení diskusních skupin ...), nastavte systémové (environment) proměnné VISUAL a EDITOR na hodnotu /usr/local/bin/joe.

Spuštění editoru:

joe [[+nnn]filename]...

Při spuštění editoru lze zadat více souborů (otevře se více oken). Před každé jméno souboru lze zadat číslo řádku, na který se má umístit kurzor.


Editační příkazy editoru joe

^KH
zobrazení nápovědy (helpu), ukončení zobrazování nápovědy. Podrobný popis příkazů je k dispozici v manuálové stránce (příkaz man joe)

Pohyb po souboru

^B
vlevo, též šipka vlevo
^F
vpravo, též šipka vpravo
^P
nahoru, též šipka nahoru
^N
dolů, též šipka dolů
^Z
předchozí slovo
^X
následující slovo
^U
předchozí obrazovka, též <PgUp>
^V
následující obrazovka, též <PgDn>
^A
začátek řádky, též <Home>
^E
konec řádky, též <End>
^KU
začátek souboru
^KV
konec souboru
^KL
na řádku číslo n
^G
na odpovídající ( [ {
^K-
na předchozí pozici, kde se prováděla změna. Obráceně pomocí ^K=

Výmaz textu

^D     výmaz znaku, též <Del>
^H     předchozí znak, též <BackSpace>
^Y     výmaz řádky
^J     do konce řádky
^W     do následujícího slova
^O     předchozí slovo
^_     undo
^^     redo

Práce s blokem

^KB     záčátek bloku
^KK     konec bloku
^KM     přesun bloku
^KC     zkopírování bloku
^KW     zapsání bloku do souboru
^KY     výmaz bloku
^K/     "přepracování" bloku unixovým příkazem, např. setřídění
          bloku - ^K/sort

Ukončení, operace se soubory

^KX     uložení souboru a konec
^C      konec bez uložení změn
^KE     otevření nového souboru
^KR     vložení souboru do textu
^KD     uložení souboru
^KZ     spuštění shellu, návrat - exit
^K'     spuštění shellu v okně. Cokoli napíšete na konci textu,
        předá se shellu, výsledky se ukládají do okna. Shell se ukončí
        stisknutím ^C mimo konec textu v okně. Lze použít pro nahrávání
        výsledků programů.
Při zadávání jména souboru lze použít následující kombinace:
  <TAB>     nabídne se menu souborů, ze kterého lze vybírat
  šipka nahoru či šipka dolů
            nabízejí se jména dříve zadávaných souborů
  !příkaz   přes rouru (pipe) se načte výsledek unixového příkazu
             či se editovaný text předá unixovému příkazu
  >>soubor  editovaný text se předá na konec existujícího souboru
  -         čte se ze standardního vstupu/zapisuje se na standardní
             výstup
  soubor,začátek,délka 
            čte se/zapisuje část souboru (od kterého řádku, kolik řádků),

Práce s okny

^KO   rozdělení okna na dvě, do nového okna lze načíst soubor pomocí ^KE
^KG   zvětšení aktuálního okna
^KT   zmenšení aktuálního okna
^KN   přechod do dolního okna
^KP   přechod do horního okna
^C    zrušení aktuálního okna
^KI   zobrazení všech oken

Dočasná klávesová makra

^K[n    začíná se nahrávat makro n (0 až 9)
^K]     konec nahrávání makra
^Kn     spuštění makra n

Vyhledávání textu

^KF  nalezení řetězce v textu, po zadání řetězce (regulárního výrazu) lze zadat následující volby:
b  zpětné hledání,
i  nerozlišovat mezi malými a velkými písmeny,
n  vyhledá se n-tý výskyt řetězce,
r  nalezený řetězec se bude přepisovat dále zadaným textem,
^L  vyhledání dalšího výskytu

speciální znaky při zadávání řetězce pro vyhledávání (regulární výrazy):
   \^      začátek řádku
   \$      konec řádku,
   \<      začátek slova
   \>      konec slova
   \?      jeden znak
   \*      0 či více znaků
   \c      vybalancovaný příkaz jazyka C
   \\      znak \
   \[..]   jeden znak z množiny v [ ]
   \n      znak konce řádku
   \+      0 či více opakování znaku, který následuje \+
speciální znaky pro zadávání textu, který přepíše vyhledávány řetězec:
   \&      nalezený řetězec
   \n      znak konce řádku
   \\      znak \
   \n      zapíše se text, který odpovídá n-tému výskytu \*,
           \?, \c, \+ či \[..]
příklady regulárních výrazů:
A\*B        vyhledá se text, který začíná písmenem A a po několika
            různých znacích následuje B
A\?B        vyhledá se text, který začíná A, následuje
            jedno jakékoliv písmeno a potom písmeno B
\<\*is\*\>  vyhledá se slovo, které obsahuje řetězec is
\^test\$    vyhledají se řadky, které obsahují pouze řetězec test
\[A-Z]      vyhledá se jakékoliv velké písmeno
\<\*\>      vyhledá se slovo, pokud se pro přepsání původního
            řetězce zadá "\&", orámuje se každé slovo uvozovkami

Odrážky (tabulátory)

^TK    výplňový znak (obvykle mezera)
^K,    posunutí bloku vlevo
^K.    posunutí bloku vpravo
^TI    po kolika znacích dělat odrážky (tabulátory)
^TA    automaticky odrážky zap/vyp, pokud zapnuto - při přechodu
        na nový řádek se automaticky přejde na sloupec, který odpovídá
        prvému nemezerovému znaku v předchozí řádce,

Formátování textu

^TW     automatické odřádkování na pravém okraji zap/vyp
^TL     nastavení levého okraje
^TR     nastavení pravého okraje
^KJ     přeformátování odstavce
^KA     vycentrování řádky

Různé příkazy

^K\n     následující příkaz se bude opakovat n-krát
^TX      sloupcový režim zap/vyp, umožňuje jako blok označovat sloupce
`        vkládání znaků 0-32
^\       vkládání znaků nad 127
^R       obnova obrazovky
^TT      režim přepisování/vkládání
^@       vkládání v režimu přepisování
^TN      zobrazovat číslo řádku
^TC      zobrazovat číslo sloupce
^K<mezera>  zobrazit pozici v textu
^TD      nastavit "velikost" tabulátoru
^TP      o kolik řádek <PgUp>/<PgDn>
^TH      normální zobrazení znaků nad 127 zap/vyp
^K;      vyhledávání dle pomocného souboru ctags
^TM      vycentrování kurzoru při přechodu mimo okno (pro pomalé terminály)
^TF      zapínání podpory znaku konce řádku na konci souboru


Konfigurační soubor editoru joe

Uživatel si může sám změnit konfiguraci editoru JOE. Použije se první nalezený konfigurační soubor z následujících:
.joerc
$HOME/.joerc
/usr/local/lib/joerc
Konfigurační soubor obsahuje následující informace:
  1. globální volby - zobrazování 8-bitových znaků, zobrazování řádku a sloupce na stavové řádce, umístění nové řádky na konci souboru, automatické spouštění helpu, o kolik řádek se posune kurzor po souboru při stisku <PgUp> či <PgDn>, uchovávání backupu editovaného souboru, potvrzování jména souboru při ^KX atd.
  2. volby závislé na jménu (typu) souboru - pro jednotlivé skupiny souborů lze zapnout následující volby:
  3. helpové obrazovky
  4. přiřazení funkcí k jednotlivým klávesám, lze si též předdefinovat makra a přiřadit je ke klávesám. Následující příklad přiřadí ke kombinaci kláves ^TA funkci, která na začátek řádků doplní znak > (odsadí původní text při psaní dopisu el. pošty):
    bol,"> ",dnarw ^TA

Každý uživatel si může zkopírovat soubor /usr/local/lib/joerc do svého domovského adresáře a upravit si ho dle svého.
Obsah © R. Kunstová, L. Pavlíček - Vysoká škola ekonomická v Praze, KIT