Emacs/Komendy
Sposoby wprowadzania poleceńEdytuj
Jest kilka sposobów :
- polecenie elispa
- skrót klawiszowy Emacsa
- skrót klawiszowy Emacsa i polecenie elispa (mieszane polecenie)
- menu Emacsa
Przykład - lista buforów:
- (list-buffers)
- C-x C-b
- M-x list-buffers
- Menu/Buffers/List All Buffers
Oczywiście wszystkie te sposoby dają ten sam efekt.
Skróty klawiszowe EmacsaEdytuj
Emacs jest zaprojektowany do pracy z klawiaturą. Można używać myszy, ale nie jest to tak efektywne jak korzystanie z klawiatury. [1] Skrótów jest bardzo dużo, ale nie musimy pamiętać wszystkich tylko kilka potrzebnych nam do pracy.[2]
C-h b - wyświetla listę wszystkich aktualnie zdefiniowanych sekwencji klawiszy
NotacjaEdytuj
Przedtem zapoznaj się ze sposobem w jaki zapisywane są sekwencje klawiszy ( ang. Key Sequences ) w dokumentacji Emacsa[3]
Komendy Emacsa wymagają na ogół wciśnięcia klawisza CONTROL (oznaczanego czasami Ctrl lub CTL) lub klawisza META (oznaczanego czasami EDIT albo ALT). Dalej będziemy stosować następujące skróty:
C-<znak>
oznacza naciśnięcie klawisza <znak> przy wciśniętym klawiszu CONTROL.
Na przykład
C-f
będzie odpowiadało naciśnięciu f przy wciśniętym klawiszu CONTROL.
M-<znak>
oznacza przytrzymanie klawisza META lub ALT przy naciskaniu klawisza <znak>. Zamiast tego można nacisnąć i puścić klawisz ESC, a potem nacisnąć klawisz <znak>.[4]
TypyEdytuj
Definiowanie skrótów w Emacsie
GlobalneEdytuj
DynamiczneEdytuj
Można wyświetlić listę dostępnych skrótów, które sam utworzyłeś ( ang. dynamic abbreviations) :
M-x list-abbrevs
Jeśli Emacs wyświetli pustą tabelę to znaczy że :
- nie utworzyłeś żadnych skrótów
- utworzyłeś, ale nie zapamiętałeś.
Mieszane poleceniaEdytuj
Przykład :
jeżeli naciśniesz C-x wtedy Emacs wyświetli w minibuforze :
C-x -
Teraz możesz wprowadzić komendę elispa lub dokończyć skrót.
Podstawowe poleceniaEdytuj
EdycjaEdytuj
Przesuwanie kursoraEdytuj
Możemy przesunąć kursor o jednostkę tekstu:
- znak
- słowo
- linię
- zdanie
- ekran
Polecenia elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
forward-char |
C-f |
Przesunięcie o jeden znak do przodu ( w obrębie aktualnego bufora) |
backward-char |
C-b |
Przesunięcie o jeden znak do tyłu. |
forward-word |
M-f |
Przesunięcie o słowo do przodu. |
backward-word |
M-b |
Przesunięcie o słowo do tyłu. |
previous-line |
C-p |
Przesunięcie o jedną linie do góry. |
forward-line |
C-n |
Przesunięcie o jedną linie w dół. |
forward-sentence |
M-e |
Przesunięcie o jedno zdanie do przodu. |
backward-sentence |
M-a |
Przesunięcie o jedno zdanie do tyłu. |
scroll-up |
C-v lub PgUp |
Przesunięcie o jeden ekran w górę. |
|
M-v lub PgDn |
Przesunięcie o jeden ekran w dół. |
Możemy się przesuwać w obrębie jednostki tekstu:
- wiersza
- funkcji
- ekranu
- bufora
Polecenia elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
|
C-a |
Przesunięcie na początek wiersza |
|
C-e |
Przesunięcie na koniec wiersza |
|
C-m-a |
Przesunięcie na początek funkcji |
|
C-m-e |
Przesunięcie na koniec funkcji |
|
C-u C-l |
Przesunięcie bieżącego wiersza na środek ekranu |
|
M-< |
Przesunięcie na początek bufora |
|
M-> |
Przesunięcie na koniec bufora |
Inne poleceniaEdytuj
Polecenia elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
undo |
C-/ lub C-u |
Cofnięcie ostatniej zmiany. |
keyboard-quit |
C-g |
Zaniechanie ostatniej komendy. |
fill-paragraph |
M-q |
Wyrównanie tekstu do lewej krawędzi. |
search-word |
C-s |
Szukanie słowa w buforze. |
PlikiEdytuj
- `C-x C-f' - otwarcie pliku
- `C-x C-s' - zapisanie pliku
- `C-x C-w' - zapisanie pliku o danej nazwie
- C-h v buffer-file-name aby zobaczyć nazwę pliku związanego z buforem
BuforyEdytuj
Polecenie elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
find-file |
C-x C-f |
Odwiedzenie pliku (otworzenie lub stworzenie nowego pliku). |
save-buffer |
C-x C-s |
Zapis aktualnego bufora. |
write-file |
C-x C-w |
Zapisz jako... |
set-marker |
C-[space]/C-@ |
Zaznaczenie tekstu, które chcesz skopiować czy wyciąć. |
cut |
C-w |
Wycięcie zaznaczonego tekstu. |
copy |
M-w |
Skopiowanie zaznaczonego tekstu. |
paste |
C-y |
Wklejenie tekst z schowka. |
save-buffers-kill-emacs |
C-x C-c |
Wyjście z Emacsa. |
kill-buffer |
C-x k |
Zamknij bufor, jeżeli nie ma podanej nazwy zostanie zamknięty obecny bufor. |
|
C-x C-c |
Zamknięcie Emacs-a |
|
C-h v buffer-file-name | nazwa pliku związanego z buforem |
MinibuforEdytuj
Polecenia elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
execute-extended-command |
M-x |
Przenosi do minibufora i oczekuje na wprowadzenie komendy |
eval-expression |
M-: |
Pozwala na wpisanie 1 wyrażenia w minibuforze. Wykonuje je i daje wynik |
minibuffer-complete |
TAB |
Uzupełnij ile potrafisz |
minibuffer-complete-word |
SPC |
uzupełnij o jedno słowo |
minibuffer-complete-and-exit |
RET |
Uzupełnij i wykonaj |
minibuffer-completion-help |
? |
Pokaż możliwe uzupełnienia |
previous-history-element |
M-p |
Wstaw ( z historii) tekst uprzednio wprowadzony do minibufora |
next-history-element |
M-n |
Wstaw ( z historii) następny tekst do minibufora |
OknaEdytuj
- `C-x 2' - podziel wybrane okno pionowo
- `C-x 3' - podziel wybrane okno poziomo
- `C-x 0' - usunięcie okna
C-x 2 - podziel okno w poziomie C-x 3 - podziel okno w pionie C-x 1 - jedno okno C-x o - przechodzenie pomiedzy oknami C-x b - przejscie do bufora (wpisanie) C-x C-b - przejscie do bufora (menu)
RamkiEdytuj
C-x 5 o -- other frame C-x 5 0 -- delete frame C-x 5 1 -- delete other frame C-x 5 2 -- make frame C-x C-z -- Iconify Frame
PomocEdytuj
Polecenia elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
help-with-tutorial |
C-h C-h |
wyświetla rodzaje pomocy[5] |
describe-mode |
C-h m |
opis aktualnego trybu emacs-a |
help-with-tutorial |
C-h t |
samouczek emacs-a |
describe-variable |
C-h v |
Opisz zmienną : podaje DocString i wartość |
describe-function |
C-h v |
Opisz funkcje |
describe-bindings |
C-h b |
wyświetla listę wszystkich aktualnie zdefiniowanych sekwencji klawiszy |
apropos-command |
C-h a |
wyświetla listę wszystkich poleceń elispa zawierających w nazwie podany łańcuch |
LispEdytuj
Komendy związane z Lispem. Zobacz również polecenia związane z trybami
Polecenia elispa | Skrót klawiszowy Emacsa | Opis polecenia |
---|---|---|
eval-last-sexp |
C-x C-e |
Wykonaj s-wyrażenie przed kursorem[6] |
|
C-M-x |
Wykonaj bieżącą defun |
eval-region |
M-x eval-region |
Wykonaj blok |
eval-current-buffer |
M-x eval-current-buffer |
Wykonaj bufor |
|
M-ESC |
Czytaj i wykonaj minibufor |
|
C-x ESC ESC |
Powtórnie wykonaj ostatnie polecenie z minibufora |
load-file |
M-x load-file |
Czytaj i wykonaj plik z programem w Lispie |
load-library |
M-x load-library |
załaduj bibliotekę |
describe-variable |
C-h v |
Opisz zmienną : podaje DocString i wartość |
Tryby pracyEdytuj
Otwieranie trybów pracy Emacsa
LispEdytuj
Ogólne tryby :
M-x ielm ; Otwiera tryb IELM ( Inferior Emacs Lisp Mode).
M-x slime ; Otwiera tryb SLIME
M-x run-ilisp ; Common Lisp lub Scheme
Specyficzne dla dialektu języka :
M-x allegro ; M-x select-ilisp ; (C-z S) Jeśli są dostępne różne dialekty
Inne trybyEdytuj
M-x doctor
Otwiera tryb doctor w którym działa program ELIZA, symulujący psychoanalityka.
ŹródłaEdytuj
- ↑ emacs manual : User Input
- ↑ Zakład Biofizyki Obliczeniowej i Bioinformatyki UJ :Emacs
- ↑ Oznaczenia klawiszy w Emacs wiki
- ↑ Krótki samouczek Emacsa ( zawarty w programie Emacs)
- ↑ emacswiki : EmacsNewbieHelpReference
- ↑ emacswiki :EvaluatingExpressions