![]()
Program MEMACS jest edytorem tekstu. Jest on amigowską wersją programu MEMACS używanego na innych komputerach. Umożliwia on pracę na kilku tekstach i podstawowe operacje na tekście: wyszukiwanie i wymianę wyrazów, zmiana liter dużych na małe, itp. Nie pozwala jednak na zmianę rodzaju czcionki, jej kroju (pochylona, pogrubiona), numerowania stron i innych operacji związanych z "graficznym" wyglądem tekstu. Ilość możliwych do edycji tekstów jest ograniczona rozmiarem wolnej pamięci.

Najniższa linia okna pokazuje tytuł aktualnie obrabianego pliku. Nazwa "main" oznacza, że aktualnie obrabiana jest zawartość głównego bufora, której jeszcze nie nadano nazwy.
Program obsługiwany jest z rozbudowanego menu rozwijanego:
- Project - operacje odczytu i zapisu tekstów
- Edit - operacje edycji tekstów
- Window - kontrola okien edytora
- Move - przenoszenie kursora
- Line - operacje wykonywane na liniach tekstu
- Word - operacje wykonywane na słowach
- Search - operacje związane z wyszukiwaniem i zmianą wyrazów
- Extras - dodatkowe operacje - makroinstrukcje, argumenty liczbowe poleceń
Każda z komend menu posiada swój odpowiednik na klawiaturze. Kombinacja klawiszy jest widoczna obok polecenia w menu. W menu klawisz CONTROL jest reprezentowany przez symbol ^.
Menu - PROJECT
Rename
odpowiednik na klawiaturze CTRL-X-F, zmienia tytuł edytowanego
tekstu
Read File
CTRL-X-CTRL-F - odczytuje z dysku plik o podanym tytule
Visit File
CTRL-X-CTRL-V - odczytuje plik z dysku i tworzy dla niego nowy
bufor, nie niszcząc bufora aktualnie obrabianego
Insert File
CTRL-X-CTRL-I - odczytuje plik z dysku i dopisuje jego zawartość
do tekstu aktualnie obrabianego
Save File
CTRL-X-CTRL-S - zapisuje plik na dysku pod nazwą, z którą
został odczytany. Jeżeli plik tekst nie ma tytułu, wtświetlony
zostanie komunikat NO FILE NAME
Save As File
CTRL-X-CTRL-W - zapisuje tekst na dysku, pytając przed zapisem o
nazwę, pod którą tekst ma być nagrany
Save Mod
CTRL-X-CTRL-M - zapisuje do odczytanego z dysku i obrabianego
tekstu wszystkie dokonane w nim zmiany
Save Exit
CTRL-X-CTRL-F - zapisuje wszystkie zmienione bufory na dysk i kończy
pracę edytora
New CLI
otwiera na oknie edytora okno AmigaDos, w którym można używać
rozkazów AmigaDos bez zakłócania pracy edytora
CLI Command
CTRL-X-! - umożliwia użycie rozkazu AmigaDos bez opuszczenia
edytora. Na dole okna ukazuje się znak !. Teraz można napisać
potrzebne polecenie i uruchomić je. Edytor czasowo zawiesza pracę,
aż do momentu zakończenia wykonywania rozkazu AmigaDos
Quit
kończy pracę edytora
Menu - EDIT
Kill Region
CTRL-W - usuwa z tekstu zaznaczone bloki i kopiuje je do bufora
przeznaczonego do tego celu. Blok tekstu zaznacza się poleceniem
SET-MARK opisaną dalej
Yank
CTRL-Y - kopiuje zawartość bufora do tekstu rozpoczynając od
aktualnej pozycji kursora
Set Mark
CTRL-@ - zaznacza w tekście początek bloku tekstu w miejscu,
gdzie aktualnie znajduje się kursor. Koniec bloku zaznacza się
przez ustawienie na nim kursora
Copy Region
ESC-W - kopiuje zaznaczony blok tekstu do bufora, nie usuwając
bloku z tekstu
Upper Region
CTRL-X-CTRL-U - w zaznaczonym bloku tekstu zmienia wszystkie
litery na duże
Lower Region
CTRL-X-CTRL-L - zmienia w bloku tekstu wszystkie litery na małe
List Buffers
CTRL-X-CTRL-B - wyświetla listę aktualnie znajdujących się w
buforach tekstów, podając ich rozmiar w bajtach, tytuł i ścieżkę
dodtępu
Select Buffer
CTRL-X-B - umożliwia wybór dokumentu, który ma być obrabiany,
spośród dokumentów znajdujących się w buforach
Insert Buffer
ESC-CTRL-Y - dopisuje zawartość podanego bufora do aktualnie
obrabianego tekstu, rozpoczynając od linii poniżej kursora
Kill Buffer
CTRL-X-K - usuwa zawartość wybranego bufora
Justify Buffer
CTRL-X-J - wyrównuje tekst do lewego marginesu - usuwa wszystkie
spacje i tabulacje z lewej strony tekstu
Redisplay
CTRL-L - ponownie wyświetla zawartość okna sprzed dokonanej
zmiany
Quote Char
CTRL-Q - umożliwia wstawienie do tekstu ciągu znaków, które będą
traktowane jako polecenie.
Indent
CTRL-J - przenosi kursor do następnej linii pozostawiając taki
sam akapit, jak w linii poprzedniej. Polecenie to można uzyskać
także przez naciśnięcie klawisza HELP
Transpose
CTRL-T - zamienia miejscami dwa sąsiadujące znaki. Kursor musi
być ustawiony na prawym znaku
Cancel
przerywa działanie poleceń
Menu - WINDOW
One Window
CTRL-X-1 - powiększa okno aktualnie obrabianego bufora na cały
ekran
Split Window
CTRL-X-2 - dzieli aktualne okno tekstu na dwa o tej samej zawartości.
To umożliwia edycję dwóch fragmentów tego samego teksu
jednocześnie
Next Window
CTRL-X-N - przenosi kursor do następnego otwartego okna i umożliwia
edycję zawartego w nim tekstu
Prev Window
CTRL-X-P - przenosi kursor do poprzedniego otwartego okna i
pozwala na edycję w nim
Expand Window
CTRL-X-Z - dodaje jedną linię do aktualnego okna zmniejszając
jednocześnie okno sąsiednie
Shrink Window
CTRL-X-CTRL-Z - zmniejsza aktualne okno o jedną linię dodając
tę do okna sąsiedniego
Next W Page
ESC-CTRL-V - wyświetla następną stronę (fragment tekstu
obejmowany w rozmiarach okna) obrabianego tekstu
Prev W Page
CTRL-X-V - wyświetla poprzednią stronę tekstu
Menu - MOVE
Top of Buffer
ESC-< - przenosi kursor na początek aktualnego tekstu
End of Buffer
ESC-> - przenosi kursor na koniec tekstu
Top of Window
ESC-, - przenosi kursor na początek tekstu obejmowanego przez
okno
End of Window
ESC-. - przenosi kursor na koniec tekstu obejmowanego przez okno
Goto Line
CTRL-X-CTRL-G - przenosi kursor do linii o podanym numerze
Swap Dot&Mark
CTRL-X-CTRL-X - zamienia miejscami kursor i zaznaczony początek
bloku tekstu
Next Page
CTRL-V - przesuwa tekst w oknie tak, że kursor po przesunięciu
znajduje się na początku poprzedniej strony
Prev Page
ESC-V - przesuwa tekst w oknie tak, że po przesunięciu kursor
znajduje się na początku poprzednie strony
Next Word
ESC-F - przenosi kursor do przodu, do następnego
niealfanumerycznego znaku (spacji, przecinak, itp.)
Previous Word
ESC-B - przenosi kursor na początek poprzedniego słowa
Scroll Up
CTRL-Z - przesuwa tekst w oknie o jedną linię w górę
Scroll Down
ESC-Z - przesuwa tekst w oknie o jedną linię w dół
Menu - LINE
Open Line
CTRL-O - przenosi kursor wraz z następującym po nim tekstem do
następnej linii
Kill Line
CTRL-X-CTRL-D - usuwa linię, w której znajduje się kursor i
kopiuje ją do bufora
Kill ro eol
CTLR-K - kasuje wszystkie znaki rozpoczynając od pozycji kursora
do końca linii i kopiuje usunięty fragment linii do bufora
Start of Line
CTRL-A - przenosi kursor na początek linii
End of Line
CTRL-E - przenosi kursor na koniec aktualnej linii
Next Line
CTRL-N - przenosi kursor o jedną linię w dół
Previous Line
CTRL-P - przenosi kursor o jedną linię w górę
Line to Top
ESC-! - przenosi linię, w której znajduje się kursor na początek
strony
Delete Blanks
CTRL-X-CTRL-O - usuwa puste linie rozpoczynając od pozycji
kursora. Kończy, kiedy napotka na linię, w której znajduje się
tekst
Show Line#
CTRL-X-= - wyświetla informacje o aktualnej pozycji kursora
Menu - WORD
Delete Forw
ESC-D - usuwa wszystkie znaki od pozycji kursora do znaku
niealfanumerycznego (spacji, przecinka, kropki)
Delete Back
ESC-H - usuwa wszystkie znaki od pozycji kursora do pierwszego
znaku w wyrazie
Upper Word
ESC-U - zmienia litery w aktualnym słowie na duże
Lower Word
ESC-L - zmienia litery w aktualnym słowie na małe
Cap Word
ESC-C - zamienia literę znajdującą się pod kursorem na dużą,
a resztę liter do końca wyrazu na małe
Seitch Case
zamienia znaki w słowie (duże na małe i odwrotnie)
Menu - SEARCH
Search Forward
CTRL-S - poszukuje podanego ciągu znaków rozpoczynając od
znaku znajdującego się pod kursorem do końca tekstu. Jeżeli
ciąg zostanie znaleziony to kursor zostanie przeniesiony na jego
początek. Jeżeli w tekście nie ma podanego ciągu znaków wyświetlony
będzie komunikat NOT FOUND.
Search Backward
CTRL-R - poszukuje podanego ciągu znaków rozpoczynając od
pozycji kursora do początku tekstu
Search Replace
ESC-R - działa tak jak Search Forward, lecz po
natrafieniu na poszukiwany ciąg znaków zastępuje go innym
Query S R
ESC-Q - działa podobne jak Search Replace, lecz po każdym
natrafieniu na poszukiwany ciąg znaków pyta o potwierdzenie
wymiany na inny (Y - tak, N - nie, C - zastąpienie wszystkiego
bez pytania)
Fence Match
ESC-CTRL-F - poszukuje nawiasu stanowiącego parę z aktualnie
wskazanym przez kursor (może to być ( ),[],{},<>)
Menu - EXTRAS
Set Arg
CTRL-U - pozwala na ustalenie argumentu liczbowego dla polecenia.
Set
ESC-S - pozwala na ustalenie parametrów pracy edytora. Po
ukazaniu się Set: można wybrać któryś z
parametrów:
Backup - włącza i wyłącza wykonywanie przez program co pewien czas kopii
rezerwowej obrabianego tekstu, zapisywanej w katalogu T: Case - określa czy podczas operacji szukania program będzie rozróżniał
duże i małe litery, czy nie
Indent+liczba - rozmiar poziomów zagnieżdżenia (przy edycji programów w języku C)
Interlace - zmienia rozdzielczość pionową obrazu
Left+liczba - rozmiar lewego marginesu
Mode - wpisanie tego powoduje ukazanie się wskaźnika Mode: Teraz można
wpisać: cmode (edycja programów w języku C) lub wrap (automatyczne
przenoszenie wyrazu do następnej linii po osiągnięciu przez kursor
kolumny o określonym numerze)
Right+liczba - rozmiar prawego marginesu
Screen - umieszcza edytor na ekranie Workbencha lub na nowo otwartym oknie
Tab+liczba - rozmiar pojedynczego "przeskoku" tabulacji
Start Macro
CTRL-X-( - rozpoczyna zapamiętywanie sekwencji poleceń, które
potem zostaną połączone w makropolecenie. Polecenia mogą być
podawane jako kombinacje klawiszy lub wydawane z rozwijanego menu
Stop Macro
CTRL-X-) - kończy rejestrowanie poleceń i zapamiętuje
makropolecenie
Execute Macro
CTRL-X-E - wykonuje makropolecenie
Set Key
CTRL-X-CTRL-K - pozwala na przyporządkowanie poleceń klawiszom
funkcyjnym. Jednemu klawiszowi może zostać przyporządkowana
sekwencja 80 poleceń. Oto poszczególne fazy definicji klawiszy:
Key to Define: - naciśnij klawisz, który chcesz zdefiniować
Def: - wpisz ciąg znaków oznaczający interesujące polecenie - odpowiednik
polecenia z menu na klawiaturze. ENTER kończy wpisywanie i
zatwierdza definicję klawisza
Reset Keys
ESC-K - kasuje definicje klawiszy
Execute File
ESC-E - pozwala na uruchomienie pliku rozkazowego AmigaDos wewnątrz
edytora
Execute Line
CTRL-[-CTRL-[ - przełącza edytor w tryb poleceń. Poleceniami są
nazwy poszczególnych opcji rozwijanego menu
Edytor tekstu ED umożliwia edycję plików tekstowych z poziomu AmigaDos. Można nim tworzyć nowe pliki i przeredagować istniejące. Uruchomienie edytora następuje po wydaniu polecenia: ED nazwa_pliku

Jeżeli podany plik istnieje to zostanie wczytany, a jeżeli nie istnieje - edytor stworzy nowy plik o podanym tytule. Po uruchomieniu edytora otwiera się na ekranie okno.
Część komend edytora ED osiągalne jest z rozwijanego menu
Menu - PROJECT
Open
otwiera okno, w którym można wybrać plik tekstowy do wczytania
Save
zapisuje pliki na dysk pod nazwą, z którą był wczytany. Jeżeli
plik był tworzony od nowa to otwiera się okno, w którym można
wybrać miejsce i tytuł zapisu.
Save As
zapisuje plik na dysku pod podaną nazwą
About
podaje informacje o autorach programu i obrabianym tekście
Quit
kończy pracę programu
Menu - MOVEMENT
Top
przesuwa kursor na początek tekstu
Bottom
przesuwa kursor na koniec tekstu
Find
poszukuje podanego łańcucha znaków od pozycji kursora do końca
tekstu
Backwards Find
poszukuje podanego tekstu od pozycji kursora do początku tekstu
Menu - EDIT
Delete Line
usuwa linię, w której znajduje się kursor
Query-Replace
wyszukuje podany łańcuch znaków i zastępuje go innym
Redisplay
przywraca zawartość okna z przed ostatnio wykonanej operacji
Pozostałe polecenia edytora są dostępne z klawiatury. Polecenia te dzielą się na dwie grupy:
- bezpośrednie; wywoływane przez naciśnięcie
kombinacji CTRL+LITERA
- rozszerzone; wywoływane w trybie rozszerzonym,
do którego przechodzi się po naciśnięciu klawisza ESC. Po
naciśnięciu ESC w dolnej linii okna ukazuje się znak *, po którym
wpisuje się polecenie. Polecenia te mogą zawierać parametry:
s - ciąg znaków
n - parametr liczbowy
s/t - dwa łańcuchy znaków - jeden odnajduje, drugi wymienia
Komendy bezpośrednie:
A
wprowadza nową linię
B
usuwa linię z kursorem
D
przesuwa tekst o jedną linię w dół
E
ustawia kursor na pierwszej lub ostatniej linii tekstu
F
zamienia literę pod kursorem z dużej na małą i odwrotnie
G
powtarza ostatnio wydane polecenie
H
kasuje znak z lewej strony kursora
I
ustawia kursor na następnej pozycji tabulacji
M
działa jak klawisz ENTER
O
kasuje słowo (spację) do najbliższej spacji (słowa)
R
przesuwa kursor na koniec aktualnego słowa
T
przesuwa kursor na początek aktualnego słowa
U
przesuwa tekst o jedną linię w górę
V
przywraca zawartość ekranu z przed ostatnio wykonanej operacji
Y
kasuje wszystkie znaki od kursora do końca linii
Komendy rozszerzone:
A
wstawia linię pod linią, w której znajduje się kursor
B
ustawia kursor na końcu pliku
BE
zaznacza koniec bloku w miejscu, gdzie znajduje się kursor
BE s
szuka łańcucha s od kursora do początku pliku
BS
zaznacza początek bloku w miejscu, gdzie znajduje się kursor
CE
ustawia kursor na końcu aktualnej linii
CL
przesuwa kursor o jedną pozycję w lewo
CR
przesuwa kursor o jedną pozycję w prawo
CS
ustawia kursor na początek linii
D
usuwa linię, w której znajduje się kursor
DB
usuwa zaznaczony blok
DC
działa jak klawisz DEL
E s t
wymienia łańcuch s na t
EQ s t
działa podobnie jak E, lecz przed każdą
wymianą pyta o potwierdzenie operacji
EX
rozszerza prawy margines
F s
szuka łańcucha s
I s
wprowadza łańcuch s jako linię przed linią
aktualną
IB
kopiuje zaznaczony blok do tekstu rozpoczynając od aktualnej
pozycji kursora
IF s
odczytuje z dysku plik o tytule s
J
łączy aktualną linię z następną
LC
włącza rozróżnianie dużych i małych liter w poszukiwaniu
M n
przenosi kursor do linii n
N
przenosi kursor do początku następnej linii
P
przenosi kursor do początku poprzedniej linii
Q
przerywa pracę edytora bez zapisania tekstu
R
powtarza ostatnio wydaną komendę aż do wystąpienia błędu
S
dzieli linię w pozycji kursora - część linii znajdująca się
na lewo od kursora zostawia, a część znajdującą się na
prawo od kursora przenosi do następnego wiersza
SA
zapisuje tekst
SB
pokazuje zaznaczony blok tekstu
SL n
ustawia lewy margines w kolumnie n
SR n
ustawia prawy margines w kolumnie n
ST n
ustawia "przeskok" tabulatora na n
kolumn
T
przenosi kursor na początek tekstu
U
anuluje ostatnio dokonaną zmianę
UC
wyłącza rozróżnianie dużych i małych liter w poszukiwaniu
WB s
zapisuje zaznaczony blok na dysk do pliku s
X
kończy pracę edytora zapisując tekst na dysk i zamykając okno
ED
Możliwa jest konfiguracja menu edytora dla własnych potrzeb. Plik z ustawieniami znajduje się w katalogu S pod nazwą Ed-Startup. Konfiguracja edytora ED wykorzystuje powyższe komendy. Jeżeli chce się zmienić menu to, należy dokładnie przestudiować poniższy tekst, który jest standardowym plikiem z ustawieniami.
si 0 1 "Project"
si 1 2 "Open... ESCop" "op ? /File: /"
si 2 4
si 3 2 "Save ESCsa" "sa"
si 4 2 "Save As... ESCsa" "sa ? /Save As: /"
si 5 4
si 6 2 "About ESCsh" "sh"
si 7 2 "Quit ESCq" "q"
si 8 1 "Movement"
si 9 2 "Top ESCt" "t"
si 10 2 "Bottom ESCb" "b"
si 11 4
si 12 2 "Find... ESCf" "f ? /Find string: /"
si 13 2 "Backwards Find... ESCbf" "bf ? /Find
string: /"
si 14 1 "Edit"
si 15 2 "Delete Line ESCd" "d"
si 16 2 "Query-Replace... ESCeq" "eq ? /Replace
this: / ? /With this: /"
si 17 4
si 18 2 "Redisplay ESCvw" "vw"
si 19 0
em
Kasując plik konfiguracyjny Ed-Startup, uzyska się nieco rozbudowane menu edytora
Komunikaty najczęściej występujących błędów
Block incorrectly specifield
blok źle oznaczony
Commands abandoned
wykonywanie rozkazu zostało przerwane
Creating new file
tworzę nowy plik
Cursor inside block
kursor znajduje się wewnątrz bloku
End of file
to samo z drugiej strony
File contains binary
zbiór, który miał być wczytany jest plikiem binarnym, a to jest edytor
tekstowy
Input lines truncated
chcesz edytować zbiór zapisany innym edytorem, o zbyt długich
wierszach;
zostały one obcięte do 255 znaków
Last line deleted
usunięty ostatni wiersz
Line too long
wiersz zbyt długi
No block marked
blok, na którym chciałeś wykonać operację, nie został wcześniej
zaznaczony
No room in buffer
brak miejsca w buforze
Number expected
nie wprowadzono niezbędnego parametru cyfrowego
Out of memeory for operation
to działanie potrzebuje więcej pamięci niż jest dostępne
Rexx not available
próba użycia usługi Arexx, bez wcześniejszego aktywowania
Search failed
błąd przeszukiwania
Syntax error
błąd składni rozkazu
Tabs in input file expanded
tabulatory we wczytywanym zbiorze rozszerzone
Top of file
początek tekstu
Unable to open file
zbioru nie da się otworzyć
Unknown command
rozkaz nieznany
Unknown internal error
???
Unmatched
nie zamknięty nawias