mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
1189 lines
50 KiB
Perl
1189 lines
50 KiB
Perl
Copyright (c) 1985, 2001 Free Software Foundation, Inc.
|
|
Szczegóły na końcu pliku. Czytasz właśnie krótki podręcznik Emacsa.
|
|
|
|
Polecenia Emacsa ogólnie wymagają wciśnięcia klawisza CONTROL (czasami
|
|
oznaczanego CTRL lub CTL) lub klawisza META (czasami oznaczanego EDIT
|
|
lub ALT). Zamiast pisać META czy CONTROL za każdym razem, gdy masz
|
|
przycisnąć ten klawisz, używać będziemy następujących skrótów:
|
|
|
|
C-<znak> oznacza trzymanie klawisza CONTROL podczas wciskania klawisza <znak>.
|
|
Na przykład C-f będzie odpowiadało naciśnięciu f, podczas gdy
|
|
klawisz CONTROL był wciśnięty.
|
|
M-<znak> oznacza trzymanie klawisza META wciśniętego podczas
|
|
wciskania klawisza <znak>. Jeśli nie masz klawisza META,
|
|
naciśnij i puść klawisz ESC, a potem naciśnij klawisz <znak>.
|
|
|
|
Uwaga: by zakończyć sesje Emacsa naciśnij C-x C-c (dwa znaki).
|
|
Znaki ">>" na lewym marginesie w dalszej części tego podręcznika
|
|
oznaczają ćwiczenia dla Ciebie. Na przykład:
|
|
<<Blank lines inserted here by startup of help-with-tutorial>>
|
|
>> Teraz naciśnij C-v (następny ekran), by przejść na następny ekran
|
|
podręcznika (zrób to naciskając jednocześnie klawisz CONTROL i v).
|
|
Od tego momentu powinieneś robić to zawsze, gdy dojdziesz
|
|
do końca ekranu.
|
|
|
|
Zwróć uwagę na to, ze kilka linii powtarza się, gdy przechodzisz z
|
|
ekranu na ekran; zachowanie to ma zapewnić pewna ciągłość podczas
|
|
przesuwania się w obrębie pliku.
|
|
|
|
Pierwsza umiejętnością, która powinieneś opanować, jest sposób
|
|
przesuwania się z miejsca na miejsce. Już wiesz, jak przesuwać się o
|
|
jeden ekran do przodu. By przesunąć się o jeden ekran do tylu,
|
|
wciśnij M-v (wciśnij META i naciśnij v, lub naciśnij <ESC>v jeśli nie
|
|
masz klawisza META lub EDIT).
|
|
|
|
>> Spróbuj nacisnąć M-v, a potem C-v by przesunąć się w przód i w tył
|
|
kilka razy.
|
|
|
|
|
|
PODSUMOWANIE
|
|
------------
|
|
|
|
Następujące polecenia są użyteczne do przeglądania po jednym ekranie:
|
|
|
|
C-v Przesuń się o jeden ekran do przodu
|
|
M-v Przesuń się o jeden ekran do tylu
|
|
C-l Wyczyść ekran i wyświetl go na nowo, umieszczając
|
|
tekst z okolic kursora w środku ekranu.
|
|
(Ta kombinacja to CONTROL-L, a nie CONTROL-1.)
|
|
|
|
>> Znajdź kursor i zapamiętaj, jaki tekst jest w jego okolicy.
|
|
Naciśnij następnie C-l.
|
|
Znajdź kursor jeszcze raz i zwróć uwagę, że znajduje
|
|
się on w okolicy tego samego tekstu.
|
|
|
|
|
|
PODSTAWY KIEROWANIA KURSOREM
|
|
----------------------------
|
|
|
|
Przesuwanie się z ekranu na ekran jest użyteczne, ale jak przejść do
|
|
określonego miejsca w obrębie jednego ekranu?
|
|
|
|
Można to zrobić na kilka sposobów. Najprostszym jest użycie poleceń
|
|
C-p, C-b, C-f oraz C-n. Każde z tych poleceń przesuwa kursor o jeden
|
|
wiersz lub kolumnę w określonym kierunku. Oto schemat, który to
|
|
obrazuje:
|
|
|
|
Poprzednia linia, C-p
|
|
(ang. previous line)
|
|
:
|
|
:
|
|
Wstecz, C-b .... Kursor .... Do przodu, C-f
|
|
(ang. back) : (ang. forward)
|
|
:
|
|
:
|
|
Następna linia, C-n
|
|
(ang. next line)
|
|
|
|
>> Przesuń kursor na środek schematu za pomocą C-n lub C-p. Naciśnij
|
|
potem C-l, by zobaczyć cały diagram na środku ekranu.
|
|
|
|
To są podstawowe polecenia kierujące położeniem kursora, których
|
|
będziesz używać nieustannnie, warto więc je zapamiętać.
|
|
|
|
>> Naciśnij kilka razy C-n, by przesunąć kursor do tej linii.
|
|
|
|
>> Przesuń się w głąb linii za pomocą C-f, a potem do góry za pomocą
|
|
C-p. Zwróć uwagę na zachowanie się C-p, gdy kursor jest w środku
|
|
linii.
|
|
|
|
Każda linia tekstu kończy się znakiem nowej linii, który oddziela ja
|
|
od następnej. Każdy Twój plik powinien kończyć się znakiem nowej
|
|
linii (ale Emacs nie zmusza Cię do tego).
|
|
|
|
>> Spróbuj nacisnąć C-b na początku linii. Powinno to Cię przenieść
|
|
na koniec poprzedniej linii. Dzieje się tak dlatego, że kursor
|
|
przechodzi nad znakiem nowej linii.
|
|
|
|
C-f przechodzi nad znakiem nowej linii tak samo jak C-b.
|
|
|
|
>> Naciśnij kilka razy C-b, byś dostrzegł, gdzie jest kursor.
|
|
Naciśnij potem C-f, by wrócić na koniec linii. W końcu naciśnij
|
|
jeszcze raz C-f, by przejść do następnej linii.
|
|
|
|
Gdy przesuwasz kursor poza dolna krawędź ekranu, tekst za krawędzią
|
|
przesuwa się na ekran (ang. scrolling). Dzięki temu Emacs może
|
|
przesunąć kursor do określonego miejsca bez umieszczania go poza
|
|
ekranem.
|
|
|
|
>> Spróbuj przesunąć kursor poza dolna granice ekranu za pomocą C-n i
|
|
zobacz co się stanie.
|
|
|
|
Jeśli przesuwanie się o jeden znak na raz jest dla Ciebie za wolne,
|
|
spróbuj przesuwać się o słowa. M-f (Meta-f) przesuwa kursor do przodu
|
|
o słowo, a M-b przesuwa go do tylu o jedno słowo.
|
|
|
|
>> Spróbuj nacisnąć kilka M-f i M-b.
|
|
|
|
Gdy jesteś w środku słowa, M-f przesuwa kursor na koniec słowa. Jeśli
|
|
natomiast jesteś w przerwie miedzy słowami, M-f przesuwa kursor na
|
|
koniec następnego słowa. M-b zachowuje się podobnie, jak chodzi o
|
|
ruch do tyłu.
|
|
|
|
>> Naciśnij M-f i M-b kilka razy na przemian z C-f i C-b tak, byś
|
|
mógł zauważyć działanie M-f i M-b naciśnietych w różnych miejscach
|
|
wewnątrz i pomiędzy słowami.
|
|
|
|
Zauważ podobieństwo pomiędzy C-f i C-b oraz M-f i M-b. Bardzo często
|
|
kombinacje zawierające Meta opisują operacje związane z jednostkami
|
|
językowymi (słowa, zdania, akapity), podczas gdy kombinacje oparte o
|
|
Control działają na podstawowych jednostkach niezależnych od tego, co
|
|
edytujesz (znaki, linie, itd.).
|
|
|
|
Ta zależność stosuje się do linii i zdań: C-a i C-e przesuwają kursor
|
|
na początek i koniec linii, a M-a i M-e przesuwają go na początek i
|
|
koniec zdania.
|
|
|
|
>> Naciśnij kilka razy C-a, a potem kilka razy C-e.
|
|
Powtórz to z M-a, a potem z M-e.
|
|
|
|
Czy zauważyłeś, ze powtarzanie C-a nic nie zmienia, natomiast powtórne
|
|
M-a przesuwa Cię o jedno zdanie? Chociaż nie jest to do końca
|
|
analogiczne, wydaje się jednak naturalne.
|
|
|
|
Położenie kursora w tekście określane jest mianem "punktu".
|
|
|
|
Oto podsumowanie prostych poleceń służących do przesuwania kursora,
|
|
włącznie z operacjami dotyczącymi słów i zdań:
|
|
|
|
C-f Do przodu o jeden znak
|
|
C-b W tył o jeden znak
|
|
|
|
M-f Do przodu o słowo
|
|
M-b W tył o słowo
|
|
|
|
C-n Następna linia
|
|
C-p Poprzednia linia
|
|
|
|
C-a Początek linii
|
|
C-e Koniec linii
|
|
|
|
M-a W tył na początek zdania
|
|
M-e Do przodu na koniec zdania
|
|
|
|
>> Przećwicz kilka razy wszystkie powyższe polecenia dla wprawy.
|
|
Są one najczęściej używanymi poleceniami.
|
|
|
|
Dwa inne ważne polecenia przesuwające kursor to M-< (Meta i znak
|
|
mniejszości), które przesuwa kursor na początek całego tekstu i M->
|
|
(Meta i znak większości), które przesuwa kursor na koniec całego
|
|
tekstu.
|
|
|
|
Na większości terminali "<" jest nad przecinkiem, tak wiec musisz użyć
|
|
klawisza Shift by nacisnąć "<". Musisz wiec także użyć Shift by
|
|
nacisnąć M-<. Bez Shift byłoby to M-przecinek.
|
|
|
|
>> Naciśnij M-< by przejść na początek podręcznika. Użyj potem C-v
|
|
kilkukrotnie, by wrócić tutaj.
|
|
|
|
>> Teraz naciśnij M->, by przejść na koniec podręcznika. Wróć do tego
|
|
miejsca za pomocą kilkukrotnego M-v.
|
|
|
|
Jeśli Twój terminal ma klawisze strzałek, to możesz ich użyć do
|
|
przesuwania kursora. Zalecamy Ci nauczenie się kombinacji C-b, C-f,
|
|
C-n i C-p z trzech powodów. Po pierwsze, działają one na wszystkich
|
|
typach terminali. Po drugie, gdy już zdobędziesz pewna praktykę w
|
|
posługiwaniu się Emacsem, będzie Ci szybciej nacisnąć te kombinacje
|
|
niż klawisze strzałek (ponieważ nie wymaga to przenoszenia dłoni z
|
|
miejsca, które zajmują podczas szybkiego pisania za pomocą 10 palców).
|
|
Po trzecie wreszcie, gdy już wyrobisz sobie zwyczaj posługiwania się
|
|
tymi poleceniami z klawiszem Control, będziesz mógł łatwo nauczyć się
|
|
innych zaawansowanych poleceń przesuwających kursor.
|
|
|
|
Większość poleceń Emacsa akceptuje argument liczbowy; dla większości
|
|
poleceń służy on jako liczba powtórzeń. Sposób, w jaki określasz
|
|
liczbę powtórzeń polecenia, to naciśniecie C-u a potem cyfr, zanim
|
|
naciśniesz polecenie. Jeśli masz klawisz META (lub EDIT lub ALT),
|
|
alternatywnym sposobem jest wciskanie klawiszy cyfr podczas
|
|
wprowadzania argumentu liczbowego. Zalecamy nauczenie się metody
|
|
klawisza C-u, ponieważ działa ona na wszystkich terminalach.
|
|
|
|
Na przykład C-u 8 C-f przesuwa kursor do przodu o osiem znaków.
|
|
|
|
>> Spróbuj użyć C-n i C-p z argumentem liczbowym, by przesunąć kursor
|
|
do jednej z linii w pobliżu tego zdania za pomocą tylko jednego
|
|
polecenia.
|
|
|
|
Większość poleceń używa argumentu liczbowego jako liczba powtórzeń.
|
|
Jest kilka poleceń, które używają go w inny sposób. C-v i M-v są
|
|
wśród tych wyjątków. Jeśli poda się im argument, przesuwają zawartość
|
|
ekranu w gore lub w dół o podana liczbę linii zamiast o tyleż ekranów.
|
|
Na przykład C-u 4 C-v przewija ekran o 4 linie.
|
|
|
|
>> Spróbuj nacisnąć C-u 8 C-v.
|
|
|
|
To powinno było przewinąć ekran do góry o 8 linii. Jeśli chciałbyś
|
|
przewinąć go w dół, możesz podać argument przed poleceniem M-v.
|
|
|
|
Jeśli używasz systemu X-Windows, prawdopodobnie po lewej stronie okna
|
|
Emacsa znajduje się prostokątny obszar, nazywany po angielsku
|
|
"scrollbar". Za jego pomocą możesz przewijać tekst, używając do tego
|
|
celu myszy.
|
|
|
|
>> Spróbuj nacisnąć środkowy klawisz myszy u góry podświetlonego
|
|
obszaru na scrollbarze. To powinno przewinąć tekst do miejsca
|
|
określonego wysokością, na której nacisnąłeś klawisz myszy.
|
|
|
|
>> Przesuń mysz do miejsca oddalonego od górnego końca scrollbaru
|
|
mniej więcej o trzy linie i naciśnij lewy klawisz myszy kilka razy.
|
|
|
|
|
|
* KIEROWANIE KURSOREM Z X TERMINALA
|
|
-----------------------------------
|
|
|
|
Jeśli masz X terminal, prawdopodobnie łatwiej Ci będzie używać
|
|
klawiszy strzałek po prawej stronie klawiatury do kierowania kursorem.
|
|
Klawisze strzałek w lewo, w prawo, w górę i w dół działają zgodnie z
|
|
oczekiwaniem; odpowiadają one dokładnie C-b, C-f, C-p i C-n, ale są
|
|
łatwiejsze do zapamiętania. Możesz także używać C-lewo i C-prawo by
|
|
przesuwać się o słowa oraz C-góra i C-dół, by przesuwać się o bloki
|
|
(np. akapity, jeśli edytujesz tekst). Jeśli masz klawisze oznaczone
|
|
HOME (lub BEGIN) oraz END, zaniosą Cię one na początek i koniec linii,
|
|
a C-home i C-end na początek i koniec pliku. Jeśli Twoja klawiatura
|
|
ma klawisze PgUp i PgDn, możesz ich użyć do przesuwania się o jeden
|
|
ekran za jednym razem, tak jak M-v i C-v.
|
|
|
|
Wszystkie te polecenia akceptują argument liczbowy, jak to jest
|
|
opisane powyżej. Możesz stosować pewne skróty w celu wpisania tych
|
|
argumentów: naciśnij i trzymaj CONTROL lub META i wpisz liczbę. Na
|
|
przykład, by przesunąć kursor o 12 słów w prawo naciśnij C-1 C-2
|
|
C-prawo. Zwróć uwagę, ze jest to łatwe do wpisania, ponieważ nie
|
|
musisz puszczać klawisza CONTROL podczas wciskania klawiszy.
|
|
|
|
|
|
* GDY EMACS JEST ZABLOKOWANY
|
|
----------------------------
|
|
|
|
Jeśli Emacs przestaje odpowiadać na Twoje polecenia, możesz go
|
|
bezpiecznie zatrzymać przyciskając C-g. Możesz użyć C-g do przerwania
|
|
polecenia, które zabiera zbyt wiele czasu.
|
|
|
|
Możesz użyć C-g także, by anulować argument liczbowy lub początek
|
|
polecenia, którego nie chcesz dokańczać.
|
|
|
|
>> Napisz C-u 100 jako argument liczbowy, po czym naciśnij C-g.
|
|
Teraz naciśnij C-f. Powinno przesunąć to kursor o tylko jeden
|
|
znak, ponieważ anulowałeś argument za pomocą C-g.
|
|
|
|
Jeśli nacisnąłeś <ESC> przez pomyłkę, możesz tego się pozbyć za pomocą
|
|
C-g.
|
|
|
|
|
|
* ZABLOKOWANE POLECENIA
|
|
-----------------------
|
|
|
|
Pewne polecenia Emacsa są "zablokowane", tak by początkujący
|
|
użytkownicy nie mogli ich wywołać przez przypadek.
|
|
|
|
Jeśli wywołasz jedno z zablokowanych poleceń, Emacs wypisze komunikat
|
|
informujący o tym, co to za polecenie, i zapyta Cię, czy chcesz je
|
|
wywołać.
|
|
|
|
Jeśli naprawdę chcesz wywołać to polecenie, naciśnij spacje w
|
|
odpowiedzi na pytanie. Jeśli nie chcesz wywołać zablokowanego
|
|
polecenia, odpowiedz na pytanie naciskając "n".
|
|
|
|
>> Napisz `C-x n p' (co jest zablokowanym poleceniem) i odpowiedz "n"
|
|
na zadane pytanie.
|
|
|
|
|
|
* OKNA
|
|
------
|
|
|
|
Emacs może mięć kilka okien, każde wyświetlające własny tekst. Zwróć
|
|
uwagę, ze "okno" jeśli chodzi o Emacsa, nie odnosi się do osobnego
|
|
okienka systemu okienkowego, ale do pojedynczego panelu wewnątrz
|
|
okienka systemu X-Windows. (Emacs może mięć kilka X-okien, lub
|
|
"ramek" w terminologii Emacsa. Opisane jest to poniżej.)
|
|
|
|
Na tym etapie lepiej jest się nie zagłębiać w techniki wykorzystujące
|
|
kilka okien. Powinieneś jedynie wiedzieć, w jaki sposób pozbyć się
|
|
nadmiaru okien, które mogą pojawić się jako składniki systemu pomocy
|
|
lub wynik pewnych poleceń. Robi się to w prosty sposób:
|
|
|
|
C-x 1 Jedno okno (tzn. zabij wszystkie inne okna).
|
|
|
|
Kombinacja ta to Control-x, po którym występuje cyfra 1. C-x 1
|
|
powiększa okno, w którym jest kursor tak, by zajęło cały ekran.
|
|
Kasuje to wszystkie inne okna Emacsa.
|
|
|
|
>> Przesuń kursor do tej linii i naciśnij C-u 0 C-l.
|
|
|
|
(C-l, jak pamiętasz odświeża zawartość ekranu. Jeśli poda się temu
|
|
poleceniu argument liczbowy, będzie to oznaczało "odśwież zawartość
|
|
ekranu i umieść bieżąca linie o tyle linii od góry ekranu". Tak wiec
|
|
C-u 0 C-1 oznacza "odśwież ekran, umieszczając bieżąca linie na samej
|
|
górze".)
|
|
|
|
>> Naciśnij Control-x 2
|
|
Zauważ jak okno się kurczy, podczas gdy nowe okno pojawia się,
|
|
wyświetlając zawartość tego bufora.
|
|
|
|
>> Naciśnij C-x 1 i nowe okno zniknie.
|
|
|
|
|
|
* WSTAWIANIE I USUWANIE
|
|
-----------------------
|
|
|
|
Jeśli chcesz wstawiać tekst, po prostu go napisz. Znaki, które da się
|
|
wyświetlić, takie jak A, 7, *, itd, Emacs traktuje jako tekst i
|
|
wstawia natychmiast do bufora. Naciśnij <Return> (znak powrotu
|
|
karetki), by wstawić znak nowej linii.
|
|
|
|
Ostatni znak, który napisałeś możesz skasować przez naciśniecie
|
|
klawisza <Delete>. Klawisz ten może być oznaczony "Del". W pewnych
|
|
wypadkach klawisz "Backspace" może służyć za <Delete>, ale nie jest to
|
|
regułą!
|
|
|
|
Ogólniej, <Delete> usuwa znak bezpośrednio przed bieżąca pozycją
|
|
kursora.
|
|
|
|
>> Zrób to teraz: wstaw kilka znaków, po czym usuń je za pomaca
|
|
kilkukrotnego naciśnięcia <Delete>. Nie przejmuj się tym,
|
|
że zmieniasz ten plik; nie zmienisz w ten sposób głównego pliku
|
|
podręcznika. To jest Twoja własna kopia.
|
|
|
|
Gdy linia tekstu staje się zbyt długa, by zmieścić się w jednym
|
|
wierszu na ekranie, jest ona "kontynuowana" w następnym wierszu
|
|
ekranu. Znak "backslash" (`\') na prawym marginesie pozwala Ci
|
|
rozpoznać takie linie.
|
|
|
|
>> Wpisuj jakiś tekst tak długo, aż dojdziesz do prawego marginesu, i
|
|
potem nie przestawaj. Zauważysz, ze pojawi się linia kontynuacji.
|
|
|
|
>> Użyj <Delete> by usunąć tekst tak, by linia znowu
|
|
mieściła się na ekranie. Linia kontynuacji zniknie.
|
|
|
|
Znak nowej linii może być kasowany tak, jak każdy inny znak.
|
|
Usuniecie znaku nowej linii łączy je w jedna. Jeśli powstała w wyniku
|
|
tego linia jest zbyt długa, by zmieścić się na szerokość ekranu,
|
|
zostanie ona wyświetlona z linią kontynuacji.
|
|
|
|
>> Przesuń kursor na początek linii i naciśnij <Delete>. Bieżąca
|
|
linia zostanie połączona z poprzednia.
|
|
|
|
>> Naciśnij <Return>, by z powrotem wstawić znak nowej linii, który
|
|
skasowałeś.
|
|
|
|
Pamiętaj, ze większość poleceń Emacsa może zostać wywołanych z
|
|
parametrem liczby powtórzeń; dotyczy to także znaków tekstu. Argument
|
|
liczbowy powoduje wstawienie znaku kilkukrotnie.
|
|
|
|
>> Spróbuj zrobić to teraz -- naciśnij C-u 8 * by uzyskać ********.
|
|
|
|
Nauczyłeś się już większej części podstawowych sposobów pisania oraz
|
|
poprawiania błędów. W Emacsie możesz usuwać również cale słowa lub
|
|
cale linie. Oto podsumowanie operacji usuwania znaków:
|
|
|
|
<Delete> usuń znak bezpośrednio przed kursorem
|
|
C-d usuń znak bezpośrednio za kursorem
|
|
|
|
M-<Delete> wytnij słowo bezpośrednio przed kursorem
|
|
M-d wytnij następne słowo bezpośrednio za kursorem
|
|
|
|
C-k wytnij zawartość linii od kursora do jej końca
|
|
M-k wytnij wszystkie znaki od kursora do końca zdania
|
|
|
|
Zauważ, ze <Delete> i C-d w połączeniu z M-<Delete> i M-d rozszerzają
|
|
regule rozpoczętą przez C-f i M-f (Cóż, <Delete> tak naprawdę nie
|
|
wymaga wciśnięcia Control, ale pomińmy to milczeniem). C-k i M-k są
|
|
podobne do C-e i M-e w sensie, że linie są odpowiednikami zdań.
|
|
|
|
Gdy usuwasz więcej niż jeden znak naraz, Emacs zachowuje usunięty
|
|
tekst tak, byś mógł go gdzieś wstawić z powrotem. Wstawianie
|
|
usuniętego tekstu to "wklejanie". Możesz wklejać usunięty tekst bądź
|
|
to w to samo miejsce, z którego został usunięty, bądź to w inne
|
|
miejsca. Ten sam tekst możesz wklejać kilkukrotnie, w celu uzyskania
|
|
wielu kopii. Poleceniem, które wkleja tekst jest C-y.
|
|
|
|
Zauważ różnicę pomiędzy "wycinaniem" i "usuwaniem", polegającą na tym,
|
|
ze wycięte rzeczy mogą być wklejone na nowo, natomiast usunięte nie.
|
|
W ogólności, polecenia, które kasują dużo tekstu zachowują go, podczas
|
|
gdy polecenia, które usuwają po prostu jeden znak lub puste linie i
|
|
przerwy, nie zachowują usuniętego tekstu.
|
|
|
|
>> Przesuń kursor na początek linii, która nie jest pusta. Naciśnij
|
|
C-k, by wyciąć tekst z tej linii.
|
|
|
|
>> Naciśnij C-k jeszcze raz. Zauważ, ze wycina to znak nowej linii,
|
|
który znajduje się za ta linia.
|
|
|
|
Zwróć uwagę, ze pojedyncze C-k wycina zawartość linii, a powtórne C-k
|
|
wycina samą linie tak, że pozostałe linie przesuwają się do góry. C-k
|
|
traktuje argument liczbowy w specjalny sposób: wycina ono tyle linii
|
|
ORAZ ich zawartość. To nie jest samo powtarzanie kilka razy C-k. C-u
|
|
2 C-k wycina dwie linie i ich znaki nowej linii; dwukrotne naciśniecie
|
|
C-k nie zrobiłoby tego.
|
|
|
|
By odzyskać ostatnio wycięty tekst i wstawić go w miejsce kursora,
|
|
naciśnij C-y.
|
|
|
|
>> Twoja kolej. Naciśnij C-y, by z powrotem wstawić tekst.
|
|
|
|
Zwróć uwagę, ze jeśli naciśniesz C-k kilka razy pod rząd, cały wycięty
|
|
tekst jest zachowywany w jednym kawałku tak, że jedno C-y wklei
|
|
wszystkie linie.
|
|
|
|
>> Naciśnij C-k kilka razy.
|
|
|
|
By odzyskać ten wycięty tekst...
|
|
|
|
>> ...naciśnij C-y. Przesuń potem kursor o kilka linii w dół i
|
|
naciśnij C-y jeszcze raz. Widzisz, ze wstawia to ten sam tekst.
|
|
|
|
Co zrobić, jeśli chcesz wstawić tekst, który wcześniej wyciąłeś, a
|
|
potem wycinasz cos innego? C-y wstawia tekst ostatnio wycięty.
|
|
Poprzedni fragment nie jest jednak stracony. Możesz wrócić do niego,
|
|
używając polecenia M-y. Po tym, jak naciśniesz C-y, by wstawić
|
|
ostatnio wycięty tekst, naciśniecie M-y zastępuje wstawiony tekst
|
|
poprzednio wyciętym. Dalsze naciskanie M-y przywołuje coraz
|
|
wcześniejsze fragmenty tekstu. Gdy dojdziesz do tekstu, którego
|
|
szukałeś, nie musisz robić nic, by został on we właściwym miejscu. Po
|
|
prostu kontynuuj edycję tekstu, pozostawiając wklejony tekst tam,
|
|
gdzie się znajduje.
|
|
|
|
Jeśli będziesz naciskał M-y wystarczająco wiele razy, dojdziesz do
|
|
punktu, z którego wystartowałeś (tekst ostatnio wycięty).
|
|
|
|
>> Wytnij jakąś line, zmień pozycję kursora i wytnij inna. Naciśnij
|
|
potem C-y by wstawić druga z wyciętych linii. Potem naciśnij M-y,
|
|
i linia ta zostanie zastąpiona przez ta pierwsza. Naciśnij M-y
|
|
jeszcze kilka razy, by zobaczyć co się dzieje. Powtarzaj to tak
|
|
długo, aż druga z linii pojawi się z powrotem. Jeśli chcesz,
|
|
możesz podąć M-y dodatnie i ujemne argumenty.
|
|
|
|
|
|
* COFNIJ
|
|
--------
|
|
|
|
Jeśli wprowadzisz zmiany do tekstu, a potem dojdziesz do wniosku, że
|
|
to była pomyłka, możesz cofnąć te zmiany za pomocą polecenia "cofnij"
|
|
(ang. undo), C-x u.
|
|
|
|
C-x u cofa zmiany wprowadzone przez jedno polecenie; jeśli powtórzysz
|
|
C-x u kilka razy pod rząd, każde powtórzenie cofa koleje polecenie.
|
|
|
|
Od tej reguły są dwa wyjątki: polecenia, które nie zmieniają tekstu
|
|
nie liczą się jako polecenia, które można cofnąć (zarówno przesunięcia
|
|
kursora, jak i przewijanie tekstu), oraz znaki wstawiane do tekstu
|
|
(np. litery) łączone są w grupy do 20. (Ma to na celu zredukowanie
|
|
liczby naciśnięć C-x u, które musiałbyś wykonać, by cofnąć wstawianie
|
|
tekstu.)
|
|
|
|
>> Wytnij te linie za pomocą C-k, a potem naciśnij C-x u i linia
|
|
powinna pojawić się tu z powrotem.
|
|
|
|
C-_ jest innym sposobem wywołania polecenia "cofnij"; działa to
|
|
dokładnie tak samo jak C-x u, jest jedynie łatwiejsze do naciśnięcia
|
|
kilka razy pod rząd. Wada C-_ jest to, ze nie jest to oczywiste w
|
|
jaki sposób nacisnąć te kombinacje na niektórych klawiaturach. To
|
|
właśnie dlatego C-x u jest także dostępne. Na niektórych terminalach
|
|
możesz nacisnąć C-_ poprzez przytrzymanie CTRL i naciśniecie /.
|
|
|
|
Argument liczbowy podany przed C-_ lub C-x u określa liczbę powtórzeń
|
|
tego polecenia.
|
|
|
|
|
|
* PLIKI
|
|
-------
|
|
|
|
Aby edytowny przez Ciebie tekst został nma trwałe zachowany, musisz
|
|
umieścić go w pliku. W przeciwnym wypadku zniknie on, gdy Emacs w
|
|
którym go edytowałeś zostanie zamknięty. Zachowywanie Twojego tekstu
|
|
w pliku nazywane bywa "odwiedzaniem" lub "znajdywaniem" pliku (ang.
|
|
"visiting" lub "finding").
|
|
|
|
Odwiedzanie pliku oznacza, że jego zawartość zostaje wyświetlona w
|
|
Emacsie. Bardzo często sprowadza się to do edycji samego pliku.
|
|
Jednakże zmiany, które wprowadzasz nie są trwałe do momentu, w którym
|
|
"zachowasz" plik (ang. save). Zapobiega to sytuacji, w której
|
|
zostawiasz w systemie plik, który został tylko w połowie zmieniony, a
|
|
tego nie chcesz zrobić. Nawet wtedy, gdy zachowujesz plik, Emacs
|
|
zostawia oryginał zachowany pod inna nazwa na wypadek, gdybyś doszedł
|
|
do wniosku, że wprowadzone zmiany były błędne.
|
|
|
|
Jeśli popatrzysz na dół ekranu, zauważysz linie, która zaczyna i
|
|
kończy się myślnikami i zawiera tekst "Emacs: TUTORIAL". W tej
|
|
części ekranu zawsze możesz znaleźć nazwę pliku, który właśnie
|
|
odwiedzasz. W tej chwili odwiedzasz plik o nazwie "TUTORIAL", który
|
|
jest Twoja własną kopią podręcznika Emacsa. Obojętnie jaki plik
|
|
odwiedzisz, jego nazwa pojawi się dokładnie w tym miejscu.
|
|
|
|
Polecenia, które służą do odwiedzania i zachowywania plików różnią się
|
|
od innych poleceń, które poznałeś tym, że składają się one z dwóch
|
|
znaków. Obydwa zaczynają się od znaku Control-x. Jest mnóstwo
|
|
poleceń, które zaczynają się od tego właśnie znaku; wiele z nich
|
|
dotyczy plików, buforów i z tym związanych rzeczy. Polecenia te mają
|
|
długość dwóch, trzech lub czterech znaków.
|
|
|
|
Kolejną nowa rzeczą odnośnie polecenia odwiedzania pliku jest to, że
|
|
musisz mu podąć nazwę pliku, który chcesz znaleźć. Mówimy o tym, że
|
|
polecenie "czyta argument z terminala" (w tym wypadku argument jest
|
|
nazwa pliku). Po tym, gdy wpiszesz polecenie
|
|
|
|
C-x C-f znajdź plik (ang. find a file)
|
|
|
|
Emacs poprosi Cię o wpisanie nazwy pliku. Nazwa ta pojawia się w
|
|
dolnej linii ekranu. Linię tę nazywa się "minibuforem" (ang.
|
|
"minibuffer") wtedy, gdy jest używana do wprowadzania tego typu
|
|
danych. Do edycji nazwy pliku używasz zwykłych poleceń Emacsa.
|
|
|
|
Wprowadzanie nazwy pliku (lub jakichkolwiek innych danych w
|
|
minibuforze) może zostać anulowane za pomocą C-g.
|
|
|
|
>> Naciśnij C-x C-f, po czym naciśnij C-g. Na skutek tego zniknie
|
|
minibufor oraz przerwane zostanie polecenie C-x C-f, które tego
|
|
minibufora używało. W rezultacie więc nie odwiedzisz żadnego
|
|
pliku.
|
|
|
|
Gdy skończysz wpisywać nazwę pliku, naciśnij <Return>, po czym
|
|
polecenie C-x C-f zabierze się do roboty i znajdzie plik, który
|
|
wybrałeś. Minibufor znika z chwilą zakończenia wykonywania polecenia
|
|
C-x C-f.
|
|
|
|
Po chwili zawartość pliku pojawia się na ekranie i możesz ją edytować.
|
|
Gdy chcesz zachować zmiany, tak by je utrwalić, wydaj polecenie
|
|
|
|
C-x C-s zachowaj plik (ang. save).
|
|
|
|
Kopiuje to tekst z Emacsa do pliku. Za pierwszym razem gdy to robisz
|
|
Emacs zmienia nazwę oryginalnego pliku poprzez dodanie "~" na końcu
|
|
jego nazwy.
|
|
|
|
Gdy zachowywanie skończy się, Emacs wypisuje nazwę zapisanego pliku.
|
|
Pliki powinieneś zachowywać stosunkowo często, tak by nie stracić za
|
|
dużo w przypadku załamania systemu.
|
|
|
|
>> Naciśnij C-x C-s by zachować swoja kopie podręcznika. Emacs
|
|
powinien wypisać "Wrote ...TUTORIAL" na dole ekranu.
|
|
|
|
UWAGA: W niektórych systemach naciśniecie C-x C-s zamrozi ekran i nie
|
|
zobaczysz żadnego tekstu z Emacsa. Oznacza to, że składowa systemu
|
|
operacyjnego, zwana kontrolą przepływu (ang. flow control)
|
|
przechwyciła C-s i nie pozwoliła mu dojść do Emacsa. By odzyskać
|
|
kontrole nad ekranem, naciśnij C-q. Dodatkowej pomocy poszukaj w
|
|
rozdziale "Spontaneous Entry to Incremental Search" w podręczniku
|
|
Emacsa.
|
|
|
|
Możesz odwiedzić istniejące pliki w celu ich edycji lub czytania.
|
|
Możesz także odwiedzić plik, który jeszcze nie istnieje. W ten
|
|
właśnie sposób tworzy się w Emacsie nowe pliki: odwiedź plik, co da Ci
|
|
nowe puste miejsce, a potem zacznij wstawiać tekst. Gdy zażądasz
|
|
zachowania pliku, wtedy Emacs naprawdę utworzy plik z tekstem, który
|
|
wpisałeś. Od tego momentu możesz uważać, że edytujesz istniejący
|
|
plik.
|
|
|
|
|
|
* BUFORY
|
|
--------
|
|
|
|
Jeśli odwiedzisz inny plik za pomocą C-x C-f, poprzedni plik pozostaje
|
|
w Emacsie. Możesz przełączyć się do niego, odwiedzając go jeszcze raz
|
|
za pomocą C-x C-f. W ten sposób możesz w Emacsie mięć całkiem dużo
|
|
plików.
|
|
|
|
>> Utwórz plik o nazwie "foo" za pomocą C-x C-f foo <Return>.
|
|
Wpisz w niego jakiś tekst i zachowaj "foo" za pomocą C-x C-s.
|
|
W końcu napisz C-x C-f TUTORIAL <Return>, by wrócić do podręcznika.
|
|
|
|
Emacs przechowuje tekst każdego pliku w obiekcie, zwanym "buforem".
|
|
Odwiedzenie pliku tworzy nowy bufor wewnątrz Emacsa. By zobaczyć
|
|
listę buforów, które istnieją w Twoim Emacsie, naciśnij
|
|
|
|
C-x C-b lista buforów (ang. list buffers).
|
|
|
|
>> Naciśnij C-x C-b.
|
|
|
|
Zwróć uwagę, ze każdy bufor ma własną nazwę, może także mieć
|
|
skojarzoną z sobą nazwę pliku, który zawiera. Pewne bufory nie
|
|
odpowiadają żadnym plikom. Na przykład bufor "*Buffer List*" nie
|
|
odwiedza żadnego pliku. Jest to bufor, który zawiera listę buforów
|
|
stworzona przez Twoje naciśniecie C-x C-b. DOWOLNY tekst, który
|
|
oglądasz w oknie Emacsa jest zawsze częścią jakiegoś bufora.
|
|
|
|
>> Naciśnij C-x 1 by pozbyć się listy buforów.
|
|
|
|
Jeśli dokonujesz zmian tekstu w jakimś pliku, a potem odwiedzisz inny
|
|
plik, zawartość tego pierwszego NIE jest automatycznie zachowywana.
|
|
Zmiany, które wprowadziłeś pozostają w Emacsie, w buforze tegoż pliku.
|
|
Tworzenie czy edytowanie innego bufora nie ma żadnego wpływu na ten
|
|
pierwszy. Jest to bardzo przydatne, ale oznacza także, że potrzebny
|
|
jest Ci wygodny sposób zachowywania zawartości Twoich buforów.
|
|
Przełączanie się z powrotem do pierwszego bufora zawsze przy
|
|
wykonywaniu C-x C-f tylko po to, by nacisnąć tam C-x C-s byłoby
|
|
niewygodne. Dlatego istnieje polecenie:
|
|
|
|
C-x s Zachowaj bufory (ang. save some buffers)
|
|
|
|
C-x s pyta Cię, czy chcesz zachować każdy z buforów, w którym
|
|
dokonałeś pewnych nie zachowanych jeszcze zmian.
|
|
|
|
>> Wstaw jakąś linię tekstu, a potem naciśnij C-x s.
|
|
Powinieneś zostać zapytany o to, czy chcesz zachować bufor
|
|
TUTORIAL. Odpowiedz na to pytanie twierdząco naciskając "y".
|
|
|
|
* UŻYWANIE MENU
|
|
---------------
|
|
|
|
Jeśli siedzisz przy X-terminalu zauważysz u góry okna Emacsa pasek
|
|
menu. Możesz używać menu by dotrzeć do najpopularniejszych poleceń
|
|
Emacsa, takich jak "find file". Na początku będziesz sądził, ze jest
|
|
to łatwiejsze niż klawiatura, ponieważ nie musisz uczyć się na pamięć
|
|
kombinacji klawiszy uruchamiających jakieś polecenie. Gdy już
|
|
zaznajomisz się z Emacsem, będziesz mógł zacząć uczyć się klawiszy ---
|
|
elementy menu pokazują kombinacje klawiszy, która wywołuje dane
|
|
polecenie.
|
|
|
|
Zwróć uwagę, ze pewne polecenia w menu nie maja jednoznacznych
|
|
odpowiedników klawiszowych. Na przykład menu "Buffers" zawiera listę
|
|
wszystkich dostępnych buforów. Możesz przełączyć się do dowolnego z
|
|
nich wybierając jego nazwę z menu Buffers.
|
|
|
|
|
|
* UŻYWANIE MYSZY
|
|
----------------
|
|
|
|
Emacs potrafi w pełni wykorzystywać mysz, jeśli tylko jest uruchomiony
|
|
pod X-Windows. Możesz zmieniać pozycje kursora poprzez naciśniecie
|
|
lewego klawisza myszy w pożądanym miejscu, możesz także zaznaczać
|
|
tekst przez przesuniecie myszy z wciśniętym lewym klawiszem nad
|
|
tekstem, który chcesz zaznaczyć. (Innym sposobem jest kliknięcie na
|
|
jednym z końców obszaru, przesunięcie myszy na drugi koniec i
|
|
kliknięcie tam z jednoczesnym wciśnięciem klawisza Shift.)
|
|
|
|
By wyciąć zaznaczony tekst możesz nacisnąć C-w lub wybrać Cut z menu
|
|
Edit. Zwróć uwagę na to, ze *nie* są to równoważne polecenia: C-w
|
|
zapamiętuje zaznaczony tekst tylko wewnątrz Emacsa (podobnie jak
|
|
omówione powyżej C-k), natomiast Cut robi to oraz umieszcza ten tekst
|
|
w schowku systemu X, skąd może on zostać pobrany przez inne programy.
|
|
|
|
By wkleić tekst ze schowka systemu X-Windows użyj polecenia Paste z
|
|
menu Edit.
|
|
|
|
Środkowy klawisz myszy jest często używany do wybierania elementów,
|
|
które są wyświetlone na ekranie. Na przykład, jeśli uruchomisz Info
|
|
(system dokumentacji Emacsa) naciskając C-h i, lub wybierając ten
|
|
element z menu Help, przejście podświetlonym połączeniem (ang. link)
|
|
odbywa się poprzez naciśniecie środkowego klawisza myszy. Podobnie,
|
|
jeśli wpisujesz nazwę pliku (np. podczas wykonywania "Find File") i
|
|
naciśniesz TAB, by zobaczyć wszystkie możliwe dokończenia nazwy,
|
|
możesz wybrać jedno z nich z wyświetlonej listy, właśnie naciskając
|
|
środkowy klawisz myszy.
|
|
|
|
Prawy klawisz myszy pokazuje lokalne menu. Zawartość tego menu zależy
|
|
od trybu pracy Emacsa, w którym aktualnie jesteś, i zawiera kilka
|
|
często używanych poleceń, tak by były one łatwiejsze w dostępie.
|
|
|
|
>> Naciśnij prawy klawisz myszy
|
|
|
|
Prawy klawisz myszy musi być trzymany, by menu nie znikło
|
|
automatycznie.
|
|
|
|
|
|
* ROZSZERZANIE ZESTAWU POLECEN
|
|
------------------------------
|
|
|
|
Poleceń Emacsa jest dużo dużo więcej, niż można by skojarzyć
|
|
kombinacjami zwykłych klawiszy oraz META czy CTRL. Emacs radzi sobie
|
|
z tym za pomocą polecenia X (ang. eXtend). Istnieją jego dwa rodzaje:
|
|
|
|
C-x Rozszerzenie o znak. Następuje po nim jeden znak.
|
|
M-x Rozszerzenie o nazwane polecenie. Następuje po nim
|
|
pełna długa nazwa polecenia.
|
|
|
|
Polecenia te w ogólności są użyteczne, ale są używane nie tak często
|
|
jak polecenia, których już się nauczyłeś. Miałeś już okazje poznać
|
|
dwa z nich: C-x C-f służące do odwiedzania plików oraz C-x C-s do ich
|
|
zachowywania. Innym przykładem może być polecenie, które kończy sesje
|
|
Emacsa C-x C-c. (Nie martw się, ze możesz w ten sposób stracić
|
|
zmiany, które dokonałeś; C-x C-c oferuje Ci możliwość zachowania
|
|
każdego ze zmodyfikowanych plików przed zamknięciem Emacsa.)
|
|
|
|
C-z jest poleceniem, które wychodzi z Emacsa *na chwile*, tak byś mógł
|
|
wrócić do tej samej sesji Emacsa po jakimś czasie.
|
|
|
|
W systemach, w których jest to możliwe, C-z zawiesza proces Emacsa;
|
|
powoduje to powrót do powłoki (ang. shell), ale nie niszczy Emacsa.
|
|
W najpopularniejszych powłokach możesz wrócić do Emacsa za pomocą
|
|
polecenia `fg' lub `%emacs'.
|
|
|
|
W systemach, w których zawieszanie procesów nie działa, C-z tworzy
|
|
proces podpowłoki (ang. "subshell"), który działa pod Emacsem i daje
|
|
Ci szansę uruchamiania innych programów i powrotu do Emacsa po ich
|
|
skończeniu; w tych systemach C-z nie wychodzi naprawdę z Emacsa. W
|
|
tych wypadkach normalnym poleceniem powrotu do Emacsa jest wyjście z
|
|
podpowłoki za pomocą "exit".
|
|
|
|
Polecenia C-x C-c powinieneś używać, gdy masz się wylogować. Zalecane
|
|
jest także wychodzenie z Emacsa wystartowanego przez np. programy
|
|
obsługujące pocztę elektroniczna lub innego rodzaju narzędzia,
|
|
ponieważ mogą one nie wiedzieć jak sobie poradzić z zawieszeniem
|
|
Emacsa. Jednakże w zwykłych okolicznościach, jeśli nie musisz
|
|
wylogowywać się z systemu, lepiej jest zawiesić Emacsa za pomocą C-z
|
|
niż z niego wyjść.
|
|
|
|
Istnieje wiele poleceń zaczynających się od C-x. Oto lista tych,
|
|
których się już nauczyłeś:
|
|
|
|
C-x C-f odwiedź plik
|
|
C-x C-s zachowaj plik
|
|
C-x C-b wyświetl listę buforów
|
|
C-x C-c wyjdź z Emacsa
|
|
C-x u cofnij
|
|
|
|
Poleceń podawanych za pomocą nazwy używa się jeszcze rzadziej lub
|
|
używa się tylko w pewnych trybach. Przykładem może być polecenie
|
|
replace-string, które globalnie zastępuje jeden łańcuch innym. Gdy
|
|
naciskasz M-x, Emacs czeka na ciąg dalszy, wyświetlając "M-x" na dole
|
|
ekranu. Powinieneś po tym wpisać nazwę polecenia, w tym wypadku
|
|
"replace-string". Napisz tylko "repl s<TAB>", a Emacs dokończy nazwę.
|
|
Zakończ wprowadzanie nazwy przez naciśniecie klawisza <Return>.
|
|
|
|
Polecenie replace-string wymaga dwóch argumentów: łańcucha, który ma
|
|
zostać zastępowany i łańcucha, który ma być wstawiony w miejsce tegoż.
|
|
Obydwa łańcuchy musza być zakończone przyciśnięciem <Return>.
|
|
|
|
>> Przesuń kursor do czystej linii, dwie linie poniżej tej.
|
|
Naciśnij M-x repl s<Return>zmieni<Return>zmodyfikuje<Return>.
|
|
|
|
Zwróć uwagę na to, jak ta linia się zmieni: zastąpiłeś słowem
|
|
"zmodyfikuje" każde wystąpienie słowa z-m-i-e-n-i poniżej początkowej
|
|
pozycji kursora.
|
|
|
|
|
|
* AUTOMATYCZNE ZACHOWYWANIE
|
|
---------------------------
|
|
|
|
Gdy wprowadzisz zmiany do pliku i ich nie zachowasz, mogą one zostać
|
|
stracone, jeśli Twój komputer przestanie działać. By uchronić Cię
|
|
przed tym, Emacs okresowo zapisuje specjalny plik z wprowadzonymi
|
|
zmianami. Plik ten ma znak # na początku i na końcu swojej nazwy. Na
|
|
przykład, załóżmy, ze Twój plik nazywa się "hello.c". Odpowiadający
|
|
mu plik automatycznie zachowywany będzie nosił nazwę "#hello.c#". Gdy
|
|
zachowujesz plik w zwykły sposób, Emacs kasuje plik automatycznie
|
|
zachowany.
|
|
|
|
Jeśli Twój komputer przestanie działać, możesz odzyskać Twoje dane z
|
|
pliku automatycznie zachowanego przez zwykle odwiedzenie pliku (tego,
|
|
który edytowałeś, a nie pliku automatycznie zachowanego) i napisanie
|
|
M-x recover file<return>. Gdy Emacs zapyta o potwierdzenie, napisz
|
|
yes<return> by odzyskać dane, które zostały automatycznie zachowane.
|
|
|
|
|
|
* OBSZAR ECHA
|
|
-------------
|
|
|
|
Jeśli polecenia dla Emacsa wpisujesz dostatecznie wolno, zostaną one
|
|
pokazywane w specjalnym obszarze na dole ekranu, zwanym obszarem echa
|
|
(ang. echo area). Obszar echa zawiera ostatnia dolna linie ekranu.
|
|
|
|
|
|
* LINIA STANU
|
|
-------------
|
|
|
|
Linia, która znajduje się bezpośrednio nad obszarem echa, zwana jest
|
|
"linią trybu" (ang. modeline). Pokazuje ona tekst podobny do
|
|
następującego:
|
|
|
|
--:** TUTORIAL (Fundamental)--L670--58%----------------
|
|
|
|
Linia ta podaje użyteczne informacje o stanie Emacsa i tekstu, który
|
|
edytujesz. Wiesz już, jakie jest znaczenie nazwy pliku: jest to plik,
|
|
który odwiedziłeś. --NN%-- opisuje Twoja bieżącą pozycje wewnątrz
|
|
tekstu; oznacza to, że NN procent tekstu znajduje się ponad górnym
|
|
brzegiem ekranu. Jeśli początek pliku znajduje się na początku
|
|
ekranu, zamiast liczby --00%-- zobaczysz w tym miejscu --Top--.
|
|
Podobnie dla końca tekstu pojawi się tam napis --Bot-- (od
|
|
ang. bottom). Jeśli wyświetlasz tekst na tyle krótki, ze mieści się w
|
|
całości na ekranie, linia stanu pokaże --All--.
|
|
|
|
Gwiazdki blisko początku linii trybu oznaczają, ze wprowadziłeś do
|
|
tekstu jakieś zmiany. Bezpośrednio po odwiedzeniu lub po zachowaniu
|
|
pliku nie będzie w tym miejscu żadnych gwiazdek, a tylko myślniki.
|
|
|
|
Wewnątrz nawiasów znajdziesz informacje na temat trybu edycji, w
|
|
którym właśnie jest Emacs. Domyślnym trybem edycji jest tryb
|
|
podstawowy (ang. fundamental), który jest trybem (właśnie w tej chwili
|
|
używanym--) używanym właśnie w tej chwili. Jest to przykład "trybu
|
|
głównego" (ang. major mode).
|
|
|
|
Emacs może działać w wielu trybach głównych. Pewne z nich zostały
|
|
zaprojektowane do edycji rozmaitych języków i/lub rodzajów tekstu,
|
|
takie jak tryb Lispu, tryb tekstowy, itd. W danej chwili może być
|
|
aktywny tylko jeden główny tryb pracy, i to jego nazwa jest
|
|
wyświetlana w linii trybu w miejscu, w którym teraz jest
|
|
"Fundamental".
|
|
|
|
Każdy z głównych trybów edycyjnych może zmienić zachowanie niektórych
|
|
poleceń. Na przykład, w Emacsie istnieją polecenia służące do
|
|
tworzenia komentarzy w programach. Każdy język programowania na swój
|
|
sposób określa, jak powinien wyglądać komentarz, tak wiec każdy z
|
|
głównych trybów edycyjnych musi wstawiać komentarze w specyficzny
|
|
sposób. Każdy tryb edycyjny jest nazwą polecenia, które możesz
|
|
wykonać, by przełączyć się w ten tryb lub wyłączyć ten tryb.
|
|
Przykładem może być M-x fundamental-mode, które jest poleceniem
|
|
przełączającym tryb podstawowy.
|
|
|
|
Jeśli zamierzasz edytować tekst w języku angielskim, taki jak na
|
|
przykład oryginalna wersja tego podręcznika, prawdopodobnie powinieneś
|
|
używać trybu tekstowego (ang. text mode).
|
|
|
|
>> Napisz M-x text-mode<Return>.
|
|
|
|
Nie musisz się martwić, żadne z poleceń, które do tej pory poznałeś,
|
|
nie zmienia Emacsa w poważny sposób. Możesz jednak zauważyć, ze teraz
|
|
M-f i M-b traktują apostrofy jako części słów. Poprzednio, w trybie
|
|
podstawowym, polecenia te traktowały apostrofy jako separatory słów.
|
|
|
|
Główne tryby edycji wprowadzają zwykle subtelne zmiany, takie jak
|
|
opisana powyżej: większość poleceń robi dalej "to samo", robi to
|
|
jednak w sposób troszeczkę inny.
|
|
|
|
By zobaczyć dokumentację na temat bieżącego głównego trybu edycji,
|
|
naciśnij C-h m.
|
|
|
|
>> Naciśnij C-u C-v raz lub więcej razy tak, by ta linia znalazła się
|
|
blisko góry ekranu.
|
|
|
|
>> Naciśnij C-h m, by zobaczyć jak tryb tekstowy różni się od trybu
|
|
podstawowego.
|
|
|
|
>> Naciśnij q, by usunąć dokumentacje z ekranu.
|
|
|
|
Główne tryby edycji nazywają się "głównymi", ponieważ są także
|
|
podrzędne tryby edycji (ang. minor modes). Podrzędne tryby edycji nie
|
|
są alternatywą dla głównych trybów edycji, a jedynie ich niewielką
|
|
modyfikacją. Każdy podrzędny tryb edycji może zostać włączony lub
|
|
wyłączony niezależnie od pozostałych podrzędnych trybów edycji oraz
|
|
niezależnie od głównego trybu edycji. Możesz wiec używać jednego,
|
|
kombinacji dowolnych, lub nie używać żadnego trybu podrzędnego.
|
|
|
|
Jednym z podrzędnych trybów edycji, który jest bardzo użyteczny
|
|
szczególnie do edycji tekstu angielskiego, jest tryb automatycznego
|
|
wypełniania (ang. auto fill mode). Jeśli ten tryb jest włączony,
|
|
Emacs lamie linie pomiędzy słowami automatycznie, gdy wstawiasz tekst
|
|
i linia robi się za szeroka.
|
|
|
|
Tryb automatycznego wstawiania włącza się na przykład poprzez
|
|
wywołanie polecenia M-x auto-fill-mode<Return>. Jeśli ten tryb jest
|
|
włączony to samo polecenie wyłącza go, i vice versa. Mówimy, ze
|
|
polecenie to "przełącza ten tryb".
|
|
|
|
>> Napisz M-x auto-fill-mode<Return>. Wstawiaj potem linię pełną
|
|
"asdf " tak długo, aż zobaczysz, że się podzieli na dwie linie.
|
|
Musisz wstawić spacje pomiędzy znaki, ponieważ tryb automatycznego
|
|
wypełniania łamie linie tylko tam, gdzie są spacje.
|
|
|
|
Margines jest zazwyczaj ustawiony na 70 znaków, ale możesz go zmienić
|
|
za pomocą polecenia C-x f. Powinieneś podać mu argument liczbowy
|
|
mówiący, w której kolumnie ma zostać ustawiony margines.
|
|
|
|
>> Wywołaj C-x f z argumentem równym 20. (C-u 2 0 C-x f).
|
|
Napisz potem jakiś tekst i zauważ, ze Emacs wypełnia linie do
|
|
długości co najwyżej 20 znaków. Ustaw margines z powrotem na
|
|
70 znaków, wywołując jeszcze raz C-x f.
|
|
|
|
Jeśli dokonujesz zmian wewnątrz akapitu, tryb
|
|
automatycznego wypełniania nie wyrówna marginesu
|
|
sam z siebie. By wywołać polecenie
|
|
wyrównania marginesu, naciśnij M-q (Meta-q),
|
|
podczas gdy kursor znajduje się wewnątrz akapitu.
|
|
|
|
>> Przesuń kursor do poprzedniego akapitu i naciśnij M-q.
|
|
|
|
|
|
* SZUKANIE
|
|
----------
|
|
|
|
Emacs potrafi szukać łańcuchów (zwartych ciągów znaków lub słów)
|
|
zarówno wstecz jaki i do przodu. Szukanie łańcucha jest poleceniem,
|
|
które przesuwa kursor; przesuwa ono kursor do następnego miejsca, w
|
|
którym dany łańcuch występuje.
|
|
|
|
Polecenie Emacsa "search" różni się od podobnych poleceń innych
|
|
edytorów w tym sensie, ze jest ono przyrostowe. Znaczy to, ze
|
|
szukanie odbywa się w trakcie, gdy Ty wpisujesz kolejne znaki
|
|
łańcucha, który ma zostać odnaleziony.
|
|
|
|
Poleceniami zapoczątkowującymi szukanie są: C-s dla szukania w przód
|
|
oraz C-r dla szukania wstecz. POCZEKAJ PROSZĘ! Nie próbuj ich w tej
|
|
chwili.
|
|
|
|
Gdy naciśniesz C-s zauważysz, ze tekst "I-search" pojawi się w
|
|
obszarze echa. Informuje Cię to, że Emacs znajduje się w trybie
|
|
"incremental search", czekając byś napisał tekst, który ma on znaleźć.
|
|
Naciśniecie <Return> kończy proces szukania.
|
|
|
|
>> Teraz naciśnij C-s, by rozpocząć szukanie. POWOLI, litera po
|
|
literze, napisz słowo "kursor", zatrzymując się po każdym znaku i
|
|
obserwując, gdzie zatrzymuje się kursor. Gdy naciśniesz drugie
|
|
"r", będzie można powiedzieć, że szukałeś słowa "kursor"
|
|
jednokrotnie. Naciśnij C-s jeszcze raz, by znaleźć następne
|
|
wystąpienie słowa "kursor". Naciśnij teraz <Delete> cztery
|
|
razy i zobacz, co się dzieje z kursorem. Naciśnij <RET>, by skończyć
|
|
szukanie.
|
|
|
|
Widziałeś, co się działo? Emacs podczas szukania przyrostowego próbuje
|
|
przejść do miejsca wystąpienia łańcucha, który do tej pory wpisałeś,
|
|
podświetlając go dla Twojej wygody. By znaleźć następne wystąpienie
|
|
słowa "kursor", po prostu naciśnij C-s jeszcze raz. Jeśli takiego nie
|
|
ma, Emacs zapiszczy i powie Ci, ze szukanie "skończyło się porażką".
|
|
Naciśniecie C-g także przerywa proces szukania.
|
|
|
|
UWAGA: W niektórych systemach naciśniecie C-s zamrozi ekran i nie
|
|
zobaczysz żadnego tekstu z Emacsa. Oznacza to, że składowa systemu
|
|
operacyjnego, zwana kontrolą przepływu (ang. "flow control")
|
|
przechwyciła C-s i nie pozwoliła mu dojsć do Emacsa. By odzyskać
|
|
kontrole nad ekranem, nacisnij C-q. Dodatkowej pomocy poszukaj w
|
|
rozdziale "Spontaneous Entry to Incremental Search" w podręczniku
|
|
Emacsa.
|
|
|
|
Jesli podczas szukania przyrostowego naciśniesz <Delete> zauważysz, ze
|
|
ostatni znak, który wcisnąłes znika i kursor wraca do poprzedniego
|
|
miejsca. Na przykład, załóżmy, ze nacisnąłes "k" i znalazłes pierwsze
|
|
wystąpienie tej litery. Jesli teraz naciśniesz "u", kursor przesunie
|
|
się do pierwszego wystąpienia "ku". Teraz nacisnij <Delete>. Skasuje
|
|
to "u" z łańcucha, którego poszukujesz, a kursor wróci do pierwszego
|
|
wystąpienia "k".
|
|
|
|
Jeśli podczas szukania nacisniesz jakiś klawisz razem z META lub CTRL
|
|
(z nielicznymi wyjątkami --- znakami, które mają specjalne znaczenie
|
|
podczas szukania, takimi jak C-s i C-r) szukanie zostanie przerwane.
|
|
|
|
C-s rozpoczyna proces szukania, który poszukuje łańcucha, który
|
|
znajduje się ZA bieżącą pozycja kursora. Jeśli chcesz szukać czegoś
|
|
wcześniej w tekście, naciśnij C-r. Wszystko, co powiedzieliśmy o C-s
|
|
stosuje się do C-r, oczywiście ze zmianą kierunku szukania na wstecz.
|
|
|
|
|
|
* WIELE OKIEN
|
|
-------------
|
|
|
|
Jedną z przyjemnych cech Emacsa jest możliwość wyświetlania więcej niż
|
|
jednego okna na raz.
|
|
|
|
>> Przesuń kursor do tej linii i naciśnij C-u 0 C-l.
|
|
|
|
>> Naciśnij teraz C-x 2, co podzieli ekran na dwa okna. Obydwa okna
|
|
wyświetlają ten podręcznik. Kursor pozostaje w górnym oknie.
|
|
|
|
>> Naciśnij C-M-v by przewinąć dolne okno. (Jeśli nie masz
|
|
prawdziwego klawisza Meta, naciśnij ESC C-v.)
|
|
|
|
>> Naciśnij C-x o ("o" jak angielskie "other") by przesunąć kursor do
|
|
dolnego okna. Użyj C-v i M-v w dolnym oknie by przewinąć jego
|
|
zawartość. Polecenia, które masz wykonać czytaj w górnym oknie.
|
|
|
|
>> Naciśnij C-x o jeszcze raz tak, by kursor wrócił do górnego okna.
|
|
Kursor w górnym oknie nie zmienił położenia.
|
|
|
|
Każde okno pamięta położenie swojego własnego kursora, lecz tylko
|
|
jedno okno w danej chwili wyświetla kursor. Wszystkie polecenia
|
|
edycyjne stosują się do okna, w którym jest kursor. To okno nazywane
|
|
jest "wybranym oknem".
|
|
|
|
Polecenie C-M-v jest bardzo użyteczne gdy edytujesz tekst w jednym
|
|
oknie, a drugiego używasz tylko jako punkt odniesienia. Dzięki temu
|
|
kursor może zawsze znajdować się w oknie, zawartość którego edytujesz,
|
|
a Ty możesz przesuwać drugie okno za pomocą C-M-v.
|
|
|
|
C-M-v to przykład znaku, który uzyskuje się za pomocą CONTROL-META.
|
|
Jeśli masz prawdziwy klawisz META, C-M-v możesz uzyskać przytrzymując
|
|
jednocześnie CTRL oraz META i naciskając v. Nie jest ważne, co
|
|
zostało naciśniete wcześniej, CTRL czy META, ponieważ obydwa te
|
|
klawisze działają jako modyfikatory znaczenia klawiszy, które
|
|
naciskasz.
|
|
|
|
Jeśli nie masz klawisza META i używasz w jego zastępstwie ESC,
|
|
kolejność naciskania klawiszy jest znacząca: musisz najpierw nacisnąć
|
|
i puścić ESC, po czym nacisnąć CTRL-v; CTRL-ESC v nie będzie działać.
|
|
Dzieje się tak dlatego, ze ESC jest znakiem, a nie modyfikatorem.
|
|
|
|
>> Naciśnij C-x 1 (w górnym oknie), by pozbyć się dolnego okna.
|
|
|
|
(Jeśli nacisnąłbyś C-x 1 w dolnym oknie, to znikłoby górne. Możesz
|
|
sobie tłumaczyć to polecenie jako "zatrzymaj tylko jedno okno --- to w
|
|
którym właśnie jestem".)
|
|
|
|
Nie musisz wyświetlać tego samego bufora w obydwu oknach. Jeśli
|
|
użyjesz C-x C-f by wyświetlić plik w jednym z okien, zawartość
|
|
drugiego nie zmieni się. W każdym oknie możesz wyświetlać różne pliki
|
|
niezależnie.
|
|
|
|
Oto inny sposób używania dwóch okien do wyświetlania dwóch różnych
|
|
rzeczy:
|
|
|
|
>> Naciśnij C-x 4 C-f i nazwę jednego z Twoich plików. Zakończ
|
|
wprowadzanie klawiszem <Return>. Podany plik pojawi się w dolnym
|
|
oknie razem z kursorem, który tam przeskakuje.
|
|
|
|
>> Naciśnij C-x o, by wrócić do górnego okna, oraz C-x 1 by
|
|
usunąć dolne okno.
|
|
|
|
|
|
* REKURSYWNE POZIOMY EDYCJI
|
|
---------------------------
|
|
|
|
Czasami możesz znaleźć się w czymś, co nazywa się "rekursywnym
|
|
poziomem edycji". Możesz to rozpoznać po nawiasach kwadratowych w
|
|
linii trybu, obejmujących nawiasy okrągłe zawierające nazwę głównego
|
|
trybu edycji. Na przykład, mógłbyś widzieć [(Fundamental)] zamiast
|
|
(Fundamental).
|
|
|
|
By wyjść z rekursywnego poziomu edycji naciśnij ESC ESC ESC. Jest to
|
|
ogólnego przeznaczenia "wychodzimy". Możesz go użyć także by pozbyć
|
|
się nadmiaru okien lub wyjść z minibufora.
|
|
|
|
>> Naciśnij M-x by wejść do minibufora; naciśnij potem ESC ESC ESC, by
|
|
z niego wyjść.
|
|
|
|
Nie możesz użyć C-g, by wyjść z rekursywnego poziomu edycji. Dzieje
|
|
się tak dlatego, ze C-g jest używane do anulowania poleceń i
|
|
argumentów WEWNĄTRZ rekursywnego poziomu edycji.
|
|
|
|
|
|
SZUKANIE DODATKOWEJ POMOCY
|
|
--------------------------
|
|
|
|
W tym podręczniku spróbowaliśmy dostarczyć tylko tyle informacji, ile
|
|
jest niezbędne, byś mógł zacząć używać Emacsa. Emacs jest istną
|
|
kopalnią najróżniejszych rzeczy, których nie sposób tutaj opisać.
|
|
Zapewne będziesz chciał dowiedzieć się więcej o Emacsie, ponieważ
|
|
posiada on wiele pożądanych cech, o których na razie nic nie wiesz.
|
|
Jest w nim zaszyte mnóstwo wewnętrznej dokumentacji, która może być
|
|
osiągnięta za pomocą Control-h, które określamy mianem "znaku pomocy"
|
|
z powodu spełnianej przez niego roli.
|
|
|
|
By uzyskać pomoc, naciśnij C-h a potem znak, który określa jakiego
|
|
typu pomocy oczekujesz. Jeśli poczujesz się NAPRAWDĘ zagubiony,
|
|
napisz C-h ? i Emacs spróbuje powiedzieć Ci, jakiego typu pomocy może
|
|
Ci dostarczyć. Jeśli naciśniesz C-h a potem zadecydujesz, że pomoc
|
|
nie jest Ci jednak potrzebna, po prostu wciśnij C-g by anulować C-h.
|
|
|
|
Najprostszą pomoc możesz uzyskać naciskając C-h c. Naciśnij C-h a
|
|
potem c, po czym kombinacje klawiszy polecenia, i Emacs wyświetli
|
|
bardzo krótki opis polecenia.
|
|
|
|
>> Naciśnij C-h c Control-p.
|
|
Powinno to przywołać komunikat, o treści podobnej do
|
|
|
|
C-p runs the command previous-line
|
|
|
|
W ten sposób możesz uzyskać "nazwę funkcji". Przydaje się to podczas
|
|
pisania kodu w Lispie, który rozszerza Emacsa; wystarcza to także do
|
|
przypomnienia Ci, co dane polecenie robi, jeśli widziałeś je już
|
|
wcześniej, ale nie zapamiętałeś go.
|
|
|
|
Polecenia wywoływane za pomocą wieloznakowej kombinacji klawiszy, na
|
|
przykład C-x C-s oraz (jeśli nie masz klawisza META lub EDIT) <ESC>v,
|
|
są także dopuszczalne po C-h c.
|
|
|
|
By uzyskać więcej informacji na temat polecenia, naciśnij C-h k
|
|
zamiast C-h c.
|
|
|
|
>> Naciśnij C-h k Control-p.
|
|
|
|
To polecenie wyświetla dokumentację na temat danej funkcji oraz jej
|
|
nazwę w oknie Emacsa. Gdy skończysz śledzić wynik tego polecenia
|
|
naciśnij C-x 1, by pozbyć się tekstu pomocy. Nie musisz tego robić od
|
|
razu. Możesz wykonać pewne operacje w oparciu o tekst pomocy zanim
|
|
naciśniesz C-x 1.
|
|
|
|
Oto kilka innych użytecznych wariantów C-h:
|
|
|
|
C-h f Opisz funkcje o podanej nazwie.
|
|
|
|
>> Napisz C-h f previous-line<Return>. Wypisze to na ekranie całą
|
|
informacje, jaką Emacs ma na temat funkcji, która implementuje
|
|
polecenie C-p.
|
|
|
|
Podobnie komenda C-h v pokazuje na ekranie dokumentację zmiennych, których
|
|
wartosci mozesz zmienić, aby dostosować Emacsa do swoich
|
|
preferencji. Wpisz nazwę zmiennej, gdy Emacs o nią poprosi.
|
|
|
|
|
|
C-h a Apropos. Wpisz słowo kluczowe, a Emacs wypisze listę
|
|
wszystkich poleceń, których nazwa zawiera to słowo.
|
|
Polecenia te mogą zostać wywołane za pomocą Meta-x.
|
|
Dla niektórych poleceń Apropos wypisze jedno- lub
|
|
dwuznakowe sekwencje, które wywołują dane polecenie.
|
|
|
|
>> Napisz C-h a file<Return>. Zobaczysz listę wszystkich poleceń,
|
|
dostępnych za pomocą M-x, które maja słowo "file" w swojej nazwie.
|
|
Zauważysz tam także polecenia takie, jak C-x C-f oraz C-x C-w,
|
|
umieszczone obok nazw poleceń "find-file" i "write-file".
|
|
|
|
>> Napisz C-M-v, aby przewinąć okno pomocy. Zrób to kilka razy.
|
|
>> Napisz C-x 1, aby usunąć okno pomocy.
|
|
|
|
C-h i Czytanie elektronicznych podręczników (w formacie Info). To
|
|
polecenie przełączy cię do specjalnego bufora o nazwie
|
|
*info*, gdzie bedziesz mógł przeczytać podręczniki
|
|
dotyczące pakietów zainstalowanych w twoim
|
|
systemie. Napisz m emacs <Return>, aby zapoznać się z
|
|
podręcznikiem Emacsa. Jeżeli nigdy wczesniej nie używałes
|
|
Info, napisz ? a Emacs przedstawi ci możliwości
|
|
tego trybu. Po tym, jak zapoznasz się z tym krótkim
|
|
podręcznikiem w dalszej pracy podstawową dokumentację
|
|
stanowić będzie właśnie Emacs Info.
|
|
|
|
|
|
PODSUMOWANIE
|
|
------------
|
|
|
|
Pamiętaj, że by wyjść z Emacsa na stałe, używaj C-x C-c. By wyjść do
|
|
powłoki na chwilę tak, byś mógł wrócić, użyj C-z. (To nie działa pod
|
|
X-Windows, ponieważ tam nie ma prawdziwego konceptu przejścia na
|
|
chwile do powłoki. Zamiast tego C-z ikonizuje okno Emacsa.)
|
|
|
|
Ten podręcznik był pisany tak, by wszyscy nowi użytkownicy mogli go
|
|
zrozumieć. Jeśli coś pozostawił niejasnym, nie siedź cicho i nie
|
|
obwiniaj siebie, tylko daj nam znać!
|
|
|
|
|
|
KOPIOWANIE
|
|
----------
|
|
|
|
Niniejszy podręcznik jest potomkiem w długiej linii podręczników
|
|
Emacsa, która rozpoczyna się od tego, który został napisany przez
|
|
Stuarta Cracrafta dla oryginalnego Emacsa. Został on zmodyfikowany we
|
|
wrześniu 1994 przez Bena Winga, który zaktualizował go, jeśli chodzi o
|
|
X-Windows.
|
|
|
|
Tłumaczenia na język polski dokonał Remek Trzaska z pomocą Ryszarda
|
|
Kubiaka. Jesli polskie znaki nie byly poprawnie wyswietlane w tym
|
|
buforze, oznacza to, ze nie masz zainstalowanych polskich fontow.
|
|
Pomoc w tym zakresie mozesz znalezc pod adresem:
|
|
<URL:http://www.agh.edu.pl/ogonki>
|
|
|
|
Tłumaczenie to zostało uaktualnione dla wersji GNU Emacs 21
|
|
przez Beatę Wierzchołowską <beataw@orient.uw.edu.pl> z pomocą
|
|
Janusza S. Bienia <jsbien@mail.uw.edu.pl>
|
|
|
|
Ta wersja podręcznika, podobnie jak GNU Emacs, jest zastrzeżona, a
|
|
pozwolenie na kopiowanie udzielone jest pod następującymi warunkami:
|
|
|
|
Copyright (c) 1985, 1994, 2001 Free Software Foundation
|
|
|
|
Permission is granted to anyone to make or distribute verbatim
|
|
copies of this document as received, in any medium, provided that
|
|
the copyright notice and permission notice are preserved,
|
|
and that the distributor grants the recipient permission
|
|
for further redistribution as permitted by this notice.
|
|
|
|
Permission is granted to distribute modified versions
|
|
of this document, or of portions of it,
|
|
under the above conditions, provided also that they
|
|
carry prominent notices stating who last altered them.
|
|
|
|
Warunki kopiowania samego Emacsa są w pewnym stopniu inne, aczkolwiek
|
|
zachowują te sama idee. Proszę, przeczytaj plik COPYING, po czym
|
|
rozdaj swoim znajomym kopie Emacsa. Pomóż zwalczyć przeszkody w
|
|
rozpowszechnianiu oprogramowania przez tworzenie i dzielenie się
|
|
oprogramowaniem.
|
|
|
|
;;; Local Variables:
|
|
;;; mode: fundamental
|
|
;;; coding: latin-2
|
|
;;; End:
|