.TH JOE 1 .SH NÉV joe \- Joe saját szövegszerkesztője .SH ÁTTEKINTÉS .B joe [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]... .B jstar [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]... .B jmacs [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]... .B rjoe [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]... .B jpico [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]... .SH LEÍRÁS A JOE erőteljes, képernyőorientált ASCII-editor. Felhasználói felülete hasonlít sok felhasználóbarát PC-s szövegszerkesztőhöz. A Micro-Pro-féle WordStar vagy a Borland "Turbo"-nyelveinek felhasználói otthonosan fognak mozogni benne. A JOE mégis jellegzetes UNIX-os képernyőorientált editor, és legfőképpen programok és szövegek szerkesztésére alkalmas. .PP A JOE számos más szövegszerkesztőt is emulál. A JSTAR a WordStar hű utánzata sok JOE-funkcióval kiegészítve. A JPICO a Pine levelező rendszer PICO editorának hű utánzata sok kiegészítéssel és javítással. A JMACS a GNU-EMACS utánzata. Az RJOE a JOE korlátozott változata, amely csak a parancssorban megadott fájlt engedi szerkeszteni. .PP Bár a JOE valójában öt különböző szövegszerkesztő, csak egy futtatható fájlra van szükség, de öt különböző néven. A szövegszerkesztő neve kiegészítve "rc"-vel adja a JOE inicializációs fájljának nevét, ami meghatározza a szövegszerkesztő személyiségét. .PP A JOE szabad szoftver; szabadon terjeszthető és/vagy módosítható a GNU General Public License feltételeivel, amiket a Free Software Foundation tett közzé. Nem tervezem, hogy a JOE-t kereskedelmi szoftverré vagy shareware-ré változtassam. A JOE elérhető az Interneten anonymous-ftp-vel az \fBftp.std.com\fR címről, a fájl útvonala: \fBsrc/editors/joe*.tar.Z\fR. .SH HASZNÁLAT A szövegszerkesztő indításához gépeld be, hogy \fBjoe\fR, azután a szerkeszteni kívánt nulla vagy több fájl nevét. Mindegyik fájlnevet megelőzheti a lokális kapcsolók beállítása (lásd a lokális kapcsolók táblázatát lejjebb). Más, globális kapcsolókat, melyek az egész editorra érvényesek, szintén a parancssorban lehet elhelyezni (lásd a globális kapcsolók táblázatát lejjebb). Ha új fájlt szerkesztesz, az új fájl nevét megadhatod mind a szövegszerkesztő indításakor, mind a fájl elmentésekor. A fájlnevek módosított szintaxisa lehetőséget nyújt programok kimenetének, a szabványos bemenetnek és kimenetnek, illetve fájlok vagy eszközök részeinek szerkesztéséhez. A részleteket lásd lent a \fBFájlnevek\fR fejezetnél. .PP Ha már a szövegszerkesztőben vagy, szöveget gépelhetsz be, és speciális vezérlőkarakter-szekvenciákat használhatsz más szerkesztő feladatok elvégzéséhez. Hogy megtudd, mik a vezérlőkarakter-szekvenciák, olvasd el a manoldal maradék részét, vagy nyomj \fB^K H\fR-t a súgóhoz a szövegszerkesztőben. .SS Most következzen egy kis zavaros számítógép-tudomány: A \fB^\fR azt jelenti, hogy a \fBControl\fR billentyűt lenyomva kell tartani az utána következő billentyű lenyomása alatt (ugyanúgy, ahogy a \fBShift\fR-et a nagybetűkhöz). Számos vezérlőkarakter-szekvencia elérhető más billentyűvel, így nem kell lenyomni a Control billentyűt: Az \fBESC\fR a \fB^[\fR-et, a \fBDel\fR a \fB^?\fR-et, a \fBBackspace\fR a \fB^H\fR-t, a \fBTab\fR a \fB^I\fR-t, a \fBReturn\fR vagy az \fBEnter\fR a \fB^M\fR-et, a \fBLinefeed\fR a \fB^J\fR-t helyettesíti. Némely billentyűzetnél gondot okoz néhány vezérlőkarakter-szekvencia. A \fB^_\fR-t, \fB^^\fR-t és a \fB^@\fR-ot általában a Shift lenyomása nélkül is be lehet írni (azaz próbáld ki a \fB^-\fR -et, a \fB^6\fR-ot és a \fB^2\fR-őt). Más billentyűzeten ezek máshol lehetnek. Próbáld ki a \fB^.\fR-ot, a \fB^,\fR-őt és a \fB^/\fR-et. A \fB^SZÓKÖZ\fR általában a \fB^@\fR helyett használható. A \fB^\\\fR-t és a \fB^]\fR-et sok kommunikációs program értelmezi, például a telnet és a kermit. Általában kétszer kell megnyomni ezeket a billentyűket, hogy átjussanak a kommunikációs programon. Amikor \fB^K H\fR-t nyomsz, a képernyő tetején megjelenik az első súgóablak. Amíg a súgóablak a képernyőn van, folytathatod a szöveg bevitelét és szerkesztését. Más témához lapozhatsz, ha ^[,-t és ^[.-ot nyomsz (ez az ESC , és az ESC .). A súgóablak eltüntetéséhez használd a \fB^K H\fR-t. Testre szabhatod a billentyűzetkiosztást, a súgóképernyőt és számos alapviselkedést, ha a JOE inicializációs fájlját (Debianon a \fB/etc/joe/joerc\fR) \fB.joerc\fR néven a home-könyvtáradba másolod, és módosítod. Lásd lent a \fBjoerc\fR fejezetet. Ha alapértelmezett editorként a JOE-t akarod használni e-mailhez és newsolvasáshoz, állítsd be az \fBEDITOR\fR és a \fBVISUAL\fR környezeti változókat a shelled inicializációs fájljában (\fB.cshrc\fR vagy \fB.profile\fR), hogy a JOE-ra hivatkozzanak (\fB/usr/bin/joe\fR Debianon). Számos homályos indítási paraméter beállítására lehet még szükség, főleg akkor, ha a terminálod nem úgy frissíti a képernyőt, ahogy elvárnád. Lásd lent a \fBKörnyezeti változók\fR fejezetet. .SH OPCIÓK A következő globális kapcsolókat lehet megadni a parancssorban: .IP -asis Az ASCII 127 feletti karakterek úgy kerülnek ki a terminálra, ahogy vannak, ahelyett, hogy a nekik megfelelő 128 alatti karakter inverze jelenne meg. Ha ez nem működik, ellenőrizd a terminálbeállításodat. .IP -backpath\ útvonal Ha ez a kapcsoló meg van adva, nem a fájlok eredeti alkönyvtárába menti el a backupfájlokat, hanem a kapcsoló után állóba. .IP -baud\ nnn Beállítja a baud-értéket a terminálképernyő optimalizálására. A Joe 19200-as alatti baud-értékeken késleltet, ami kikerüli a tty-pufferelést, így az előregépelés megszakítja a képernyőkimenetet. A görgető parancsokat nem használja 38400 baudon. Ez azon X-termináloknál és más konzol-tty-knél hasznos, amelyek nem soros vonalon mennek át. .IP -beep A Joe hangjelzést ad a parancsok közben fellépő hibáknál, és amikor a kurzor fájlhatáron túl akar menni. .IP -columns\ nnn Beállítja a képernyő oszlopainak számát. .IP -csmode Folytatólagos kereső mód: egy a megelőzőt azonnal követő keresés nem kérdez rá új karakterláncra, hanem az előző keresést ismétli meg. Ez hasznos a ^[S és az ^[R parancsok használatánál, és amikor a Joe Emacs-módban van. .IP -dopadding A Joe általában feltételez valamilyen flow control meglétét közötte és a tty között. Ha nincsen, akkor a kapcsoló hatására a Joe extra ^@-okat küld a tty-re, ahogy a termcap-bejegyzés előírja. Az extra ^@-ok megengedik, hogy a hosszú terminálparancsok után a terminál felfüggessze magát. .IP -exask A kapcsoló hatására a ^KX rákérdez az elmentendő fájl nevére ellenőrzésképpen. .IP -force Ez a kapcsoló biztosítja, hogy az elmentett fálj utolsó sorát soremelés zárja le. .IP -help A szövegszerkesztő a súgóképernyővel indul, ha ez a kapcsoló meg van adva. .IP -keepup A státuszsor oszlopszám- és vezérlőbillentyűprefix-mezői általában másodpercenként frissítődnek, hogy csökkenjen a CPU-fogyasztás. Ezzel a kapcsolóval ezek a mezők minden gombnyomás után frissítődnek. .IP -lightoff A blokk-kijelölés megszűnik bármely blokkművelet után, ha ez a kapcsoló meg van adva. .IP -lines\ nnn Beállítja a képernyő sorainak számát. .IP -marking A szöveg a ^KB és a kurzor között jelölődik ki (használd a -lightoff kapcsolóval együtt és módosítsd a joerc fájlt a drop-anchor stílusú blokk-kijelöléshez). .IP -mid Ha ez a kapcsoló be van kapcsolva, és a kurzor kimozog az ablakból, az ablak úgy gördül, hogy a kurzor középen legyen. Lassú terminálokon, amelyeknek nincsenek görgető parancsaik, a kapcsoló kényszerűségből be van kapcsolva. .IP -nobackups Ez a kapcsoló megakadályozza a backupfájlok készítését. .IP -nonotice Ez a kapcsoló megakadályozza, hogy a copyrightmegjegyzés megjelenjen a szövegszerkesztő indulásakor. .IP -nosta Ez a kapcsoló eltávolítja a felső státuszsort. Ez kellemes, ha csak a szöveget akarod látni a képernyőn, vagy ha vt52-es terminált használsz. .IP -noxon Megkísérli kikapcsolni a ^S/^Q billentyűk feldolgozását. Ez hasznos, ha a Joe WordStar- vagy Emacs-módban van. .IP -orphan Ha ez a kapcsoló aktív, a parancssorban megadott extra fájlok nem külön ablakokba, hanem "árva" pufferekbe kerülnek. Ez hasznos, ha a Joe Emacs-módban van. .IP -pg\ nnn Meghatározza a PgUp/PgDn (^U/^V) után megtartandó sorok számát. Ha -1-et adsz meg, az ablak felét tartja meg. .IP -skiptop\ nnn Ne használja a képernyő legfelső nnn sorát. Ez hasznos, ha a Joe-t BBS-editorként használod. .LP Ezek a kapcsolók a joerc fájlban szintén beállíthatók. Továbbá a NOXON, BAUD, LINES, COLUMNS és DOPADDING kapcsolók környezeti változókban is megadhatók. A JOETERM környezeti változó beállítása hatástalanítja a szokásos TERM változót, és ebből állapítja meg a Joe a terminál típusát. A következő kapcsolókat minden egyes fájlnév előtt meg lehet adni a parancssorban: .IP +nnn A kurzor a megadott sorban áll kezdetben. .IP -crlf A Joe LF helyett CR-LF-et használ a sorvége jelzésére. Ez MS-DOS vagy VMS fájlok szerkesztésére használható. .IP -wordwrap A Joe a szó előtt sort tör, ha a jobb oldali margón túl gépelsz. .IP -autoindent Ha Returnt ütsz egy behúzott sorban, a behúzás átmásolódik az új sorra. .IP -overwrite A gépelés nem beszúr, hanem felülírja a korábbi karaktereket. .IP -lmargin\ nnn Beállítja a bal margót. .IP -rmargin\ nnn Beállítja a jobb margót. .IP -tab\ nnn Beállítja a tabulálás szélességét. .IP -indentc\ nnn Beállítja a behúzási karaktert a ^K, és ^K. számára (32 a SZÓKÖZ, 9 a TAB). .IP -istep\ nnn Beállítja a behúzás lépésközét a ^K, és ^K. számára. .IP -linums A sor számát megjeleníti minden sor elején. .IP -rdonly A fájl csak olvasható. .IP -keymap\ name A joerc fájl egy másik szekcióját használja a billentyűszekvenciák hozzárendelésére. .LP Ezek a kapcsolók a joerc fájlban is megadhatók. Beállíthatók a fájlnév kiterjesztésétől függően. Programoknál (.c, .h vagy .p kiterjesztésűek) általában lehetővé teszik a sorok automatikus behúzását. A sortörés engedélyezett minden fájlra, kivéve az rc-kre. .SH A SZERKESZTÉSI MUNKA .SS A szerkesztés alapjai Ha karaktereket gépelsz a szövegszerkesztőbe, azok általában a szerkesztendő fájlba szúródnak (vagy hozzáfűződnek a fájlhoz, ha a kurzor a fájl végén helyezkedik el). Ez az editor közönséges üzemmódja. Ha létező szöveget akarsz kicserélni, törölnöd kell a régit az új begépelése előtt vagy után. A \fBBackspace\fR billentyű használható a szöveg törléséhez: mozgasd a kurzort a törlendő szöveg jobb széléhez, és üsd le a \fBBackspace\fR-t néhányszor. .PP Sortörés beszúrásához üss \fBEnter\fR vagy \fBReturn\fR billentyűt. Például, ha a kurzor a sor közepén állt, és \fBReturn\fR-t ütöttél, a sor kettészakad, és a kurzor a második sor elejére kerül. Üss \fBBackspace\fR-t a sor elején a sortörés eltűntetéséhez. .PP A fájlban való mozgáshoz használd a kurzornyilakat. Ha a billentyűzeted nem tartalmazza ezeket (vagy valamilyen okból nem működnek), használd a \fB^F\fR-et az előre (jobbra), \fB^B\fR-et a hátra (balra), \fB^P\fR-t az előző sorba (felfelé) és \fB^N\fR-t a következő sorba (lefelé) való mozgáshoz. A jobb és bal nyíl egyszerre egy karakterpozícióval mozgatja a kurzort előre vagy hátra a szövegben: ha sor elején állsz, és megnyomod a bal nyílat, az előző sor végére kerülsz. A felfelé- és lefelényíl annyi karakterpozícióval mozgatja előre és hátra a kurzort, hogy ugyanabba az oszlopba kerüljön, mint ahol az eredeti sorban volt. .PP Ha be akarod húzni a sort, használd a \fBTAB\fR billentyűt. Ez speciális vezérlő karaktert helyez el, ami gondoskodik arról, hogy az őt követő karakterek a következő tabulátorpozíción kezdődjenek. A tabulátorpozíciók általában minden nyolcadik oszlopban találhatók, de ez megváltoztatható a \fB^T D\fR paranccsal. A PASCAL- és C-programozók gyakran minden negyedikre állítják. .PP Ha valamilyen okból a képernyőd összekuszálódott (például figyelmeztetést kaptál a bifftől, hogy leveled jött), felfrissítheted a \fB^R\fR lenyomásával. .PP Sok más törlő és mozgató billentyű létezik még. Például a \fB^D\fR billentyű nem visszafelé töröl, mint a \fBBackspace\fR, hanem a kurzor alatti karaktert törli. A \fB^D\fR a sortörést is törli, ha a kurzor a sor végén áll. \fB^Y\fR-nal azt a sort törlöd, amin a kurzor áll, \fB^J\fR-vel pedig csak a kurzortól a sor végéig terjedő részt törlöd. .PP \fB^A\fR-val a kurzor az őt tartalmazó sor elejére ugrik. \fB^E\fR-vel a kurzor a sor végére ugrik. \fB^U\fR-val vagy \fB^V\fR-vel a képernyő méretének felével gördül a kurzor fel vagy le. A "gördülés" azt jelenti, hogy a szöveg elmozdul a képernyőn, de a kurzor ugyanazon a helyen marad a képernyőhöz viszonyítva. \fB^K U\fR-val vagy \fB^K V\fR-vel a kurzor a fájl elejére vagy végére ugrik. A szövegszerkesztő súgó képernyőin további törlő és mozgató parancsokat találsz. .PP Ha hibát vétettél, \fB^_\fR-sal vonhatod vissza. A legtöbb billentyűzeten elég a \fB^-\fR -et lenyomni, de némelyiken a \fBShift\fR és a \fBControl\fR billentyűket egyszerre kell lenyomva tartani. Ha túl sokat vontál vissza, \fB^^\fR billentyűvel "újracsinálhatod" a visszavont változtatásokat (elég \fB^6\fR-ot nyomni bizonyos billentyűzeteken). .PP Ha a fájl egy bizonyos részét szerkesztetted, és azután időlegesen megnézted vagy szerkesztetted a fájl egy másik részét, \fB^K -\fR -szal visszatérhetsz az eredeti helyre. Ez a parancs valójában a fájl azon részére visz vissza, ahol a legutolsó változtatás történt. A helyek között, ahol korábban változtatás történt, \fB^K -\fR -szal és \fB^K =\fR-vel lehet lépkedni, ugyanúgy, ahogy a változások történetében visszavonással és "újracsinálással". .PP Ha befejezted a fájl szerkesztését, \fB^K X\fR-szel léphetsz ki a szövegszerkesztőből. Ha még nem nevezted el a szerkesztett fájlt, akkor a Joe rákérdez a nevére. .PP Amikor szerkesztesz egy fájlt, valójában csak egy másolatát szerkeszted. Ezért, ha úgy döntöttél, hogy nem szeretnéd a a legutóbbi időszak változtatásait eszközölni a fájlra, üss \fB^C\fR-t, hogy a fájl elmentése nélkül lépj ki. .PP Ha szerkesztesz egy fájlt, és elmented a változásait, az aktuális könyvtárban egy "backup" másolat készül róla, aminek a neve az eredeti fájl kiegészítve egy '~' karakterrel. .SS Sortörés és formázás Ha egy C vagy PASCAL nyelvű fájlban a képernyő jobb szegélyén túl gépelsz, a képernyő jobbra gördül követve a kurzort. Ha egy közönséges fájlban (aminek a neve nem .c-re, .h-ra vagy .p-re végződik) gépelsz túl a jobb szegélyen, a JOE az utolsó szó előtt automatikusan megtöri a sort, így nem kell \fBReturn\fR-t ütnöd. Ez az úgynevezett sortörő (word-wrap) üzemmód. A sortörés be- vagy kikapcsolható \fB^T W\fR paranccsal. A JOE inicializációs fájlja általában úgy van beállítva, hogy ez a mód minden fájlra, ami nem programfájl, automatikusan be van kapcsolva. Az alapbeállítások megváltoztatásához lásd lent a \fBjoerc\fR fájlra vonatkozó fejezetet. .PP Eltekintve a sortörő módtól, a JOE nem tartja automatikusan megformázva a bekezdéseket úgy, mint némely szövegszerkesztő. Ehelyett, ha újra akarsz formázni egy bekezdést, nyomj \fB^K J\fR-t. Ez a parancs kitölti a bekezdést, amiben a kurzor áll, annyi szót illeszt egy sorba, amennyi elfér. Ebben az esetben bekezdésnek az a szövegrész számít, amit felül és alul üres sor határol. .PP A bekezdésformázás és a sortörés margóit a \fB^T L\fR és a \fB^T R\fR parancsokkal lehet beállítani. Ha a bal margó 1-től különböző értékre van állítva, a sor elején történő gépeléskor azonnal a bal margóra ugrik a kurzor. .PP Ha a margók között középre szeretnéd helyezni a sort, használd a \fB^K A\fR parancsot. .SS Felülíró üzemmód Néha fárasztó, ha törölni kell a régi szöveget, mielőtt vagy miután beszúrtad az újat. Ez történik például akkor, ha egy táblázatot módosítasz, és szeretnéd, hogy a táblázat jobb széle ugyanabban az oszlopban maradjon. Ilyenkor \fB^T T\fR-vel átválthatsz felülíró üzemmódba. Amikor a szövegszerkesztő ebben a módban van, a már létező karakterek az általad begépeltekre cserélődnek úgy, ahogy egy idealizált írógép működne. A \fBBackspace\fR pedig balra törlés helyett csupán balra mozgatja a kurzort, ha nem a sor elején vagy végén áll. A felülíró mód az elektronikus szövegszerkesztésben nem természetes mód, ezért amilyen hamar csak lehet, vissza kell térni beszúró módba a \fB^T T\fR lenyomásával. .PP Ha felülíró módban szeretnél beszúrni, üss \fB^@\fR-ot. Ez egyetlen szóközt szúr be a szövegbe. .SS Vezérlő és metakarakterek Minden karaktert egy szám reprezentál. Például az 'A'-t 65, az '1'-et 49. Minden általában látható karakter értéke a 32 - 126 intervallumba esik (ezt a különös, önkényes, karakterről számra történő leképezést ASCII-karakterkészletnek hívják). Az intervallumon kívül eső számok 0-tól 255-ig általában nem jelenítődnek meg, de néha egyéb különleges jelentésük van. A 10-es szám például a sorvéget jelenti. Ezeket a különleges, nem megjeleníthető \fBvezérlő karaktereket\fR úgy viheted be, hogy megnyomod a \fB`\fR-ot, majd a \fB@ A B C ... X Y Z [ ^ ] \e _\fR valamelyikét a 0 - 31-ig terjedő kódokhoz és ?-et a 127-es kódhoz. Például a \fB` J\fR lenyomásával sorvége karaktert szúrhatsz be, \fB` I\fR-vel pedig TAB-ot (amely ugyanazt csinálja, mint a TAB billentyű). Hasznos vezérlőkarakter a 12-es (\fB` L\fR), melynek hatására a legtöbb nyomtató előre halad a lap tetejéig. Észre fogod venni, hogy a JOE ezt a karaktert aláhúzott L-ként jeleníti meg. A 127 feletti karaktereket, a \fBmetakaraktereket\fR, a \fB^\e\fR lenyomásával viheted be. Ez 128-at ad hozzá a következő bevitt (esetleg vezérlő) karakterhez. A JOE a 128 feletti karaktereket inverzen jeleníti meg. Egyes nyelvek, melyek több betűvel rendelkeznek, mint az angol, a metakaraktereket használják az ábécé maradék részére. Át kell váltanod \fBASIS\fR-módra (lásd később), hogy ezek háborítatlanul eljussanak a terminálig. .SS Promptok Ha a Joe egy prompttal fájlnévre kérdez rá, és megnyomod a \fBTAB\fR-ot, megpróbálja azt kiegészíteni az általad beírt névből, amennyire lehetséges. Ha nem tudja a teljes névre kiegészíteni, mert több megoldás is létezik, hangjelzést ad. Ha megint megnyomod a \fBTAB\fR-ot, a Joe kilistázza az összes lehetséges kiegészítést. A kurzornyilakkal mozoghatsz az alkönyvtármenüben, és RETURN-nel vagy SZÓKÖZ-zel választhatsz ki egy elemet. Ha egy könyvtárbejegyzés első betűjét lenyomod, kiválasztódik, vagy ha több bejegyzés is azonos betűvel kezdődik, akkor a kurzor ezen bejegyzések között ugrál. Ha alkönyvtárat vagy a ..-t választod, a fájlnévprompt kiegészül az alkönyvtár nevével, és az új alkönyvtár betöltődik a menübe. Backspace-szel visszatérhetsz az előző alkönyvtárba. .PP A legtöbb prompt rögzíti az általad adott válaszok történetét. Felfelé- és lefelényíllal lépkedhetsz a történetben. .PP A promptok valójában egy soros, státuszsor nélküli ablakok, így a promptokon belül bármelyik szokásos szerkesztő parancsot használhatod. A prompt története pedig nem más, mint ugyanannak a "promptfájlnak" a sorai. Így a megszokott \fB^K F\fR paranccsal kereshetsz benne visszafelé. .PP Mivel a promptok ablakok, ezért \fB^K P\fR-vel és \fB^K N\fR-nel átválthatsz belőlük másik ablakba. .SS Hol vagyok? \fB^K SZÓKÖZ\fR-re a JOE beszámol a képernyő utolsó sorában a sor-, oszlop- és byte-számról. A kurzor alatti karakterhez rendelt szám (az ASCII-kódja) is megjelenik. A státuszsor-karakterláncban elhelyezett megfelelő escape-szekvenciákkal beállíthatod, hogy a sor- és/vagy oszlopszám mindig megjelenjen a státuszsorban. A részletekhez módosítsd a joerc fájlt. .SS Fájlműveletek \fB^K D\fR-vel mentheted el az aktuális fájlt (lehet a fájl eredeti nevétől különböző néven is). Miután elmentetted a fájlt, \fB^K E\fR-vel egy másik fájl szerkesztését kezdheted meg. .PP Ha csak a fájl egy kijelölt szakaszát szeretnéd elmenteni, lásd a \fBBlokkok\fR fejezetet lent. .PP Ha a szerkesztett fájlba egy másik fájlt szeretnél beemelni, használd a \fB^K R\fR-t a beszúrásra. .SS A szövegszerkesztő működésének ideiglenes felfüggesztése Ha szeretnéd ideiglenesen leállítani a szövegszerkesztőt, és szeretnél visszatérni a shellbe, üss \fB^K Z\fR-t. Akkor lehet erre szükség, ha abba akarod hagyni a szöveg szerkesztését, és például válaszolni akarsz egy e-mailre, vagy el akarod olvasni ezt a manoldalt. \fBfg\fR vagy \fBexit\fR begépelésével (a felfüggesztéskor közli veled a Joe, melyikkel) térhetsz vissza a szövegszerkesztőhöz. .SS Szövegkeresés \fB^K F\fR-fel előre vagy hátrafelé kereshetsz szövegtöredéket (\fBkarakterláncot\fR). A keresendő szót a megjelenő prompt után kell beírni. Miután \fBReturn\fR-t nyomtál, újabb prompt jelenik meg. Nyomhatsz megint egyszerűen \fBReturn\fR-t az azonnali előre történő kereséshez, vagy megadhatsz egy vagy több kapcsolót: .IP \fBb Hátrafelé keres. .IP \fBi A kis- és nagybetűket egyformaként kezeli. Egyébként pedig különbözőnek tekinti őket. .IP \fBnnn (ahol \fBnnn\fR szám) Ha megadsz egy számot, a JOE a szöveg N-edik előfordulását keresi meg. Ez hasznos, ha valamilyen reguláris módon strukturált fájlokban szeretnél egy bizonyos helyre ugrani. .IP \fBr Kicseréli a szöveget. Ha megadod az \fBr\fR kapcsolót, a Joe rákérdez a helyettesítő szövegre. Minden egyes alkalommal, amikor a szövegszerkesztő megtalálja a keresendő szöveget, megkérdezi, hogy le akarod-e cserélni a helyettesítő szövegre. Ha \fBy\fR-t nyomsz, lecseréli a szöveget, és megkeresi a következő előfordulást, ha \fBn\fR-et nyomsz, nem cserél, csak a következő előfordulást keresi meg, ha \fBr\fR-t nyomsz, kérdés nélkül lecseréli a maradék összes előfordulást a fájlban (alávetve a fenti \fBnnn\fR kapcsolónak), ha pedig \fB^C\fR-t nyomsz, leáll a keresés. .PP \fB^L\fR-el megismételheted az előző keresést. .SS Reguláris kifejezések Számos különleges karaktersorozatot vihetsz be keresendő szövegként: .IP \fB\e* Nulla vagy több karaktert talál meg. Például, ha \fBA\e*B\fR-t adsz meg keresendő szövegnek, a JOE olyan A-t fog keresni, amit akárhány karakter követ, azután pedig egy B. .IP \fB\e? Pontosan egy karaktert talál meg. Például, ha \fBA\e?B\fR-t adsz meg keresendő szövegnek, a JOE megtalálja AXB-t, de nem találja meg AB-t vagy AXXB-t. .IP \fB\e^\ \e$ Ezek egy sor elejére és végére illeszkednek. Például, ha \fB\e^teszt\e$\fR-et keresel, a JOE a sorban önmagában álló \fBteszt\fR-et találja meg. .IP \fB\e<\ \e> Ezek egy szó elejére és végére illeszkednek. Például, ha \fB\e<\e*is\e*\e>\fR-at keresel, a JOE megtalálja azt az egész szót, amely tartalmazza az \fBis\fR részkarakterláncot. .IP \fB\e[...] A szögletes zárójelek között álló bármelyik karakterre illeszkedik. Például, ha a \fB\e[Ee]zt\fR keresendő karakterláncot adod meg, a JOE egyaránt megtalálja az \fBEzt\fR és az \fBezt\fR szavakat. A zárójelek között karaktertartományt is megadhatsz. Például a \fB\e[A-Z]\fR megtalálja az összes nagybetűt. Ha a zárójelek között az első karakter \fB^\fR, a JOE azokat a karaktereket fogja keresni, amelyek nincsenek a zárójelben. .IP \fB\ec Hasonlóan működik, mint a \fB\e*\fR, de csak helyesen zárójelezett C-nyelvű kifejezésekre illeszkedik. Például, ha \fBmalloc(\ec)\fR szót keresed, a JOE minden \fBmalloc\fR függvényhívást megtalál még akkor is, ha \fB)\fR van a zárójelek között. .IP \fB\e+ A \fB\e+\fR-t követő karakterből nullát vagy többet talál meg. Például, ha a \fB\e[ ]\e+\e[ ]\fR karakterláncot keresed, ahol a szögletes zárójelek között SZÓKÖZ és TAB áll, a JOE a whitespace-eket találja meg. .IP \fB\e\e Egyetlen \e-re illeszkedik. .IP \fB\en A speciális sorvége vagy újsor karaktert találja meg. .PP Számos különleges karaktersorozatot adhatsz meg a helyettesítő karakterláncban is: .IP \fB\e& A kereső karakterláncra illeszkedő szöveggel helyettesít. Például, ha a kereső karakterlánc \fB\e<\e*\e>\fR volt, ami szavakra illeszkedik, és \fB"\e&"\fR a helyettesítő karakterlánc, a JOE idézőjelbe rakja a szavakat. .IP \fB\e0\ -\ \e9 Az N-edik \fB\e*\fR-ra, \fB\e?\fR-re, \fB\e+\fR-ra, \fB\ec\fR-re vagy \fB\e[...]\fR-re illeszkedő szöveggel helyettesít. .IP \fB\e\e Használd ezt, ha \fB\e\fR-t akarsz tenni a helyettesítő karakterláncba. .IP \fB\en Használd ezt, ha sorvége jelet akarsz tenni a helyettesítő karakterláncba. .PP .SH PÉLDÁK Tegyük fel, hogy van egy címlistád, mindegyik cím külön sorban van, mindegyik sor "Cím:"-tal kezdődik és az elemeket vessző határolja, így: .PP Cím: S. Holmes, 221b Baker St., London, Anglia .PP Ha újra akarod rendezni a listát úgy, hogy elöl legyen az ország, utána a város, azután a személy neve, majd a cím, ez a teendő: .PP \fB^K F\fR-fel kezdd el a keresést, és gépeld be: .PP \fBCím:\e*,\e*,\e*,\e*\e$\fR .PP hogy illeszkedjen a "Cím:"-ra, a négy vesszővel elválasztott elemre és a sor végére. A kapcsolókhoz írj \fBr\fR-t a cseréhez, azután gépeld be: .PP \fBCím:\e3,\e2,\e0,\e1\fR .PP hogy az általad kívánt módon megkeverd az információt. Miután Returnt nyomtál, a keresés elkezdődik, és a példasor így módosul: .PP Cím: Anglia, London, S. Holmes, 221b Baker St. .SS Blokkok Ha a szöveg bizonyos részeit mozgatni, másolni, elmenteni vagy törölni akarod, ezt kijelölt blokkokkal teheted meg. Először vidd a kurzort a kívánt szövegrész elejére, és nyomj \fB^K B\fR-t. Azután vidd a kurzort a szövegrész vége utáni karakterre, és nyomj \fB^K K\fR-t. A \fB^K B\fR és \fB^K K\fR közötti szöveg kijelölődik. Most viheted a kurzort valahova máshova a dokumentumban, és nyomj \fB^K M\fR-t, hogy oda mozogjon a kijelölt szöveg. \fB^K C\fR-vel a kijelölt szövegről másolatot készíthetsz, és beszúrhatod oda, ahol a kurzor áll. \fB^K Y\fR törli a kijelölt szöveget. \fB^K W\fR a kijelölt szöveget fájlba írja. .PP Nagyon hasznos parancs a \fB^K /\fR, amely Unix-parancson szűr át szövegblokkot. Például, ha \fB^K B\fR-vel és \fB^K K\fR-val szavak listáját jelölöd ki, és a \fB^K / sort\fR parancsot gépeled be, a szólista rendezetté válik. A \fB^K /\fR parancshoz másik hasznos Unix-parancs a \fBtr\fR. Ha begépeled a \fB^K / tr a-z A-Z\fR parancsokat, akkor a kijelölt blokk összes betűjéből nagybetű lesz. .PP Miután befejezted a blokkműveletet, ha nem zavar, hagyhatod a blokkot kijelölve (persze, ha véletlenül lenyomod a \fB^K Y\fR-t, anélkül, hogy észrevennéd...). Ha mégis zavar, csak üss \fB^K B ^K K\fR-t a kijelölés kikapcsolásához. .SS Programblokkok behúzása A \fB^T I\fR paranccsal lehet be-, illetve kikapcsolni az automatikus behúzó üzemmódot. A \fBjoerc\fR úgy van beállítva, hogy a .p, .c vagy .h végű fájlokra engedélyezve van az automatikus behúzás. Ha az automatikus behúzás be van kapcsolva, és \fBReturn\fR-t ütsz, a kurzor ugyanabba az oszlopba kerül, ahol az első nem SZÓKÖZ/TAB karakter volt az eredeti sorban. .PP A \fB^K ,\fR és \fB^K .\fR parancsok használatával balra vagy jobbra tolhatsz egy szövegblokkot. Ha nincs kijelölve szöveg, amikor kiadod ezeket a parancsokat, a kurzort tartalmazó programblokk fog kiválasztódni és mozogni a későbbi \fB^K ,\fR és \fB^K .\fR parancsokra. Az eltolás oszlopainak száma beállítható a \fB^T\fR billentyúvel. .SS Ablakok Egyszerre több fájlt is szerkeszthetsz, vagy szerkesztheted ugyanazt a fájlt kettő vagy több különböző helyen. Ehhez nyomj \fB^K O\fR-t, ekkor két ablakra oszlik a képernyő. \fB^K P\fR-vel vagy \fB^K N\fR-nel viheted át a kurzort a felső vagy az alsó ablakba. \fB^K E\fR-vel szerkeszthetsz új fájlt az egyik ablakban. Az ablak eltűnik, ha \fB^K X\fR-szel elmented a fájlt, vagy \fB^C\fR-vel kilépsz a fájlból. Ha olyan fájlból lépsz ki, amely két ablakban is jelen van, a fájl nem tűnik el, csak az egyik ablaka. .PP \fB^K O\fR-val nyithatsz ablakon belül még több ablakot. Ha túl sok ablakod van a képernyőn, de nem akarod eltávolítani őket, nyomj \fB^K I\fR-t. Így csak az az ablak fog látszani, amelyben a kurzor van, vagy ha kezdetben is csak egy ablak látszódott, a JOE megkísérli beilleszteni az összes rejtett ablakot. Ha több ablak van, mint amennyit el lehet helyezni a képernyőn, a legalsó ablakból \fB^K N\fR-nel, a legfelsőből \fB^K P\fR-vel érheted el azokat. .PP Ha több fájlnevet adtál meg a JOE indításakor a parancssorban, mindegyik fájl külön ablakba kerül. .PP Az ablakok magasságát a \fB^K G\fR és \fB^K T\fR parancsokkal állíthatod. .SS Billentyűzetmakrók A makrók lehetővé teszik, hogy billentyűleütések sorozatát rögzítsed, és két billentyű lenyomásával visszajátszd őket. Ez ismétlődő feladatok automatizálására használható. A makrórögzítés elindításához nyomj \fB^K [\fR-et, azután egy számot 0-tól 9-ig. A státuszsorban megjelenik a (Macro n recording...) [n-dik makró rögzítése] felirat. Most gépeld be azt a billentyűsorozatot, amit szeretnél ismételten végrehajtani. A begépelt parancsok hatása most is a szokásos. \fB^K ]\fR-lel állítsd le a makró rögzítését. \fB^K\fR lenyomása után a rögzített makró számával hajthatod végre a billentyűsorozatot. .PP Például, ha "**"-ot szeretnél néhány sor elejére tenni, gépeld be: .PP \fB^K [ ^A ** \fR \fB^K ]\fR .PP ami elindítja a makrórögzítést, a sor elejére teszi a kurzort, beszúrja a "**"-ot, egy sorral lejjebb viszi a kurzort, és befejezi a rögzítést. Mivel a rögzített billentyűlenyomások hatására a kurzor a következő sorba kerül, a makrót ismételten használhatjuk anélkül, hogy nekünk mozgatni kellene a kurzort, ezt tartsuk szem előtt minden makrórögzítésnél. .PP Ha úgy találod, hogy a rögzített makró ismétlődő billentyűleütéseket tartalmaz, a makrón belül rögzíthetsz másik makrót, feltéve, hogy különböző makrószámot használsz. Az előzőleg rögzített makrókat is futtathatod az új makrón belül. .SS Ismétlés Az ismétlés paranccsal, \fB^K \e\fR-sel a kívánt alkalommal megismételhetsz makrót, bármely más szerkesztő parancsot vagy akár egy közönséges karaktert. Nyomj \fB^K \e\fR-t, gépeld be, hogy hányszor akarod ismételni a parancsot, és nyomd meg a \fBReturn\fR-t. Most a következő általad megadott szerkesztő parancsot ennyiszer fogja ismételni. .PP Például a szöveg következő 20 sorának törléséhez gépeld be: .PP \fB^K \ 20\fR\fB^Y\fR .SS Téglalap-kijelölő üzemmód \fB^T X\fR-re a \fB^K B\fR és \fB^K K\fR parancsok nem szövegfolyamot, hanem téglalapblokkot jelölnek ki. Ez az üzemmód a szöveg oszlopainak mozgatására, másolására, törlésére vagy elmentésére használható. Az oszlopokat szűrheted is a \fB^K /\fR paranccsal - ha például rendezni akarod őket. A fájl beszúrása parancsra, a \fB^K R\fR-re is hatással van. .PP A téglalap-kijelölő móddal együtt használva hasznos a felülíró mód (\fB^T T\fR). Felülíró módban a téglalap nem a régi szöveg elé szúródik be, hanem a helyére kerül. A blokktörlő parancs (\fB^K Y\fR) sem törli a kijelölt téglalapot, hanem SZÓKÖZ-ökkel és TAB-okkal írja felül. A felülíró mód különösen hasznos a blokkszűrő parancs (\fB^K /\fR) használatánál, mivel megmarad a kijelölt oszlop eredeti szélessége. .SS Tagek keresése Ha sok forrásfájlból álló nagy C programot szerkesztesz, a \fBctags\fR programmal \fBtags\fR fájlt hozhatsz létre. Ez a fájl tartalmazza a program szimbólumainak listáját, és hogy melyik fájlban és melyik pozíción definiálták őket. A \fB^K ;\fR parancs megkeresi a szimbólumot (függvényeket, definiált konstansokat stb.), betölti az aktuális ablakba a fájlt, amely tartalmazza a szimbólum definícióját, és a kurzort a definícióhoz viszi. A \fB^K ;\fR rákérdez a kívánt szimbólumra, de azt a szimbólumot használja alapértékként, amin a kurzor állt. Mivel a \fB^K ;\fR parancs az aktuális ablakba tölti be a definíciós fájlt, érdemes előtte \fB^K O\fR-val ketté osztani az ablakot, hogy egyszerre látszódjon az eredeti és a definíciós fájl. .SS Shellablakok \fB^K '\fR-fal futtathatsz shellparancsot egy JOE-ablakban. Ha a kurzor a shellablak végén áll (ha nem, használj \fB^K V\fR-t), bármit írsz, az az ablak helyett a shellnek adódik át. A shell vagy a shellben végrehajtott parancsok kimenete hozzáadódik a shellablakhoz (a kurzor követni fogja ezt a kimenetet, ha a shellablak végén áll). Ez a parancs shellparancsok eredményének - például a \fBmake\fR kimenetének, egy karakterlánc fájlhalmazból való ki-\fBgrep\fR-pelése vagy egy \fBFTP\fR-kapcsolat alkönyvtárlistája eredményének rögzítésére használható. Amellett a begépelhető karakterek, a ^C, a Backspace, a DEL, a Return és a ^D billentyűk adódnak át a shellnek. Írd be az \fBexit\fR parancsot a shellkimenet rögzítésének leállításához. Ha \fB^C\fR-t nyomsz a shellablakban, amikor a kurzor nem az ablak végén van, a shellre végrehajtódik a \fBkill\fR parancs.. .SH KÖRNYEZETI VÁLTOZÓK Ahhoz, hogy a JOE helyesen működjön, számos más környezeti beállításnak helyesnek kell lennie. A számítógép és a terminálod közötti kapcsolat minőségét (baud-értékét) helyesen kell beállítani, hogy a JOE egyenletesen frissítse a képernyőt, és engedélyezze, hogy az előregépelés késleltesse a a képernyő frissítését. Ennek beállítására használd az \fBstty nnn\fR parancsot. Olyan közel kell állítani a kapcsolat valódi minőségéhez, amennyire csak lehet. Például, ha 1200 baudos modemmel csatlakozol, ezt az értéket kell az \fBstty\fR-nek megadni. Ha 14.4k-s modemmel csatlakozol, de a terminálszerver, ahová csatlakoztál, 9600 bauddal csatlakozik a számítógéphez, a sebességet 9600 baudra kell állítani. A 38400-as vagy \fBextb\fR speciális baud-értéket a nagyon nagy sebességű kapcsolat jelzésére használják, úgymint memory mapped konzol vagy X-window terminálemulátor. Ha nem tudod az \fBstty\fR-nal beállítani a valódi átviteli minőséget (talán mert a modem különböző értéken kommunikál a számítógéppel, mint amennyivel a telefonvonalon keresztül kommunikál), adhatsz helyette numerikus értéket a \fBBAUD\fR környezeti változónak (\fBsetenv BAUD 9600\fR-at használj csh-ban, \fBBAUD=9600; export BAUD\fR-ot sh-ban). .PP A \fBTERM\fR környezeti változót az általad használt terminál típusára kell állítani. Ha a terminálod mérete (sorok/oszlopok száma) különbözik attól, mint amiről a a TERMCAP- vagy TERMINFO-bejegyzés tanúskodik, az \fBstty rows mm cols nn\fR paranccsal (mm a sorok, nn az oszlopok száma) vagy a \fBLINES\fR és \fBCOLUMNS\fR környezeti változókkal állíthatod be. .PP A JOE általában úgy gondolja, hogy a számítógép és a terminálod közötti flow controlt a ^S/^Q handshaking valósítja meg (azaz, ha a számítógép túl gyorsan küldi a karaktereket a terminálodra, a terminálod ^S-t küld a kimenet megállítására és ^Q-t a helyreállítására). Ha a flow control out-of-band vagy hardveres handshakinget használ, vagy ha a terminálod elég gyors ahhoz, hogy állandóan lépést tartson a számítógép kimenetével, és szeretnéd a ^S/^Q billentyűket szerkesztő parancsként használni, állítsd be a \fBNOXON\fR környezeti változót, hogy a JOE megkísérelje kikapcsolni a ^S/^Q handshakinget. Ha a számítógép és a terminálod közötti kapcsolat nem használ handshakinget, és a terminálod nem elég gyors ahhoz, hogy lépést tartson a számítógép kimenetével, állítsd be a \fBDOPADDING\fR környezeti változót, hogy a \fBJOE\fR lelassítsa a kimenetet PAD (tömítő) karakterek beszúrásával. .SH FÁJLNEVEK Bárhol, amikor a JOE fájlnevet kér tőled, akár a parancssorban, akár a szövegszerkesztőn belül, ezt is begépelheted: .IP \fB!parancs Az adatokat egy shellparancsból olvassa, vagy egy shellparancsba írja. Például \fBjoe '!ls'\fR-sel az alkönyvtárlistád másolatát szerkesztheted, vagy \fB^K D !mail jhallen@world.std.com\fR-mal a szerkesztett fájlt elküldheted nekem. .IP \fB>>fájlnév Ez által a JOE hozzáfűzi a szerkesztett szöveget a "fájlnév" végéhez. .IP \fBfájlnév,KEZDET,MÉRET Ez által egy fájl vagy eszköz rögzített szakaszát éred el. A \fBKEZDET\fR-et és a \fBMÉRET\fR-et decimálisan (pl. 123), oktálisan (pl. 0777) vagy hexadecimálisan (pl. 0xFF) adhatod meg. Például \fBjoe /dev/fd0,508,2\fR-vel editálhatod Linuxon az első hajlékonylemez-meghajtó 508. és 509. byte-ját. .IP \fB- Ezzel a szabványos bemenetről nyerheted az inputot, vagy a szabványos kimenetre írhatod az eredményt. Például parancscsőbe is rakhatod a joe-t: \fBquota -v | joe - | mail root\fR, ha reklamálni akarsz az alacsony kvótád miatt. .SH A joerc FÁJL A \fB^T\fR kapcsolók, a súgóképernyők és a billentyűsorozatokhoz kötött szerkesztő parancsok mind a JOE inicializációs fájljában vannak definiálva. Ha erről a fájlról (amely a \fB/etc/joe/joerc\fR útvonalon található) másolatot készítesz \fB$HOME/.joerc\fR néven, kedved szerint testre szabhatod ezeket a beállításokat. Az inicializációs fájl szintaxisa magától értetődő, és további útmutatás is található benne. .SH KÖSZÖNETNYILVÁNÍTÁS A JOE-t Joseph H. Allen írta. Ha hibabejelentésed vagy kérdésed van, küldd el őket e-mailen a jhallen@world.std.com címre. Larry Foard (entropy@world.std.com) és Gary Gray (ggray@world.std.com) is segítettek a JOE megalkotásában. .SH VÁLTOZTATÁSOK Változtatások Debianhoz Christian Linharttól . Ezek a változtatások csak néhány fájl Debianban megváltozott helyét érintik. .SH MAGYAR FORDÍTÁS Nagy Viktor