Content
Data
Version: 4.4
Short description:
JOE is a powerful, screen-oriented ASCII editor. Its user interface is similar to many user-friendly PC word processors. Users of Micro-Pro's WordStar or Borland's "Turbo" languages will be at home. Yet JOE is a typical UNIX screen-oriented editor and is mainly suitable for editing programs and text.
Man page output
man joe
JOE(1) General Commands Manual JOE(1)
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)
Help output
joe --help
Joe's Own Editor v4.4
Usage: joe [global-options] [ [local-options] filename ]...
Global options:
-[-]restore Restore cursor mode
-[-]regex Standard or JOE regular expression syntax
-[-]square Rectangular region mode
-[-]icase Case insensitive search mode
-[-]wrap Search wraps mode
-[-]menu_explorer Menu explorer mode
-[-]menu_above Menu above/below mode
-[-]notagsmenu Tags menu mode
-[-]search_prompting Search prompting mode
-[-]menu_jump Jump into menu mode
-[-]autoswap Autoswap mode
-[-]mid Center on scroll mode
-left nnn Left scroll amount
-right nnn Right scroll amount
-[-]guess_crlf Auto detect CR-LF mode
-[-]guess_indent Guess indent mode
-[-]guess_non_utf8 Guess non-UTF-8 mode
-[-]guess_utf8 Guess UTF-8 mode
-[-]guess_utf16 Guess UTF-16 mode
-[-]transpose Transpose menus mode
-[-]marking Region marking mode
-[-]asis Display meta chars as-is mode
-[-]force Force last NL mode
-[-]joe_state Joe_state file mode
-[-]nobackups Disable backups mode
-[-]nodeadjoe Disable DEADJOE mode
-[-]nolocks Disable locks mode
-[-]nomodcheck Disable mtime check mode
-[-]nocurdir Disable current dir
-[-]break_hardlinks Break hard links
-[-]break_links Break links
-[-]lightoff Auto unmark
-[-]exask Exit ask
-[-]beep Beeps
-[-]nosta Disable status line
-[-]keepup Fast status line
-pg nnn No. PgUp/PgDn lines
-undo_keep nnn No. undo records
-[-]csmode Continued search
-backpath sss Path to backup files
-[-]floatmouse Click past end
-[-]rtbutton Right button
-[-]nonotice Suppress startup notice
-[-]noexmsg Suppress exit message
-[-]help_is_utf8 Help is UTF-8
-[-]noxon Disable XON/XOFF
-[-]orphan Orphan extra files
-[-]helpon Start editor with help displayed
-[-]dopadding Emit padding NULs
-lines nnn No. screen lines (if no window size ioctl)
-baud nnn Baud rate
-columns nnn No. screen columns (if no window size ioctl)
-skiptop nnn No. screen lines to skip
-[-]notite Suppress tty init sequence
-[-]brpaste Bracketed paste mode
-[-]pastehack Paste quoting hack
-[-]nolinefeeds Suppress history preserving linefeeds
-[-]mouse Enable mouse
-[-]usetabs Screen update uses tabs
-[-]assume_color Assume terminal supports color
-[-]assume_256color Assume terminal supports 256 colors
-[-]joexterm Assume xterm patched for JOE
-xmsg sss Exit message
-aborthint sss Abort hint
-helphint sss Help hint
-lmsg sss Left side status line format
-rmsg sss Right side status line format
-smsg sss Status command format
-zmsg sss Status command format EOF
-keymap sss Keymap to use
-mnew sss Macro to execute for new files
-mfirst sss Macro to execute on first change
-mold sss Macro to execute on existing files
-msnew sss Macro to execute when new files are saved
-msold sss Macro to execute when existing files are saved
-text_color sss Text color
-help_color sss Help color
-status_color sss Status bar color
-menu_color sss Menu color
-prompt_color sss Prompt color
-msg_color sss Message color
Local options:
+nnn Start cursor on specified line
-[-]overwrite Overtype mode
-[-]hex Hex edit display mode
-[-]ansi Hide ANSI mode
-[-]title Status line context display mode
-[-]autoindent Autoindent mode
-[-]wordwrap Word wrap mode
-tab nnn Tab width
-lmargin nnn Left margin
-rmargin nnn Right margin
-indentc nnn Indent char
-istep nnn Indent step
-[-]french French spacing mode
-[-]flowed Flowed text mode
-[-]highlight Syntax highlighting mode
-[-]spaces No tabs mode
-[-]crlf CR-LF (MS-DOS) mode
-[-]linums Line numbers mode
-[-]nobackup No backup mode
-[-]rdonly Read only
-[-]smarthome Smart home key
-[-]indentfirst To indent first
-[-]smartbacks Smart backspace
-[-]purify Clean up indents
-[-]picture Picture mode
-syntax sss Syntax
-encoding sss Encoding
-type sss File type
-[-]highlighter_context ^G uses highlighter context
-[-]single_quoted ^G ignores '... '
-[-]no_double_quoted ^G ignores "... "
-[-]c_comment ^G ignores /*...*/
-[-]cpp_comment ^G ignores //...
-[-]pound_comment ^G ignores #...
-[-]vhdl_comment ^G ignores --...
-[-]semi_comment ^G ignores ;...
-[-]tex_comment ^G ignores %...
-text_delimiters sss Text delimiters
-language sss Language
-cpara sss Paragraph indent chars
-cnotpara sss Non-paragraph chars
Related Content
- 95 views