Provided by:
manpages-hu_20010119-5_all 
NÉV
joe - Joe saját szövegszerkesztője
ÁTTEKINTÉS
joe [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]...
jstar [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]...
jmacs [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]...
rjoe [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]...
jpico [globális kapcsolók] [ [lokális kapcsolók] fájlnév ]...
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.
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.
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.
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 ftp.std.com címről, a fájl útvonala: src/editors/joe*.tar.Z.
HASZNÁLAT
A szövegszerkesztő indításához gépeld be, hogy joe, 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 Fájlnevek fejezetnél.
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 ^K H-t a súgóhoz a
szövegszerkesztőben.
Most következzen egy kis zavaros számítógép-tudomány:
A ^ azt jelenti, hogy a Control billentyűt lenyomva kell tartani az
utána következő billentyű lenyomása alatt (ugyanúgy, ahogy a Shift-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 ESC a
^[-et, a Del a ^?-et, a Backspace a ^H-t, a Tab a ^I-t, a Return vagy
az Enter a ^M-et, a Linefeed a ^J-t helyettesíti. Némely
billentyűzetnél gondot okoz néhány vezérlőkarakter-szekvencia. A ^_-t,
^^-t és a ^@-ot általában a Shift lenyomása nélkül is be lehet írni
(azaz próbáld ki a ^- -et, a ^6-ot és a ^2-őt). Más billentyűzeten ezek
máshol lehetnek. Próbáld ki a ^.-ot, a ^,-őt és a ^/-et. A ^SZÓKÖZ
általában a ^@ helyett használható. A ^\-t és a ^]-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 ^K H-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 ^K H-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
/etc/joe/joerc) .joerc néven a home-könyvtáradba másolod, és módosítod.
Lásd lent a joerc fejezetet.
Ha alapértelmezett editorként a JOE-t akarod használni e-mailhez és
newsolvasáshoz, állítsd be az EDITOR és a VISUAL környezeti változókat
a shelled inicializációs fájljában (.cshrc vagy .profile), hogy a JOE-
ra hivatkozzanak (/usr/bin/joe 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 Környezeti változók fejezetet.
OPCIÓK
A következő globális kapcsolókat lehet megadni a parancssorban:
-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.
-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.
-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.
-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.
-columns nnn
Beállítja a képernyő oszlopainak számát.
-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.
-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.
-exask A kapcsoló hatására a ^KX rákérdez az elmentendő fájl nevére
ellenőrzésképpen.
-force Ez a kapcsoló biztosítja, hogy az elmentett fálj utolsó sorát
soremelés zárja le.
-help A szövegszerkesztő a súgóképernyővel indul, ha ez a kapcsoló meg
van adva.
-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.
-lightoff
A blokk-kijelölés megszűnik bármely blokkművelet után, ha ez a
kapcsoló meg van adva.
-lines nnn
Beállítja a képernyő sorainak számát.
-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).
-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.
-nobackups
Ez a kapcsoló megakadályozza a backupfájlok készítését.
-nonotice
Ez a kapcsoló megakadályozza, hogy a copyrightmegjegyzés
megjelenjen a szövegszerkesztő indulásakor.
-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.
-noxon Megkísérli kikapcsolni a ^S/^Q billentyűk feldolgozását. Ez
hasznos, ha a Joe WordStar- vagy Emacs-módban van.
-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.
-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.
-skiptop nnn
Ne használja a képernyő legfelső nnn sorát. Ez hasznos, ha a
Joe-t BBS-editorként használod.
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:
+nnn A kurzor a megadott sorban áll kezdetben.
-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ó.
-wordwrap
A Joe a szó előtt sort tör, ha a jobb oldali margón túl gépelsz.
-autoindent
Ha Returnt ütsz egy behúzott sorban, a behúzás átmásolódik az új
sorra.
-overwrite
A gépelés nem beszúr, hanem felülírja a korábbi karaktereket.
-lmargin nnn
Beállítja a bal margót.
-rmargin nnn
Beállítja a jobb margót.
-tab nnn
Beállítja a tabulálás szélességét.
-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).
-istep nnn
Beállítja a behúzás lépésközét a ^K, és ^K. számára.
-linums
A sor számát megjeleníti minden sor elején.
-rdonly
A fájl csak olvasható.
-keymap name
A joerc fájl egy másik szekcióját használja a
billentyűszekvenciák hozzárendelésére.
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.
A SZERKESZTÉSI MUNKA
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 Backspace 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 Backspace-t néhányszor.
Sortörés beszúrásához üss Enter vagy Return billentyűt. Például, ha a
kurzor a sor közepén állt, és Return-t ütöttél, a sor kettészakad, és a
kurzor a második sor elejére kerül. Üss Backspace-t a sor elején a
sortörés eltűntetéséhez.
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
^F-et az előre (jobbra), ^B-et a hátra (balra), ^P-t az előző sorba
(felfelé) és ^N-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.
Ha be akarod húzni a sort, használd a TAB 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 ^T D paranccsal. A PASCAL- és C-programozók
gyakran minden negyedikre állítják.
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
^R lenyomásával.
Sok más törlő és mozgató billentyű létezik még. Például a ^D billentyű
nem visszafelé töröl, mint a Backspace, hanem a kurzor alatti karaktert
törli. A ^D a sortörést is törli, ha a kurzor a sor végén áll. ^Y-nal
azt a sort törlöd, amin a kurzor áll, ^J-vel pedig csak a kurzortól a
sor végéig terjedő részt törlöd.
^A-val a kurzor az őt tartalmazó sor elejére ugrik. ^E-vel a kurzor a
sor végére ugrik. ^U-val vagy ^V-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. ^K U-val vagy ^K V-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.
Ha hibát vétettél, ^_-sal vonhatod vissza. A legtöbb billentyűzeten
elég a ^- -et lenyomni, de némelyiken a Shift és a Control billentyűket
egyszerre kell lenyomva tartani. Ha túl sokat vontál vissza, ^^
billentyűvel "újracsinálhatod" a visszavont változtatásokat (elég ^6-ot
nyomni bizonyos billentyűzeteken).
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, ^K - -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, ^K - -szal és ^K =-vel lehet
lépkedni, ugyanúgy, ahogy a változások történetében visszavonással és
"újracsinálással".
Ha befejezted a fájl szerkesztését, ^K X-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.
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 ^C-t, hogy a fájl
elmentése nélkül lépj ki.
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.
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 Return-t ütnöd. Ez az úgynevezett sortörő (word-
wrap) üzemmód. A sortörés be- vagy kikapcsolható ^T W 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 joerc fájlra vonatkozó
fejezetet.
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 ^K J-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.
A bekezdésformázás és a sortörés margóit a ^T L és a ^T R 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.
Ha a margók között középre szeretnéd helyezni a sort, használd a ^K A
parancsot.
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 ^T T-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 Backspace 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 ^T T lenyomásával.
Ha felülíró módban szeretnél beszúrni, üss ^@-ot. Ez egyetlen szóközt
szúr be a szövegbe.
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ő vezérlő karaktereket úgy viheted be,
hogy megnyomod a `-ot, majd a @ A B C ... X Y Z [ ^ ] \ _ valamelyikét
a 0 - 31-ig terjedő kódokhoz és ?-et a 127-es kódhoz. Például a ` J
lenyomásával sorvége karaktert szúrhatsz be, ` I-vel pedig TAB-ot
(amely ugyanazt csinálja, mint a TAB billentyű). Hasznos
vezérlőkarakter a 12-es (` L), 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
metakaraktereket, a ^\ 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 ASIS-módra (lásd később), hogy ezek
háborítatlanul eljussanak a terminálig.
Promptok
Ha a Joe egy prompttal fájlnévre kérdez rá, és megnyomod a TAB-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 TAB-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.
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.
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 ^K F paranccsal kereshetsz benne visszafelé.
Mivel a promptok ablakok, ezért ^K P-vel és ^K N-nel átválthatsz
belőlük másik ablakba.
Hol vagyok?
^K SZÓKÖZ-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.
Fájlműveletek
^K D-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, ^K E-vel egy másik
fájl szerkesztését kezdheted meg.
Ha csak a fájl egy kijelölt szakaszát szeretnéd elmenteni, lásd a
Blokkok fejezetet lent.
Ha a szerkesztett fájlba egy másik fájlt szeretnél beemelni, használd a
^K R-t a beszúrásra.
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 ^K Z-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. fg vagy exit
begépelésével (a felfüggesztéskor közli veled a Joe, melyikkel)
térhetsz vissza a szövegszerkesztőhöz.
Szövegkeresés
^K F-fel előre vagy hátrafelé kereshetsz szövegtöredéket
(karakterláncot). A keresendő szót a megjelenő prompt után kell beírni.
Miután Return-t nyomtál, újabb prompt jelenik meg. Nyomhatsz megint
egyszerűen Return-t az azonnali előre történő kereséshez, vagy
megadhatsz egy vagy több kapcsolót:
b Hátrafelé keres.
i A kis- és nagybetűket egyformaként kezeli. Egyébként pedig
különbözőnek tekinti őket.
nnn (ahol nnn 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.
r Kicseréli a szöveget. Ha megadod az r 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 y-t
nyomsz, lecseréli a szöveget, és megkeresi a következő
előfordulást, ha n-et nyomsz, nem cserél, csak a következő
előfordulást keresi meg, ha r-t nyomsz, kérdés nélkül lecseréli
a maradék összes előfordulást a fájlban (alávetve a fenti nnn
kapcsolónak), ha pedig ^C-t nyomsz, leáll a keresés.
^L-el megismételheted az előző keresést.
Reguláris kifejezések
Számos különleges karaktersorozatot vihetsz be keresendő szövegként:
\* Nulla vagy több karaktert talál meg. Például, ha A\*B-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.
\? Pontosan egy karaktert talál meg. Például, ha A\?B-t adsz meg
keresendő szövegnek, a JOE megtalálja AXB-t, de nem találja meg
AB-t vagy AXXB-t.
\^ \$ Ezek egy sor elejére és végére illeszkednek. Például, ha
\^teszt\$-et keresel, a JOE a sorban önmagában álló teszt-et
találja meg.
\< \> Ezek egy szó elejére és végére illeszkednek. Például, ha
\<\*is\*\>-at keresel, a JOE megtalálja azt az egész szót, amely
tartalmazza az is részkarakterláncot.
\[...] A szögletes zárójelek között álló bármelyik karakterre
illeszkedik. Például, ha a \[Ee]zt keresendő karakterláncot adod
meg, a JOE egyaránt megtalálja az Ezt és az ezt szavakat. A
zárójelek között karaktertartományt is megadhatsz. Például a
\[A-Z] megtalálja az összes nagybetűt. Ha a zárójelek között az
első karakter ^, a JOE azokat a karaktereket fogja keresni,
amelyek nincsenek a zárójelben.
\c Hasonlóan működik, mint a \*, de csak helyesen zárójelezett C-
nyelvű kifejezésekre illeszkedik. Például, ha malloc(\c) szót
keresed, a JOE minden malloc függvényhívást megtalál még akkor
is, ha ) van a zárójelek között.
\+ A \+-t követő karakterből nullát vagy többet talál meg. Például,
ha a \[ ]\+\[ ] 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.
\\ Egyetlen \-re illeszkedik.
\n A speciális sorvége vagy újsor karaktert találja meg.
Számos különleges karaktersorozatot adhatsz meg a helyettesítő
karakterláncban is:
\& A kereső karakterláncra illeszkedő szöveggel helyettesít.
Például, ha a kereső karakterlánc \<\*\> volt, ami szavakra
illeszkedik, és "\&" a helyettesítő karakterlánc, a JOE
idézőjelbe rakja a szavakat.
\0 - \9
Az N-edik \*-ra, \?-re, \+-ra, \c-re vagy \[...]-re illeszkedő
szöveggel helyettesít.
\\ Használd ezt, ha \-t akarsz tenni a helyettesítő karakterláncba.
\n Használd ezt, ha sorvége jelet akarsz tenni a helyettesítő
karakterláncba.
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:
Cím: S. Holmes, 221b Baker St., London, Anglia
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ő:
^K F-fel kezdd el a keresést, és gépeld be:
Cím:\*,\*,\*,\*\$
hogy illeszkedjen a "Cím:"-ra, a négy vesszővel elválasztott elemre és
a sor végére. A kapcsolókhoz írj r-t a cseréhez, azután gépeld be:
Cím:\3,\2,\0,\1
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:
Cím: Anglia, London, S. Holmes, 221b Baker St.
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 ^K B-t. Azután vidd a kurzort a
szövegrész vége utáni karakterre, és nyomj ^K K-t. A ^K B és ^K K
közötti szöveg kijelölődik. Most viheted a kurzort valahova máshova a
dokumentumban, és nyomj ^K M-t, hogy oda mozogjon a kijelölt szöveg. ^K
C-vel a kijelölt szövegről másolatot készíthetsz, és beszúrhatod oda,
ahol a kurzor áll. ^K Y törli a kijelölt szöveget. ^K W a kijelölt
szöveget fájlba írja.
Nagyon hasznos parancs a ^K /, amely Unix-parancson szűr át
szövegblokkot. Például, ha ^K B-vel és ^K K-val szavak listáját jelölöd
ki, és a ^K / sort parancsot gépeled be, a szólista rendezetté válik. A
^K / parancshoz másik hasznos Unix-parancs a tr. Ha begépeled a ^K / tr
a-z A-Z parancsokat, akkor a kijelölt blokk összes betűjéből nagybetű
lesz.
Miután befejezted a blokkműveletet, ha nem zavar, hagyhatod a blokkot
kijelölve (persze, ha véletlenül lenyomod a ^K Y-t, anélkül, hogy
észrevennéd...). Ha mégis zavar, csak üss ^K B ^K K-t a kijelölés
kikapcsolásához.
Programblokkok behúzása
A ^T I paranccsal lehet be-, illetve kikapcsolni az automatikus behúzó
üzemmódot. A joerc ú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 Return-t ütsz, a kurzor ugyanabba az
oszlopba kerül, ahol az első nem SZÓKÖZ/TAB karakter volt az eredeti
sorban.
A ^K , és ^K . 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 ^K , és ^K . parancsokra. Az eltolás oszlopainak
száma beállítható a ^T billentyúvel.
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 ^K O-t, ekkor két
ablakra oszlik a képernyő. ^K P-vel vagy ^K N-nel viheted át a kurzort
a felső vagy az alsó ablakba. ^K E-vel szerkeszthetsz új fájlt az egyik
ablakban. Az ablak eltűnik, ha ^K X-szel elmented a fájlt, vagy ^C-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.
^K O-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 ^K I-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 ^K N-nel, a legfelsőből ^K P-vel érheted
el azokat.
Ha több fájlnevet adtál meg a JOE indításakor a parancssorban,
mindegyik fájl külön ablakba kerül.
Az ablakok magasságát a ^K G és ^K T parancsokkal állíthatod.
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 ^K
[-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. ^K ]-lel állítsd le a makró
rögzítését. ^K lenyomása után a rögzített makró számával hajthatod
végre a billentyűsorozatot.
Például, ha "**"-ot szeretnél néhány sor elejére tenni, gépeld be:
^K [ ^A ** <lefelényíl> ^K ]
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.
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.
Ismétlés
Az ismétlés paranccsal, ^K \-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 ^K \-t, gépeld be, hogy hányszor akarod ismételni a
parancsot, és nyomd meg a Return-t. Most a következő általad megadott
szerkesztő parancsot ennyiszer fogja ismételni.
Például a szöveg következő 20 sorának törléséhez gépeld be:
^K 20<Return>^Y
Téglalap-kijelölő üzemmód
^T X-re a ^K B és ^K K 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 ^K / paranccsal - ha például rendezni akarod
őket. A fájl beszúrása parancsra, a ^K R-re is hatással van.
A téglalap-kijelölő móddal együtt használva hasznos a felülíró mód (^T
T). 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 (^K Y) 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 (^K /) használatánál, mivel
megmarad a kijelölt oszlop eredeti szélessége.
Tagek keresése
Ha sok forrásfájlból álló nagy C programot szerkesztesz, a ctags
programmal tags 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 ^K ; 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 ^K ; 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 ^K ; parancs az
aktuális ablakba tölti be a definíciós fájlt, érdemes előtte ^K O-val
ketté osztani az ablakot, hogy egyszerre látszódjon az eredeti és a
definíciós fájl.
Shellablakok
^K '-fal futtathatsz shellparancsot egy JOE-ablakban. Ha a kurzor a
shellablak végén áll (ha nem, használj ^K V-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 make kimenetének, egy
karakterlánc fájlhalmazból való ki-grep-pelése vagy egy FTP-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 exit parancsot a
shellkimenet rögzítésének leállításához. Ha ^C-t nyomsz a
shellablakban, amikor a kurzor nem az ablak végén van, a shellre
végrehajtódik a kill parancs..
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 stty nnn 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 stty-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 extb 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 stty-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 BAUD környezeti
változónak (setenv BAUD 9600-at használj csh-ban, BAUD=9600; export
BAUD-ot sh-ban).
A TERM 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
stty rows mm cols nn paranccsal (mm a sorok, nn az oszlopok száma) vagy
a LINES és COLUMNS környezeti változókkal állíthatod be.
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 NOXON 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 DOPADDING környezeti változót, hogy a JOE lelassítsa a
kimenetet PAD (tömítő) karakterek beszúrásával.
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:
!parancs
Az adatokat egy shellparancsból olvassa, vagy egy shellparancsba
írja. Például joe '!ls'-sel az alkönyvtárlistád másolatát
szerkesztheted, vagy ^K D !mail jhallen@world.std.com-mal a
szerkesztett fájlt elküldheted nekem.
>>fájlnév
Ez által a JOE hozzáfűzi a szerkesztett szöveget a "fájlnév"
végéhez.
fájlnév,KEZDET,MÉRET
Ez által egy fájl vagy eszköz rögzített szakaszát éred el. A
KEZDET-et és a MÉRET-et decimálisan (pl. 123), oktálisan (pl.
0777) vagy hexadecimálisan (pl. 0xFF) adhatod meg. Például joe
/dev/fd0,508,2-vel editálhatod Linuxon az első hajlékonylemez-
meghajtó 508. és 509. byte-ját.
- 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: quota -v | joe - | mail root, ha reklamálni
akarsz az alacsony kvótád miatt.
A joerc FÁJL
A ^T 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 /etc/joe/joerc útvonalon
található) másolatot készítesz $HOME/.joerc 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.
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.
VÁLTOZTATÁSOK
Változtatások Debianhoz Christian Linharttól <chris@cosy.sbg.ac.at>.
Ezek a változtatások csak néhány fájl Debianban megváltozott helyét
érintik.
MAGYAR FORDÍTÁS
Nagy Viktor <chaos@valerie.inf.elte.hu>
JOE(1)