/p>
UVOD
"JOE" je popularny textovy editor pod OS Unix (Linux). Tento text je urceny jednak pre zaciatocnikov, ktori v JOE este nepracovali, ale hlavne sa zameriava na efektivne pouzitie tohoto programu pri editovani zdrojovych textov, napriklad v C.
Nie su tu vymenovane vsetky moznosti JOE, na to sluzi jeho manual. Ide hlavne o to, aby sa studenti predmetu OS naucili pouzivat editor takym sposobom, aby im pomahal pri tvorbe zadani. Pocas semestra budete mat niekolko testov, kde bude VELMI zalezat na case. Ak sa pocas testu budete napriklad posuvat na koniec riadku klavesou 'sipka doprava' namiesto pouzitia spravnej kombinacie klaves, zistite sami, ze slaba efektivita vie byt bolestiva - dostanete malo bodov, lebo ani nestihnete napisat zadanie.
S textovym editorom by ste mali zrast, malo by to byt nieco, co vam pomaha, nie vas obmedzuje. Nemali by ste vlastne ani citit, ze editor existuje, vase programatorske myslienky by mali samy skakat na obrazovku :-) Ale take nieco sa da dosiahnut iba praxou, stalou pracou s editorom.
Nastastie, zakladnych povelov je v JOE zopar, takze uz po nejakej hodinke pisania s pouzivanim klavesovych skratiek budete mat ten spravny zaklad.
Pokial poznate zaklady prace v JOE, mozete zacat citat od kapitoly 2.
1. JOE - predstavenie programu (JOE - citaj 'dzou')
Editor JOE je textovy editor - nie je to textovy procesor, ktory by obsahoval desiatky funkcii a masivne rozhranie. Jeho vyznam skor naplna klasicku filozofiu Unixu - mat sadu programov s roznou zlozitostou a svoju pracu zalozit na ich efektivnom vyuzivani. Teda, treba roztlkat orechy takym velkym kladivom, ake sa prave na to hodi, ani mensim, ani vacsim.
JOE ma preto jednoduche rozhranie a obsahuje prave tolko funkcii, kolko budete potrebovat na beznu pracu s textom. Vulgarne povedane, JOE vam bude sprvoti pripominat Notepad, kvoli jednoduchemu vyzoru. Avsak poskytuje viac moznosti a jeho spravanie sa da lepsie nakonfigurovat. Porovnavanim s Notepadom by sme velmi znevazovali JOEove schopnosti.
Na zaver uvodu mi neda, aby som nespomenul zakladne pravidlo 'vitazstva' nad kazdym programom - treba ho vediet ukoncit. Aj editor JOE sa lahko 'opusta'
- staci stisnut CTRL+C. Ale omnoho rozumnejsie spravanie je, ked mate
1.1. Mody prace, vyzor, stavovy riadok (kde mam kurzor ???)
Joe je tzv. jedno-modovy editor: napriklad oproti editoru 'vi' sa vzdy nachadza v jedinom mode a to v mode editacie textu. Takze odteraz vas mody prace nemusia zaujimat, proste vzdy to, co klepete, naskakuje na obrazovku.
Stavovy riadok je indikatorom vsetkeho doleziteho a nachadza sa navrchu obrazovky. Zobrazuje meno suboru, to ci bol subor od zaciatku editacie modifikovany, kde sa prave nachadza kurzor, aktualny cas a tiez klasicku frazu "Ctrl+K H for help".
Nie uplne vsetky dolezite vypisy sa vpracu do stavoveho riadku - tam sidlia len jednoduche priznaky. Dialogy typu "Naozaj chcete ulozit tento subor ?" sa zobrazuju v spodnom riadku obrazovky.
1.2. Co JOE dokaze
Naschval nebudem spominat take speciality, ako je vyhladavanie pomocou regularnych vyrazov. Pri praci so zdrojovymi textami vam viac pomoze:
- pouzivanie blokov (vyznacenie, kopia, presun, ulozenie do suboru)
- UNDO / REDO operacie
- rychle skratky na navigaciu textom (pohyb po slovach, znacky),
- priatelske dialogy pri ukladani
- hladanie vyrazov v texte (kde mam ten "format c: /u/q >nul")
- nastavovanie moznosti editora za behu (napr. pravy okraj,...)
- automaticke odsadzovanie (napr. pri *.c suboroch)
- klavesova skratka na hladanie opacnej zatvorky ( napr. {x=4;} ),
- editacia viacerych suborov naraz (kazdy je vo svojom "okne")
2. Efektivna praca v editore JOE
2.1. Co je efektivita ?
Efektivita v editore znamena co najucelnejsie pouzivat dane moznosti: po slovach sa hybe Ctrl+X a Ctrl+Z miesto tukania do sipky, nastavenie si odsadzovania (alebo pouzivanie klavesy TAB) miesto tukania do medzery, pouzivanie blokov miesto rucneho prepisovania,...
Efektivita znaci aj to, ze poznate spravanie sa programu (a nie ze predpokladate u neho take iste spravanie ako u inych programov).
Efektivita znaci aj to, ze poznate sposob, akym pracujete akurat vy - a ze ste ochotni tento sposob zmenit tak, aby ste pracovali lepsie (rychlejsie, robili menej chyb, vas produkt vyzeral krajsie,...), taktiez na zaklade poznania vlastneho sposobu prace si viete spravanie programu prisposobit.
Dolezite je, aby ste sa nebali naucit sa nove veci (to plati aj pre zivot, nielen pre JOE). Takze ked zistite, ze behanie po subore vam trva prilis dlho, je najvyssi cas naucit sa 'behat rychlejsie', bez ohladu na to, ze tukanie do sipky neboli, ale stlacanie nejakych divnych Ctrl kombinacii asi ano. :-)
2.2. Poznaj sam seba: pisanie zdrojovych textov
Pri programovani pouzivate editor specifickym sposobom - nepisete az tak vela, viacej opravujete (hlavne drobne syntakticke chyby), velmi vela sa hybete kurzorom po texte, obcas presuvate bloky textu (ale ak prepisujete blok textu 'rucne' po pismenku, tak to trva neumerne dlho).
Taktiez je VELMI dobrym zvykom ukladat editovany subor na disk CO NAJCASTEJSIE - nie raz sa stane, ze spojenie na server padne akurat ked editujete najdolezitejsi subor. Nahoda je blbec, ale JOE nie - v kazdom pripade 'stuhnutia' sa snazi vytvorit v danom adresari subor DEADJOE, ktory obsahuje to, co ste pisali. Ak vam padne viac suborov za sebou, mali by tam byt vsetky obsahy - ale je lepsie pouzivat ukladanie na disk, ako dufat, ze 'sa to zachrani'.
Caste ukladanie suboru sa vyplati napriklad aj vtedy, ak NAHODOU stisnete Ctrl+C a hned nato Y (obcas sa podari, ked pisete prirychlo a netriafate klavesnicu), nuz tak sa JOE vykasle na cely vas subor, ved ste mu to nakazali. "Save often" hovoria prognostici.
2.3. Klavesove skratky
Odporucam vam ucit sa klavesove skratky postupne - ak este nepoznate JOE, bude toho na vas na zaciatok urcite privela. Malo by vam stacit, ked budete studovat skratky tak, ako su v kapitolach - na kazdu kapitolu priblizne pol hodiny pisania nejakeho jednoducheho programu. Mysli sa tym pol hodiny pouzivania skratiek, lebo aj ked tych 5 skratiek v kapitole sa da zapametat za 3 minuty, treba ich dostat pod kozu - aby ste ich klepali automaticky, nie si vzdy spominali ako na to. (Aj ked Ctrl-H je vam k dispozicii.)
Vysvetlenie ku skratkam: Aj ked pismena v skratkach su velkym pismom, netreba stlacat SHIFT. Tiez napriklad Ctrl-KH znaci, ze drzite Ctrl, stlacite K, potom stlacite H. Je jedno, kedy pustite klavesu Ctrl, JOE skratku rozpozna.
2.3.1. Najpouzivanejsie skratky:
Minimalne nasledovne skratky treba poznat, aby ste boli schopni zakladnej
prace:
(pri niektorych uvadzam aj mnemotechnicku pomocku - familiarne vysvetlenie danej skratky)
Ctrl-KH - vyvolanie okna pre pomoc (Konecne Help) sipky - pohyb kurzorom PgUp - predchadzajuca strana PgDn - nasledujuca strana
Ctrl-KD - ulozenie suboru na disk, opyta sa na meno (Konec Delani) Ctrl-C - ukoncenie prace bez ulozenia suboru Ctrl-KX - ulozenie suboru a nasledne ukoncenie editora
Ctrl-Y - zmazanie celeho riadku Ctrl-D - zmaz znak na pozicii kurzora
Ctrl-A - skok na zaciatok riadku (A je prve v abecede) Ctrl-E - skok na koniec riadku (E ako End)
2.3.2. Dalsie skratky, ktore posluzia dobrej veci:
Praca s blokom textu (oznacenie, kopia, presun,...)
Ctrl-KB - oznacenie zaciatku bloku (od pozicie kurzora) Ctrl-KK - oznacenie konca bloku (po kurzor) Ctrl-KC - kopirovanie bloku - tam kde je kurzor Ctrl-KM - presun bloku Ctrl-KY - vymazanie bloku
(K ako bloK, B - begin, K-koniec, Copy, Move, Yes,erase (Yrase))
Pre zachranu nervov (a pre zachranu nahodne zmazanych riadkov) je dobre poznat UNDO a REDO. Tu je situacia troska zlozitejsia, kedze musite stiskat aj
SHIFT
naraz s CTRL:
UNDO, teda navrat o jednu operaciu dozadu, napr. ked si nahodou vymazete
riadok:
Ctrl-Shift-MINUS (klavesa '-') (mnemotechnika: Minus ako krok naspet)
REDO, teda po operacii UNDO znova spravi to, co ste cez UNDO odstranili: Ctrl-^ (^ je na klavese 6 alebo 7, podla toho za akou klavesnicou sedite) stiskate vlastne 3 klavesy: Ctrl, Shift, '6' (alebo '7'). (mnemotechnika ^ - sipka hore)
UNDO aj REDO maju historiu - teda dokazete sa vratit aj o viac krokov dozadu.
2.3.3. Skratky pre efektivnu editaciu zdrojoveho textu (Cshell, C):
Pohyb po texte:
Ctrl-A - skok na zaciatok riadku Ctrl-E - skok na koniec riadku Ctrl-KL - skok na konkretny riadok - JOE sa spyta na cislo riadku Ctrl-X - skok kurzorom na zaciatok nasledujuceho slova (dalsie slovo) Ctrl-Z - skok za koniec slova na ktorom je kurzor (predchadzajuce slovo) (nemotechnika: Z a X funguju akoby to boli sipky vlavo a vpravo)
Ctrl-G - skok na zodpovedajucu zatvorku (citajte dalej)
Tato skratka je specialne pre vyhladavanie 'parovych' zatvoriek v zdrojovych textoch - normalne zatvorky pre funkcie, napr. sqrt(123), ale tiez pre zlozene zatvorky blokov {int a; a=5;} a aj hranate zatvorky napr.polia: pole[123+b]. Postavite sa kurzorom na jednu zatvorku a po stisnuti Ctrl-G sa kurzor premiestni na zodpovedajucu druhu zatvorku. Pekne je, ze to pracuje aj pri vnorenom kode - a prave v tom je sila jdnoduchej skratky - da sa rychlo dostat na logicky zodpovedajuce miesto, bez toho, aby ste ho hladali rucne.
Ctrl-KF - hladaj retazec Ctrl-L - hladaj nasledujuci vyskyt retazca (po Ctrl-KF)
Ctrl-W - zmaz slovo od kurzora doprava ---> Ctrl-O - zmaz slovo od kurzora dolava