.\" {PTM/WK/0.1/25-07-1999/"własny edytor Joe'go"}
.TH JOE 1
.SH NAZWA
joe - "własny edytor Joe'go" (Joe's Own Editor)
.SH SKŁADNIA
.BR joe " [" opcje_globalne "] [ [" opcje_lokalne ]
.IR nazwapliku " ]..."

.BR jstar " [" opcje_globalne "] [ [" opcje_lokalne ]
.IR nazwapliku " ]..."

.BR jmacs " [" opcje_globalne "] [ [" opcje_lokalne ]
.IR nazwapliku " ]..."

.BR rjoe " [" opcje_globalne "] [ [" opcje_lokalne ]
.IR nazwapliku " ]..."

.BR jpico " [" opcje_globalne "] [ [" opcje_lokalne ]
.IR nazwapliku " ]..."
.SH OPIS
\fI Uwaga! To tłumaczenie może być nieaktualne!\fP
.PP
JOE jest pełnoekranowym edytorem ASCII mającym duże możliwości.
Brak trybów pracy interfejsu (w przeciwieństwie do np. \fBvi\fR) powoduje,
że bardziej przypomina przyjazne edytory PC. Użytkownicy WordStara czy
środowisk "turbo" firmy Borland poczują się jak w domu. JOE jest w pełni
funkcjonalnym ekranowym edytorem unixowym i posiada wiele funkcji edycji
programów i tekstu.
.PP
JOE emuluje również kilka innych edytorów. JSTAR jest dość wierną imitacją
WordStara z wieloma rozszerzeniami JOE. JPICO jest bliską imitacją edytora
PICO z systemu pocztowego Pine. JMACS jest imitacją GNU-EMACSa. RJOE jest
okrojoną wersją JOE, umożliwiającą edycję tylko tych plików, które zostały
podane w linii poleceń.
.PP
Mimo, iż JOE jest faktycznie pięcioma różnymi edytorami, to nadal wymaga
tylko jednego pliku wykonywalnego, jedynie z pięcioma różnymi nazwami.
Nazwa edytora z dodanym \fIrc\fR stanowi nazwę pliku inicjującego JOE'go;
decyduje on zachowaniu się edytora.
.PP
JOE jest darmowym oprogramowaniem: możesz go rozpowszechniać i/lub zmieniać
na warunkach licencji GNU General Public License opublikowanej przez Free
Software Foundation. Nie planuję przekształcenia JOE w produkt komercyjny
czy shareware'owy. JOE jest dostępny przez Internet za pośrednictwem
anonimowego FTP z \fBftp.std.com\fR, plik: \fIsrc/editors/joe*.tar.Z\fR.
.SH UŻYCIE
Uruchomienie edytora następuje przez wpisanie \fBjoe\fR oraz zera lub więcej
nazw plików, jakie chcesz edytować. Każda z nazw pliku może być poprzedzona
ustawieniem opcji lokalnej (patrz tablica opcji lokalnych, niżej). W linii
poleceń mogą być też umieszczone inne opcje, globalne, odnoszące się do całego
edytora (patrz poniżej tablica opcji globalnych). Jeśli edytujesz nowy plik,
to możesz nadać mu nazwę albo przy wywołaniu edytora albo w edytorze,
w momencie zapisu pliku. Dostępna jest zmodyfikowana składnia nazw plików,
tak by umożliwić ci edycję wyników programów, standardowego wejścia/wyjścia
czy części plików lub urządzeń. Szczegóły znajdziesz dalej, w sekcji
\fBNazwy plików\fR.
.PP
Po uruchomieniu edytora możesz wpisywać tekst lub posługiwać się specjalnymi
sekwencjami znaków sterujacych, by wykonać inne zadania edycyjne. Opis
sekwencji sterujących znajduje się w dalszej części niniejszej dokumentacji.
Możesz też użyć kombinacji klawiszy \fB^K H\fR, przywołującej pomoc w edytorze.
.PP
Teraz trochę wyjaśnień mętnych nauk komputerowych:
.\" Now for some obscure computer-lore:
.PP
Zapis \fB^\fR oznacza, że przytrzymujesz klawisz \fBControl\fR w trakcie
naciskania następnego klawisza (w ten sam sposób działa \fBShift\fR przy
uzyskiwaniu dużych liter). Wiele sekwencji sterujących powielonych jest
przez inne klawisze, zatem nie zawsze musisz naciskać klawisz Control:
\fBESC\fR będzie działać jak \fB^[\fR, \fBDel\fR zadziała zamiast \fB^?\fR,
\fBBackspace\fR zamiast \fB^H\fR, \fBTab\fR zamiast \fB^I\fR,
\fBReturn\fR lub \fBEnter\fR działają jak \fB^M\fR, zaś
\fBLinefeed\fR działa tak jak \fB^J\fR.
Niektóre klawiatury mogą sprawić kłopoty z pewnymi klawiszami sterującymi.
\fB^_\fR, \fB^^\fR oraz \fB^@\fR zwykle mogą być wprowadzone bez naciśnięcia
shift (spróbuj \fB^-\fR, \fB^6\fR i \fB^2\fR).
Inne klawiatury mogą przypisywać je do innych klawiszy. Wypróbuj:
\fB^.\fR, \fB^,\fR i \fB^/\fR. Zwykle zamiast \fB^@\fR możesz użyć
\fB^SPACE\fR.
\fB^\\\fR i \fB^]\fR interpretowane są przez wiele programów komunikacyjnych,
włączając w to telnet i kermit. Zwykle po prostu naciskasz klawisz dwukrotnie,
by przeszedł przez program komunikacyjny.
.\" to pass through the communication program.
.PP
Po wpisaniu \fB^K H\fR na górze ekranu pojawi się okno pierwszej pomocy.
Możesz nadal wprowadzać i edytować tekst przy włączonym oknie pomocy.
Zmianę stron z kolejnymi tematami pomocy uzyskasz naciskając ^[ i ^[
(to jest ESC i ESC). Wygaszenie okna z pomocą uzyskasz kombinacją \fB^K H\fR.
.PP
Możesz dostosować układ klawiatury, ekrany pomocy i wiele domyślnych
sposobów zachowywania się edytora kopiując plik inicjujący JOE'go
(zwykle \fIusr/local/lib/joerc\fR) jako \fI.joerc\fR do swego katalogu
domowego i zmieniając go. Patrz sekcja \fBjoerc\fR poniżej.
.PP
Jeśli chcesz by JOE był używany jako twój domyślny edytor dla e-mail i News,
powinieneś ustawić zmienne środowiska \fBEDITOR\fR oraz \fBVISUAL\fR
w pliku inicjującym swojej powłoki (\fI.cshrc\fR lub \fI.profile\fR),
tak by wskazywały na JOE'go (zwykle znajduje się on
w \fI/usr/local/bin/joe\fR).
.PP
.\" There are a number of other obscure invocation parameters
Istnieje wiele innych nieoczywistych parametrów wywołania, jakie być może muszą
być ustawione, szczególnie, gdy ekran twojego terminala nie jest odświeżany
tak, jakbyś tego oczekiwał.
Patrz sekcja \fBZmienne środowiska\fR.
.SH OPCJE LINII POLECEŃ
W linii poleceń można podać następujące opcje globalne:
.TP
.B -asis
Znaki o kodach powyżej 127 będą wysyłane do terminala bez zmian, zamiast
zastępowania ich negatywami odpowiednich znaków o kodach poniżej 128.
Jeśli nie działa, to sprawdź serwer terminala.
.br
[od tłum: opcja niezbędna do prawidłowej obsługi polskich znaków]
.TP
.BI -backpath " ścieżka"
Po podaniu tej opcji, pliki kopii zapasowych będą zapisywane w zadanym
katalogu zamiast w pierwotnych katalogach każdego z plików.
.TP
.BI -baud " nnn"
Ustawia prędkość transmisji (baud rate) dla celów optymalizacji ekranu
terminala.
Joe wstawia opóźnienia dla prędkości niższych od 19200, które omijają
buforowanie terminala, tak że znaki pisane z wyprzedzeniem mieszają się
z wyjściem ekranu. Polecenia przewijania nie będą używane dla 38400 bitów/s.
Przydatne dla X-terminali oraz innych terminali konsoli, które nie są
naprawdę połączone przez łącze szeregowe.
.TP
.B -beep
Joe będzie sygnalizował dźwiękiem błędy poleceń i przekroczenie przez
kursor granic tekstu.
.\" Joe will beep on command errors and when the cursor goes past extremes.
.TP
.BI -columns " nnn"
Ustala liczbę kolumn ekranu.
.TP
.B -csmode
Tryb kontynuacji wyszukiwania: wyszukiwanie następujące bezpośrednio po
innym będzie powtarzać poprzednie zamiast prośby o nowy łańcuch znakowy
do wyszukania. Przydatne dla poleceń ^[S i ^[R oraz gdy joe próbuje
udawać emacsa.
.TP
.B -dopadding
Joe zwykle zakłada, że pomiędzy nim a temirnalem istnieje jakiś rodzaj
sterowania przepływem danych. Jeśli tak nie jest, opcja ta spowoduje,
że joe będzie wysyłał dodatkowe ^@ do terminala, jak podano we wpisie
do termcap.
Dodatkowe ^@ pozwalają terminalowi nadgonić po długich poleceniach tty.
.\" will make joe output extra ^@s to the tty as specified by the termcap
.\" entry.  The extra ^@s allow the terminal to catch up after long terminal
.\" commands.
.TP
.B -exask
Powoduje weryfikację przez ^KX nazwy pliku, jaki ma zostać zapisany.
.TP
.B -force
Ta opcja upewnia się, że ostatnia linia tekstu zakończona jest znakiem
line-feed (koniec linii).
.TP
.B -help
Po podaniu tej opcji edytor uruchomi się z ekranem pomocy.
.TP
.B -keepup
Normalnie numer kolumny tekstu oraz pola przedrostka klawisza sterującego
w liniach statusu wyświetlane są z jednosekundowym opóźnieniem, by
zredukować obciążenie procesora. Opcja ta powoduje, że są one aktualizowane
po każdym naciśnięciu klawisza.
.TP
.B -lightoff
Użycie tej opcji powoduje wyłączanie podświetlenia bloku tekstu po dowolnym
poleceniu działającym na bloku.
.TP
.BI -lines " nnn"
Ustala liczbę linii ekranu.
.TP
.B -marking
Podświetlany jest tekst pomiędzy ^KB a kursorem (użyj z opcją \-lightoff
i zmienionym plikiem joerc by uzyskać wybieranie bloku metodą ciągnięcia).
(drop-anchor style block selection).
.TP
.B -mid
Przy włączeniu tej opcji jeśli kursor przesuwa się poza okno, to okno jest
przewijane, tak by kursor był pośrodku. Opcja ta jest wymuszana na powolnych
terminalach, które nie posiadają poleceń przewijania (scrolling).
.TP
.B -nobackups
Ocja ta wyłącza tworzenie plików kopii zapasowych.
.TP
.B -nonotice
Wyłącza wyświetlanie informacji o prawach autorskich podczas uruchamiania
edytora.
.TP
.B -nosta
Wyłącza górną linię statusu. Miłe, jeśli chcesz widzieć na ekranie
tylko swój tekst lub używasz vt52.
.TP
.B -noxon
Próbuje wyłączyć przetwarzanie ^S/^Q. Przydatne, gdy joe próbuje być 
WordStarem lub emacsem.
.TP
.B -orphan
Jeżeli włączona jest ta opcja, to dodatkowe pliki z linii poleceń będą
umieszczone w nieprzypisanych buforach (orphaned buffers), zamiast
w dodatkowych oknach. Przydatne, gdy joe próbuje być emacsem.
.TP
.BI -pg " nnn"
Podaje liczbę linii pozostawianych po użyciu PgUp/PgDn (^U/^V). Użycie
wartości \-1 oznacza połowę okna.
.TP
.BI -skiptop " nnn"
Nie używaj nnn górnych linii ekranu. Przydatna, gdy joe używany jest jako
edytor BBS.
.PP
Każda z powyższych opcji może także zostać użyta w pliku joerc. Ponadto,
opcje NOXON, BAUD, LINES, COLUMNS i DOPADDING mogą zostać ustawione jako
zmienne środowiska.
.PP
Do ustalenia typu swego terminala możesz ustawić zmienną środowiska JOETERM,
zasłaniającą typową zmienną TERM.
.PP
Przed każdą nazwą pliku można użyć poniższych opcji:
.TP
.BI + nnn
Kursor na starcie ustawia się w zadanej linii.
.TP
.B -crlf
Joe używa CR-LF jako sekwencji kończącej linię zamiast tylko LF. Do edycji
plików MS-DOS lub VMS.
.TP
.B -wordwrap
Joe przenosi poprzedni wyraz, jeśli piszesz poza prawym marginesem.
.TP
.B -autoindent
Jeżeli naciśniesz Return w linii z wcięciem, to wcięcie jest powtarzane
w nowej linii.
.TP
.B -overwrite
Pisanie nadpisuje istniejące znaki zamiast wstawiania przed nimi.
.TP
.BI -lmargin " nnn"
Ustawia lewy margines.
.TP
.BI -rmargin " nnn"
Ustawia prawy margines.
.TP
.BI -tab " nnn"
Ustawia szerokość tabulacji.
.TP
.BI -indentc " nnn"
Ustawia znak wcięcia (indent) dla ^K, i ^K. (32 dla SPACE, 9 dla TAB).
.TP
.BI -istep " nnn"
Ustawia krok wcięcia dla ^K, i ^K..
.TP
.B -linums
Przed każdą linią wyświetlany jest numer linii.
.TP
.B -rdonly
Plik jest tylko do odczytu.
.TP
.BI -keymap " nazwa"
Użyj innej sekcji pliku joerc do przypisań sekwencji klawiszy.
.\" Use an alternate section of the joerc file for the key sequence bindings.
.PP
Opcje te mogą być także podane w pliku joerc. Mogą być ustawione w zależności
od rozszerzenia pliku. Programy (rozszerzenia .c, .h lub .p) mają zwykle
włączone automatyczne wcięcia (autoindent). Dla innych plików włączone jest
przenoszenie wyrazów (wordwrap), ale pliki rc mają je wyłączone.
.SH ZADANIA EDYCJI
.SS Prosta edycja
Kiedy wpisujesz znaki w edytorze, są one zwykle wstawiane do edytowanego
pliku (lub dołączane do pliku, jeśli kursor jest na końcu pliku). Jest to
normalny tryb pracy edytora. Jeżeli chcesz zastąpić fragment istniejącego
tekstu, musisz usunąć stary tekst przed lub po wpisaniu tekstu go
zastępującego. Do usuwania tekstu można użyć klawisza \fBbackspace\fR:
przesuń kursor w prawo, za tekst, który chcesz usunąć i naciskaj
\fBbackspace\fR aż do uzyskania pożądanego efektu.
.PP
Naciśnij klawisz \fBEnter\fR lub \fBReturn\fR by wstawić złamanie linii.
Na przykład, jeśli kursor był pośrodku linii i nacisnąłeś \fBReturn\fR,
to wówczas linia zostanie podzielona na dwa linie, a kursor pojawi się
na początku drugiej linii.
Naciśnij \fBbackspace\fR na początku linii aby zlikwidować podział linii.
.PP
Do przemieszczania się wewnątrz pliku użyj klawiszy strzałek. Jeżeli twoja
klawiatura nie ma klawiszy strzałek (lub z jakiegoś powodu nie działają),
użyj \fB^F\fR do przesunięcia naprzód (w prawo), oraz \fB^N\fR, by przesunąć
się do następnego linii (w dół). Klawisze strzałek w prawo i w lewo po prostu
przesuwają w tekście do przodu i do tyłu o jeden znak: jeśli jesteś na początku
linii i naciśniesz strzałkę w lewo, przesuniesz się na koniec poprzedniej
linii. Strzałki w górę i w dół przesuwają w przód i wstecz o liczbę znaków
niezbędną, by kursor pojawił się w tej samej kolumnie, w której był
w linii początkowej.
.PP
Jeżeli chcesz utworzyć wcięcie we wprowadzanym tekście, możesz posłużyć się
klawiszem \fRTAB\fR. Wstawia on specjalny znak sterujący, który powoduje, że
następujące po nim znaki rozpoczynają się od następnej pozycji tabulacji
(tab stop). Pozycje tabulacji normalnie rozmieszczone są co 8 kolumn, ale
można to zmienić przy pomocy polecenia \fB^T D\fR. Programujący w Pascalu
czy C często ustawiają pozycje tabulacji co 4 kolumny.
.PP
Jeżeli z jakiegoś powodu zobaczysz bałagan na ekranie swojego terminala
(na przykład, gdy otrzymasz powiadomienie o poczcie z biff), możesz nakazać
edytorowi odświeżenie ekranu naciskając \fB^R\fR.
.PP
Istnieje jeszcze wiele innych klawiszy służących do usuwania tekstu
i nawigacji w obrębie pliku. Na przykład, naciśnięcie \fB^D\fR usuwa znak,
na którym stoi kursor zamiast usuwania wstecz jak czyni to \fBbackspace\fR.
\fB^D\fR usunie również znak podziału linii, jeśli kursor znajduje się
na końcu linii. Naciśnij \fB^Y\fR by usunąć całą linię, w której znajduje
się kursor lub \fB^J\fR by usunąć tekst od kursora do końca linii.
.PP
Naciśnięcie \fB^A\fR przesuwa kursor na początek linii, w której się on
znajduje. Podobnie \fB^E\fR przemieszcza kursor na koniec linii. Klawisze
\fB^U\fR i \fB^V\fR przewijają kursor odpowiednio w górę i w dół o połowę
wysokości ekranu. "Przewijanie" oznacza, że przesuwa się tekst na ekranie,
lecz kursor pozostaje w tym samym miejscu na ekranie. Możesz przesunąć kursor
na początek lub na koniec pliku naciskając \fB^K U\fR lub \fB^K V\fR.
Przeglądając ekrany pomocy edytora zapoznasz się z wieloma innymi poleceniami
kasowania i przemieszczania.
.PP
W przypadku popełnienia pomyłki możesz nacisnąć \fB^_\fR by ją wycofać (undo).
Na większości klawiatur wystarczy nacisnąć \fB^-\fR by uzyskać \fB^_\fR, ale
na niektórych być może będziesz musiał przytrzymać równocześnie klawisze
\fBShift\fR i \fBControl\fR by uzyskać prawidłowy efekt.
Jeżeli wycofasz zbyt dużo zmian, możesz je przywrócić (redo) do stanu
przed cofnięciem - naciśnij \fB^^\fR (wystarczy \fB^6\fR na większości
klawiatur).
.PP
Jesli prowadzisz edycję w jednym miejscu pliku, a chciałbyś na chwilę
oglądnąć lub poprawić inne miejsce pliku, możesz powrócić do poprzedniego
miejsca naciskając \fB^K -\fR. Polecenie to faktycznie cofa cię do ostatniego
miejsca, w którym dokonałeś zmian w pliku. Możesz chodzić po historii miejsc
przy pomocy \fB^K -\fR i \fB^K =\fR w ten sam sposób, w jaki przemieszczasz
się przez historię zmian poleceniami "wycofaj" i "przywróć".
.PP
Po zakończeniu edycji pliku naciśnij \fB^K X\fR, by opuścić edytor. Jeżeli
jeszcze nie nazwałeś edytowanego pliku zostaniesz zapytany o nazwę.
.PP
Podczas edycji pliku pracujesz faktycznie na kopii pliku. Tak więc, jeżeli
zdecydujesz, że nie chcesz zmian przeprowadzonych w danej sesji edycji, możesz
nacisnąć \fB^C\fR. Opuścisz wówczas edytor bez zapisywania zmian.
.PP
Jeżeli edytujesz plik i zachowasz zmiany, w bieżącym katalogu zostanie
utworzona jego kopia zapasowa. Zawiera ona pierwotną wersję pliku i ma
nazwę oryginału zakończoną przyrostkiem \fB~\fR.
.SS Przenoszenie wyrazów i formatowanie
Jeśli w pliku z kodem Pascala lub C piszesz poza prawą krawędzią ekranu, to
ekran przewinie się w prawo, podążając za kursorem. Jeżeli piszesz poza
prawą krawędzią ekranu w zwykłym pliku (którego nazwa nie kończy się na
\&.c, .h czy .p), JOE automatycznie przeniesie ostatni wyraz do następnej linii,
tak że nie musisz naciskać \fBReturn\fR. Nazywa się to trybem przenoszenia
(zawijania) wyrazów (word-wrap mode). Przenoszenie wyrazów można włączać
i wyłączać poleceniem \fB^T W\fR. Plik inicjujący JOE'go jest zwykle
skonfigurowany tak, że tryb ten jest automatycznie włączany dla wszystkich
plików nie będących programami. Poniżej, w sekcji opisującej \fBjoerc\fR
dowiesz się, jak zmieniać tę i inne akcje domyślne.
.PP
Poza trybem przenoszenia wyrazów JOE nie formatuje automatycznie akapitów
jak niektóre procesory tekstu. Natomiast, jeżeli chcesz zreformatować
akapit, naciśnij \fB^K J\fR. Polecenie to "wypełnia" akapit, w którym
znajduje się kursor, umieszczając tyle wyrazów w linii, ile to jest możliwe.
Akapit, w tym przypadku, jest blokiem tekstu oddzielonym powyżej i poniżej
pustą linią. 
.PP
Marginesy, używane przez JOE'go do formatowania akapitów i przenoszenia
wyrazów mogą być ustawione poleceniami \fB^T L\fR i \fB^T R\fR. Jeżeli lewy
margines ustawiony jest na wartość różną od 1, to gdy rozpoczniesz pisanie
na początku linii, kursor natychmiast przeskoczy do lewego marginesu.
.PP
Możesz wycentrować linię pomiędzy marginesami używając polecenia \fB^K A\fR.
.SS Tryb nadpisywania
Konieczność usuwania starego tekstu przed lub po wstawianiu nowego bywa
męcząca. Zdarza się to, na przykład, jeśli zmieniasz tabelę i chcesz
zachować pozycję kolumny po prawej stronie tabeli. W tym przypadku możesz
przestawić edytor w tryb nadpisywania przy pomocy \fB^T T\fR.
Gdy edytor pracuje w tym trybie, wpisywane przez ciebie znaki zastępują
istniejący tekst jak zrobiłaby to idealna maszyna do pisania.
.\" +in the way an idealized typewriter would.
Również \fBbackspace\fR po prostu przesuwa w lewo zamiast usuwania znaku
po lewej, jeżeli nie jest na końcu lub na początku linii. Nadpisywanie
nie jest naturalnym sposobem pracy elektronicznej z tekstem, powinieneś więc
możliwie szybko powrócić do trybu wstawiania naciskając powtórnie \fB^T T\fR.  
.PP
Jeżeli potrzebujesz wstawienia w trybie nadpisywania, naciśnij \fB^@\fR.
Polecenie to wstawia pojedynczy odstęp (SPACE) do tekstu.
.SS Znaki sterujące Ctrl i metaznaki
Każdy znak reprezentowany jest przez numer. Na przykład, `A' ma numer 65,
zaś `1' ma numer 49. Wszystkie znaki, które zwykle widzisz, mają numery
od 32 do 126 [tłum.:nie dotyczy to specyficznych polskich znaków].
To szczególne, arbitralne przypisanie znaków do numerów nazywane jest
zestawem znaków ASCII. Liczby poza tym zakresem, od 0 do 255, nie są zwykle
wyświetlane, lecz czasami mają inne, specjalne znaczenie. Liczba 10,
na przykład, używana jest do zmiany (łamania) linii. Możesz wprowadzać takie
specjalne, nie wyświetlane \fBznaki sterujące Ctrl\fR (control characters)
naciskając najpierw \fB`\fR a następnie znak z zakresu
\fB@ A B C ... X Y Z [ ^ ] \e _\fR, by uzyskać znaki o numerach  0 - 31
oraz \fB?\fR by uzyskać znak 127. Na przykład, jeżeli naciśniesz
\fB` J\fR, wstawisz znak końca linii; wciśnięcie \fB` I\fR wstawia znak TAB
(który robi to samo, co klawisz TAB). Przydatnym znakiem sterującym jest
znak numer 12 (\fB` L\fR), który w większości drukarek powoduje wysuw
do początku strony. Zauważysz, że JOE wyświetla go jako podkreślone L.
Możesz też wprowadzać znaki o numerach (kodach) powyżej 127,
\fBmetaznaki\fR (meta characters), naciskając najpierw \fB^\e\fR.
Dodaje to 128 do następnego wprowadzonego znaku (prawdopodobnie sterującego).
JOE wyświetla zaki o kodach powyżej 128 w negatywie (inwersji). Niektóre
języki, posuiadające więcej liter niż język angielski, używają metaznaków
dla pozostałych, brakujących liter alfabetu. Musisz przełączyć edytor w tryb
\fBASIS\fR (dosł."tak jak jest"), opisany dalej, by znaki te nie podlegały
tłumaczeniu przy przesyłaniu do terminala.
.SS Zapytania edytora
Jeśli naciśniesz \fBTAB\fR w dowolnym zapytaniu o nazwę pliku, to joe
spróbuje, jeśli to możliwe, uzupełnić wprowadzoną przez ciebie nazwę.
Jeżeli nie może uzupełnić całej nazwy, gdyż istnieje więcej niż jedna
możliwość uzupełnienia, zasygnalizuje to dźwiękiem. Po ponownym naciśnięciu
\fBTAB\fR, joe wyświetli listę pasujących nazw. Możesz użyć klawiszy strzałek
do nawigacji po menu katalogu i nacisnąć RETURN lub SPACE, by wybrać pozycję.
Jeżeli naciśniesz pierszą literę jednej z pozycji katalogu, zostanie ona
wybrana. Jeśli więcej niż jedna pozycja zaczyna się tą literą, to kursor
będzie przemieszczał się pomiędzy nimi. Wybór podkatalogu lub \fI..\fR
powoduje, że nazwa katalogu zostanie dodana do nazwy pliku a do menu zostanie
załadowany nowy katalog. Możesz nacisnąć \fBbackspace\fR, by powrócić
do poprzedniego katalogu.
.PP
Większość zapytań pamięta odpowiedzi, jakich im udzieliłeś. Możesz użyć
strzałek w górę i w dół, by korzystać z list historii odpowiedzi.
.PP
Zapytania są faktycznie prostymi jednolinijkowymi oknami bez linii statusu.
Możesz więc użyć w nich dowolnego z poleceń, jakich normalnie używasz przy
pracy z tekstem. Historia zapytania jest naprawdę po prostu innymi liniami
tego samego "pliku zapytania". Zatem, jeśli chcesz, możesz w niej użyć
wyszukiwania przy pomocy polecenia \fB^K F\fR.
.PP
Ponieważ polecenia są oknami, możesz także przełączać się z nich sekwencjami
\fB^K P\fR i \fB^K N\fR.
.SS Gdzie jestem?
Naciśnij \fB^K SPACE\fR, by JOE podał ci w ostatniej linii ekranu numer linii,
kolumny i numer kolejny bajtu. Możesz na stałe włączyć wyświetlanie numeru
linii i/lub kolumny w linii statusu umieszczając odpowiednie sekwencje escape
w łańcuchach znakowych ustalających linię statusu. Szczegóły znajdziesz
w pliku \fIjoerc\fR.
Pokazana jest również liczba skojarzona ze znakiem, na którym stoi kursor
(jego kod ASCII).
.SS Operacje na plikach
Polecenie \fB^K D\fR zapisuje bieżący plik (niekoniecznie pod nazwą, pod jaką
był pierwotnie wywołany). Po zapisie pliku możesz nacisnąć \fB^K E\fR
i edytować inny plik.
.PP
Jeżeli chcesz zachować jedynie wybrany fragment pliku, przeczytaj niżej
sekcję na temat \fBbloków\fR.
.PP
Możesz włączyć zawartość innego piku do pliku aktualnie edytowanego,
naciskając \fB^K R\fR.
.SS Chwilowe wstrzymanie pracy z edytorem
Jeżeli potrzebujesz chwilowo opuścić edytor i wrócić do powłoki, naciśnij
\fB^K Z\fR. Możesz w ten sposób wstrzymać pracę, by odpowiedzieć na wiadomość
e-mail czy, na przykład, poczytać tę stronę podręcznika. W celu powrotu
do edytora będziesz musiał wpisać \fBfg\fR albo \fBexit\fR (dowiesz się,
które z nich, po naciśnięciu \fB^K Z\fR).
.SS Wyszukiwanie tekstu
Naciśnięcie \fB^K F\fR powoduje, że edytor będzie szukał w przód lub wstecz
fragmentu tekstu (\fBłańcucha znaków\fR - string). Zostaniesz zapytany o tekst
do wyszukania. Po naciśnięciu \fBReturn\fR, otrzymasz kolejne pytanie, o opcje.
Możesz po prostu powtórnie nacisnąć \fBReturn\fR - edytor natychmiast poszuka
tekstu w pozostałej części pliku (wyszukiwanie  do przodu). Możesz również
wybrać jedną z poniżsych opcji:
.TP
.B b
Wyszukaj wstecz zamiast w przód.
.TP
.B i
Podczas wyszukiwania traktuj duże i małe litery jak takie same. Normalnie
duże litery i małe litery uważane są za różne.
.TP
.I nnn
(gdzie \fBnnn\fR jest liczbą) Jeśli wprowadzisz liczbę, JOE szuka N-tego
wystąpienia tekstu. Jest to przydatne do przechodzenia do szczególnych
miejsc pliku mającego jakąś regularną strukturę.
.TP
.B r
Zastąp tekst. Po wprowadzeniu opcji \fBr\fR zostaniesz zapytany o tekst
zastępujący. Każdorazowo, gdy edytor znajdzie szukany tekst, będziesz pytany,
czy chcesz zastąpić znaleziony tekst tekstem zastępującym. Naciskasz: \fBy\fR
by zastąpić tekst i wyszukać następne wystąpienie, \fBn\fR by nie zastępować
tekstu, ale szukać kolejnego wystąpienia, \fBr\fR by zastąpić wszystkie
pozostałe wystąpienia tekstu w pozostałej części pliku bez pytania
o potwierdzenie (z zastrzeżeniem opcji \fInnn\fR, omówionej powyżej), albo
\fB^C\fR by zatrzymać wyszukiwanie i zastępowanie.
.PP
Polecenie \fB^L\fR powtarza poprzednie wyszukiwanie.
.SS Wyrażenia regularne
Jako tekst szukany mogą być wprowadzone specjalne sekwencje znaków:
.TP
.B \e*
Znajduje zero lub więcej znaków. Na przykład, jeżeli jako tekst szukany podasz
\fBA\e*B\fR, JOE spróbuje znaleźć A, po którym następuje dowolna liczba znaków,
a następnie B.
.TP
.B \e?
Znajduje dokładnie jeden znak. Na przykład, jeśli jako tekst do wyszukania
podasz \fBA\e?B\fR, to JOE znajdxie AXB, ale nie AB czy AXXB.
.TP
.B \e^\ \e$
Oznaczają odpowiednio początek i koniec linii. Na przykład, podanie
\fB\e^test\e$\fR spowoduje wyszukanie linii zawierającej wyłącznie \fBtest\fR.
.TP
.B \e<\ \e>
Oznaczając poczatek i koniec wyrazu. Na przykład, podanie
\fB\e<\e*kot\e*\e>\fR powoduje wyszukiwanie całych słów, w których znajduje się
podciąg (fragment) \fBkot\fR (np. kot, kotwica, stukot).
.TP
.B \e[...]
Dopasowuje dowolny pojedynczy znak spośród wymienionych w nawiasach
kwadratowych. Na przykład, jeżeli jako tekst do wyszukania podano
\fB\e[Cc]oś\fR, to JOE odnajduje zarówno \fBCoś\fR jak i \fBcoś\fR. Wewnątrz
nawiasów kwadratowych można użyć zakresu znaków. Na przykład, \fB\e[A-Z]\fR
znajduje dowolną dużą literę łacińską. Jeśli pierwszym znakiem wewnątrz
nawiasów jest \fB^\fR, to JOE szuka dowolnego znaku różnego od podanych
w nawiasach.
.TP
.B \ec
Działa jak \fB\e*\fR, ale dopasowuje całe wyrażenie języka C.
.\" a balanced C-language expression.
Na przykład, jeżeli szukasz \fBmalloc(\ec)\fR, to JOE odnajdzie wszystkie
wywołania funkcji \fBmalloc\fR, nawet jeśli wewnątrz nawiasów jest
inny \fB)\fR.
.\" function calls to \fBmalloc\fR, even if there was a \fB)\fR within the
.\" parenthesis.
.TP 
.B \e+
Znajduje zero lub więcej znaków następujących bezpośrednio po \fB\e+\fR.
Na przykład, po podaniu \fB\e[ ]\e+\e[ ]\fR, gdzie znakami wewnątrz nawiasów
są zarówno SPACE jak i TAB, JOE odnajdzie białe znaki.
.TP
.B \e\e
Oznacza pojedyncze \e.
.TP
.B \en
Znajduje znak specjalny końca linii lub zmiany linii.
.PP
Wiele specjalnych sekwencji znaków może być również użytych w tekście
zastępującym:
.TP
.B \e&
Ta sekwencja zastępowana jest przez tekst dopasowany w szukanym łańcuchu
znaków. Na przykład, jeżeli szukano łańcucha \fB\e<\e*\e>\fR, który
dopasowuje słowa, zaś jako łańcuch zastępujący podano \fB"\e&"\fR, to JOE
umieści znaki cudzysłowu wokół wyrazów.
.TP
.B \e0\ - \e9
Zastępują tekst dopasowany przez N-te wystąpienie \fB\e*\fR, \fB\e?\fR,
\fB\e+\fR, \fB\ec\fR, \fB\e+\fR lub \fB\e[...]\fR w szukanym łańcuchu.
.TP
.B \e\e
Użyj tej sekwencji, jeśli potrzebujesz \fB\e\fR w łańcuchu zastępującym.
.TP
.B \en  
Użyj tej sekwencji, jeśli potrzebujesz zmiany linii w łańcuchu zastępującym.
.PP
Kilka przykładów:
.PP
Załóżmy, że masz listę adresów, każdy w osobnej linii. Linie zaczynają się
od "Adres:" a każdy element adresu jest oddzielony przecinkiem. Jak to:
.PP
Adres: S. Holmes, 221b Baker St., London, England
.PP
Jeżeli chciałbyś zmienić układ listy, tak by na początku był kraj, potem
miasto, nazwisko osoby a na końcu adres, możesz zrobić to tak:
.PP
Wpisz \fB^K F\fR by rozpocząć szukanie. Następnie wprowadź łańcuch
do wyszukania:
.PP
\fBAdres:\e*,\e*,\e*,\e*\e$\fR 
.PP
by dopasować "Adres:", cztery elementy rozdzielone przecinkami oraz koniec
linii. Przy zapytaniu o opcje, wybierz \fBr\fR, gdyz chcemy zastępować
wyszukany łańcuch. Potem podaj łańcuch zastępujący:
.PP
\fBAdres:\e3,\e2,\e0,\e1\fR
.PP
co powinno przetasować informację w wymagany przez ciebie sposób.
Po naciśnięciu return rozpocznie się wyszukiwanie, a przykładowa linia
zostanie zmieniona na:
.PP
Adres: England, London, S. Holmes, 221b Baker St.
.SS Bloki tekstu
Chcąc przesuwać, powielać, zapisywać czy usuwać zadane fragmenty tekstu
możesz posłużyć się podświetlanymi blokami. Najpierw przesuń kursor
na początek fragmentu tekstu, z którym chcesz pracować i naciśnij \fB^K B\fR.
Następnie przesuń kursor na znak zaraz za końcem interesującego cię tekstu
i naciśnij \fB^K K\fR. Tekst pomiędzy \fB^K B\fR i \fB^K K\fR powinien
się podświetlić. Możesz teraz przemieścić kursor w jakieś inne miejsce
dokumentu i nacisnąć \fB^K C\fR by wstawić kopię podświetlonego tekstu
w miejsce wskazane kursorem. \fB^K Y\fR usuwa podświetlony tekst.
\fB^K W\fR zapisuje podświetlony tekst do pliku.  
.PP
Bardzo przydatnym poleceniem jest \fB^K /\fR, które filtruje blok tekstu
przy pomocy polecenia unixowego. Na przykład, jeżeli przez \fB^K B\fR
i \fB^K K\fR wybierzesz listę wyrazów, a następnie wpiszesz  \fB^K / sort\fR,
to lista ta zostanie posortowana. Innym użytecznym poleceniem unixowym
zastosowanym na blokach tekstu jest \fBtr\fR. Jeśli wpiszesz
\fB^K / tr a-z A-Z\fR, to wszystkie litery alfabetu łacińskiego użyte
w podświetlonym tekście zostną zamienione na duże.
.PP
Po zakończeniu pracy z blokiem tekstu możesz, jeśli ci to nie przeszkadza,
pozostawić podświetlenie (oczywiście, jeżeli przypadkowo naciśniesz
\fB^K Y\fR i nie zauważysz...). Jednak, jeżeli naprawdę ci to przeszkadza,
po prostu naciśnij \fB^K B ^K K\fR, co wyłączy podświetlenie (pusty blok).
.SS Wcięcia bloków tekstu programu
Tryb automatycznych wcięć przełączany poleceniem \fB^T I\fR.
Plik \fIjoerc\fR jest zwykle skonfigurowany tak, że pliki o nazwach
kończących się na .p, .c lub .h mają włączony tryb automatycznych wcięć.
W takim trybie po naciśnięciu \fBReturn\fR kursor zostanie umieszczony
w tej samej kolumnie, w której znajdował się pierwszy różny od SPACE/TAB znak
pierwotnej linii.
.PP
Do przesuwania bloku tekstu w lewo lub w prawo możesz użyć poleceń
\fB^K ,\fR i \fB^K .\fR. Jeżeli w czasie ich wydawania żaden tekst nie jest
podświetlony, to zostanie wybrany i przesunięty przez kolejne polecenia
blok programu, w obrębie którego znajduje się kursor.
Liczba kolumn, o ile przesuwają tekst te polecenia, może być ustawiona
opcją \fB^T\fR.
.SS Okna
Możesz prowadzić jednoczesną edycję wielu plików lub wielu różnych miejsc
w tym samym pliku. Aby to zrobić naciśnij \fB^K O\fR, co podzieli ekran
na dwa okna. Polecenia \fB^K P\fR i \fB^K N\fR przesuwają kursor odpowiednio
do górnego i dolnego okna. \fB^K E\fR rozpoczyna edycję nowego pliku w jednym
z okien. Okno znika po zapisaniu pliku przez \fB^K X\fR lub porzuceniu edycji
poleceniem \fB^C\fR. Jeśli porzucasz edycję pliku otwartego w dwu oknach,
to znika tylko jedno z okien; nie oznacza to całkowitego zaniechania pracy
z plikiem.
.PP
Możesz nacisnąć \fB^K O\fR w oknie, by utworzyć więcej okien. Jeżeli
na ekranie masz zbyt wiele okien, ale nie chcesz ich usuwać, naciśnij 
\fB^K I\fR. Spowoduje to pokazanie tylko okna, w którym znajduje się kursor,
lub, jeśli na ekranie było tylko jedno okno, próbę umieszczenia na ekranie
wszystkich ukrytych okien. Jeżeli okien ukrytych jest więcej, niż można
pomieścić na ekranie, możesz użyć \fB^K N\fR w najniższym z nich lub
\fB^K P\fR na najwyższym, by się do nich dostać.
.PP
Jeżeli przy wywołaniu JOE'go podano więcej niż jedną nazwę pliku, to każdy
plik zostanie umieszczony w osobnym oknie.
.PP
Możesz zmieniać wysokość okien przy pomocy poleceń \fB^K G\fR i \fB^K T\fR.
.SS Makra klawiaturowe 
Makra pozwalają na zapisanie szeregu naciśnięć klawiszy i odtworzenie ich
za naciśnięciem dwu klawiszy. Przydaje się to do automatyzacji powtarzalnych
zadań. W celu rozpoczęcia rejestracji makra naciśnij \fB^K [\fR oraz cyfrę
od 0 do 9. W linii statusu zostanie wyświetlone (Macro n recording...).
Teraz użyj serii klawiszy, którą chciałbyś móc powtarzać. Polecenia, które
wprowadzisz będą mieć zwykłe znaczenie. Naciśnięcie \fB^K ]\fR zatrzymuje
rejestrację makra. Możesz teraz nacisnąć \fB^K\fR zakończone numerem, pod
jakim zapisałeś makro, co powinno jednokrotnie wykonać sekwencję
zarejestrowanych naciśnięć.
.PP
Na przykład, jeśli chcesz wstawić "**" na początku pewnej liczby linii,
możesz wpisać:
.PP
\fB^K [ ^A ** \fR<strzałka w dół> \fB^K ]\fR
.PP
Rozpoczyna to proces rejestrowania makra, przesuwa kursor na początek linii,
wstawia "**", przesuwa kursor w dół o jedną linię i kończy rejestrację makra.
Ponieważ zawarliśmy w nim naciśnięcia klawiszy niezbędne do ustawienia kursora
w następnej linii, możemy powtarzać użycie tego makra bez potrzeby
własnoręcznego przesuwania kursora. Warto o tym pamiętać rejestrując makra.
.PP
Jeżeli zauważysz, że makro, które rejestrujesz posiada już samo w sobie
powtarzającą się sekwencję klawiszy, to możesz zapisać jedno makro wewnątrz
innego, używając oczywiście innego numeru makra. Możesz również wykonywać
poprzednio zarejestrowane makra wewnątrz nowych makr.
.SS Powtarzanie
Możesz użyć polecenia powtarzania, \fB^K \e\fR, by powtórzyć zadaną ilość razy
makro lub jakiekolwiek inne polecenie czy nawet zwykły znak. Naciśnij
\fB^K \e\fR, wpisz ile razy chcesz by zostało powtórzone polecenie i naciśnij
\fBReturn\fR. Następne użyte polecenie edycji zostanie powtórzone zadaną
liczbę razy.
.PP
Na przykład, by usunąć 20 linii tekstu, wpisz:
.PP
\fB^K \\ 20\fR<return>\fB^Y\fR
.SS Tryb bloków prostokątnych
Po użyciu \fB^T X\fR, sekwencje \fB^K B\fR i \fB^K K\fR będą zaznaczać
prostokątne bloki tekstu zamiast bloków ciągłego tekstu (stream-of-text).
Tryb ten przydaje się do przesuwania, kopiowania, usuwania czy zapisu kolumn
tekstu. Możesz też filtrować kolumny tekstu przy pomocy polecenia \fB^K /\fR,
jeśli chcesz, na przykład, posortować kolumnę. Tryb ten wpływa również
na polecenie wstawiania pliku, \fB^K R\fR.
Gdy wybrany jest tryb pracy z blokami prostokątnymi, przydaje się również
tryb nadpisywania tekstu (\fB^T T\fR). Po wybraniu trybu nadpisywania
prostokąty nie będą wstawiane przed istniejący tekst - zamiast tego będą
go zastępować. Również polecenie usunięcia bloku (\fB^K Y\fR) wyczyści wybrany
obszar spacjami i tabulatorami zamiast usuwania go. Tryb zastępowania jest
szczególnie użyteczny w poleceniu filtrowania bloku (\fB^K /\fR), gdyż
zachowuje pierwotną szerokość wybranej kolumny.
.SS Wyszukiwanie znaczników (tags)
Jeżeli tworzysz duży program w języku C z wieloma plikami źródłowymi, możesz
użyć programu \fBctags\fR do utworzenia pliku \fBtags\fR. Plik ten
zawiera listę symboli programu oraz plików i miejsc, gdzie symbole są
definiowane.
Możesz posłużyć się poleceniem \fB^K ;\fR wyszukującym symbol (funkcje,
stałe symboliczne itd.), wczytującym plik, w którym jest on zdefiniowany,
do bieżącego okna i ustawiającym kursor w miejscu, gdzie zdefiniowano symbol.
\fB^K ;\fR pyta o pożądany symbol, ale domyślnie używa symbolu, na którym
stoi kursor. Ponieważ \fB^K ;\fR wczytuje plik z definicją do bieżącego okna,
zapewne zechcesz uprzednio podzielić okna sekwencją \fB^K O\fR, by mieć
wczytany do edytora zarówno pierwotny plik jak i plik z definicją.
.SS Okna powłoki
Naciśnięcie \fB^K '\fR uruchamia powłokę poleceń w jednym z okien JOE'go.
Gdy kursor jest na końcu okna powłoki (naciśnij \fB^K V\fR, jeśli nie jest),
cokolwiek wpiszesz przesyłane jest do powłoki zamiast okna. Wyniki zwracane
przez powłokę lub polecenia wykonywane w powłoce dołączane są na koniec okna
powłoki. Kursor będzie przemieszczał się za nimi, jeśli był na końcu okna.
Polecenie to przydaje się do zapisywania wyników poleceń powłoki
- na przykład wyjścia polecenia \fBmake\fR, rezultatu wyszukiwania przez
\fBgrep\fR ciągu znaków w plikach czy listy katalogów z sesji \fBFTP\fR.
Oprócz możliwych do wpisania znaków (typeable characters), przesyłane są
do powłoki klawisze ^C, Backspace, DEL, Return i ^D. Wpisz polecenie powłoki
\fBexit\fR, by zatrzymać zapisywanie wyników z powłoki. Jeżeli naciśniesz
\fB^C\fR w oknie powłoki, gdy kursor nie znajduje się na końcu okna,
proces powłoki zostanie zabity.
.\" the shell is \fBkill\fRed.
.SH ZMIENNE ŚRODOWISKA 
Poprawna praca JOE'go wymaga właściwego ustawienia wielu innych zmiennych
środowiska. Powinna być prawidłowo ustawiona prędkość transmisji dla połączenia
między komputerem a twoim terminalem; tylko wtedy JOE będzie gładko
aktualizował ekran i umożliwi wpisywanie znaków z wyprzedzeniem opóźniając
odświeżanie ekranu.
.\" to update the screen smoothly and allow typeahead to defer the screen update. 
Ustaw prędkość poleceniem \fBstty \fInnn\fR. Powinna zostać ustawiona na
wartość najbliższą faktycznej prędkości połączenia. Na przykład, jeżeli
jesteś połączony za pośrednictwem modemu 1200 bodów, to tej właśnie wartości
powinieneś użyć jako parametru \fBstty\fR. Jeżeli jesteś połączony modemem
14.4k, ale "terminal server", z którym jesteś połączony łączy się z komputerem
z 9600 bodów, to powinieneś ustawić prędkość na 9600. Specjalna prędkość
38400 lub \fBextb\fR wskazuje, że używasz bardzo szybkiego połączenia, jak
na przykład konsoli mającej bezpośrednie odwzorowanie w pamięci (memory
mapped console) lub pseudoterminala X-window (X-window terminal emulator).
Jeżeli nie możesz użyć polecenia \fBstty\fR do ustawienia rzeczywistej
przepustowości,
.\" (być może gdyż modemu łączy się z komputerem z inną prędkością
.\" niż łączy się on za pośrednictwem linii telefonicznej)
.\" (perhaps because of a modem communicating with the computer at a 
.\" different rate than it's communicating over the phone line)
możesz zamiast tego nadać wartość numeryczną zmiennej środowiska \fBBAUD\fR
(\fBsetenv BAUD 9600\fR dla powłoki csh lub \fBBAUD=9600; export BAUD\fR
dla sh).
.PP
Zmienna środowiska \fBTERM\fR musi być ustawiona na typ terminala, z którego
korzystasz. Jeżeli rozmiar (liczba linii/kolumn) twojego terminala różni się
od wskazanej we wpisie w TERMCAP czy TERMINFO, możesz go ustawić przy pomocy
polecenia \fBstty rows \fInn\fB cols \fInn\fR albo ustawiając zmienne
środowiska \fBLINES\fR i \fBCOLUMNS\fR.
.PP
Zwykle JOE spodziewa się, że sterowanie przepływem danych (flow control)
pomiędzy komputerem a twoim terminalem używa programowych potwierdzeń ^S/^Q
(tzn. jeśli komputer wysyła do terminala znaki zbyt szybko, to terminal
przesyła ^S, by zasygnalizować żądanie wstrzymania nadawania kolejnych danych,
zaś ^Q, by wznowić nadawanie). Jeżeli sterowanie przepływem danych używa
potwierdzenia sprzętowego (hardware handshaking) lub "out-of-hand" albo
terminal jest dostatecznie szybki by zawsze nadążać za danymi nadawanymi
z komputera, możesz przypisać sekwencje ^S i ^Q do poleceń edycyjnych JOE'go.
W tym celu powinieneś ustawić zmienną środowiska \fBNOXON\fR, by JOE mógł
wyłączyć potwierdzanie przez ^S/^Q. Jeśli połączenie między komputerem
a twoim terminalem nie używa potwierdzeń, zaś terminal nie jest dość szybki
by poprawnie odbierać wszystkie nadsyłane dane, to możesz ustawić zmienną
środowiska \fBDOPADDING\fR, co spowoduje, że \fBJOE\fR spowolni wysyłanie
przeplatając znakami wypełniającymi (PAD) sekwencje aktualniania
ekranu terminala.
.\" JOE slow down the output by interspersing PAD characters between
.\" the terminal screen update sequences.
.SH NAZWY PLIKÓW
Wszędzie, gdzie JOE oczekuje wprowadzenia nazwy pliku, zarówno w linii poleceń
jak i w zapytaniach edytora, możesz również wpisać:
.TP
.BI ! polecenie
Odczyt lub zapis danych do lub z polecenia powłoki. Na przykład, użyj
\fBjoe '!ls'\fR, by otrzymać kopię listingu katalogu gotową do edycji, albo
wewnątrz edytora użyj \fB^K D !mail jhallen@world.std.com\fR, aby wysłać
do autora JOE'go edytowany plik.
.TP
.BI >> nazwapliku
Nakazuje JOE'mu dołączenie edytowanego tekstu na koniec pliku \fInazwapliku\fR.
.TP
.I nazwapliku, START, ROZMIAR
Daje dostęp do konkretnego fragmentu pliku lub urządzenia.
\fISTART\fR oraz \fIROZMIAR\fR mogą być wprowadzone w postaci dziesiętnej
(np. 123), ósemkowej (np. 0777) lub szesnastkowej (np. 0xFF). Na przykład,
\fBjoe /dev/fd0,508,2\fR umożliwia edycję 508-go i 509-go bajtu pierwszego
napędu dyskietek w Linuksie.
.TP
.B \-
Pobiera dane ze standardowego wejścia lub zapisuje wyniki na standardowe
wyjście. Na przykład, możesz włączyć joe'go do potoku poleceń:
\fBquota \-v | joe \- | mail root\fR, jeśli chcesz ponarzekać na swoje
zbyt małe udziały w przestrzeni dyskowej (quota).
.SH PLIK joerc
Opcje \fB^T\fR, ekrany pomocy i przypisania sekwencji klawiszy do poleceń
edytora zdefiniowane są w pliku inicjującym JOE'go. Po zrobieniu kopii
tego pliku (który zwykle znajduje się w \fI/usr/local/lib/joerc\fR) do katalogu
domowego, pod nazwą \fI$HOME/.joerc\fR, możesz zmieniać te ustawienia według
własnych upodobań. Składnia pliku inicjującego powinna być dość oczywista,
poza tym są w nim zawarte dalsze wskazówki.
.SH PODZIĘKOWANIA
.\" Acknowledgements
JOE'go napisał Joseph H. Allen. Zgłoszenia błędów i pytania nadsyłaj na adres
jhallen@world.std.com.
W pracy nad stworzeniem JOE'go pomogli również Larry Foard
(entropy@world.std.com) i Gary Gray (ggray@world.std.com).
.SH "INFORMACJE O TŁUMACZENIU"
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i 
\fImoże nie być aktualne\fR. W razie zauważenia różnic między powyższym opisem
a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie 
się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
.IP
man \-\-locale=C 1 joe
.PP
Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod
adresem http://sourceforge.net/projects/manpages\-pl/.
