Emacs/Struktury
Zrozumienie buforów i okien
[edytuj]Bufor
[edytuj]Bufor ( ang. buffer) odpowiada dokumentowi lub wirtualnemu pulpitowi ( ang. workspace) w innych edytorach. Może zawierać tekst lub obrazy. Często zawartość bufora pochodzi z pliku.
Użyj komendy :
C-h v buffer-file-name
aby zobaczyć nazwę pliku.[1]
Bufor może być widoczna w jakimś oknie (ang. window) lub nie.
Lista buforów możemy uzyskać za pomocą komendy : C-x C-b
Każdy bufor ma dokładnie jeden główny tryb oraz jeden lub więcej podrzędnych trybów
Rodzaje buforów
[edytuj]Mini bufor
[edytuj]Minibufor ( ang. MiniBuffer , minibuffer ) jest to bufor służący do komunikacji między użytkownikiem a programem poprzez :
- wprowadzanie komend
- argumentów do komend
Znajduje się w osobnej ramce lub u dołu każdej ramki.
Pod wieloma względami minibufor jest jak inne bufory. Możesz w nim edytować tekst.
Większość sekwencji klawiszy jest tutaj dostępna. Są również zdefiniowane własne skróty klawiaturowe.
Aby skasować to co robisz w minibuforze użyj :
C-g
Zobacz również RefocusMinibuffer.
Wszystko co wpiszesz w minibuforze ( komendy, argumenty) jest dodawane do historii ( ang. MinibufferHistory ). Możesz wczytywać informacje z historii aby je edytować i użyć ponownie.
EchoArea
[edytuj]Czasami miejsce w którym wprowadzasz komendy jest używane do wyświetlania wiadomości ( ang. informative messages ) . Wtedy ten obszar jest nazywany EchoArea a nie minibuffer.
*Buffer List*
[edytuj]Jest to bufor zawierający listę buforów.
Polecenie :
- Menu/Buffers/List All Buffers
- skrót : C-x C-b
otwiera bufor *Buffer List* zawierający poniższy tekst :
CRM Buffer Size Mode File * *scratch* 192 Lisp Interaction * TUTORIAL (English) 46728 Text % *GNU Emacs* 806 Fundamental * *Messages* 1698 Fundamental % *Completions* 273 Completion List
Lista zawiera kilka kolumn o nagłówkach :[3]
- C od ang. Current ( aktualny). Kropka w tej kilumnie oznacza aktualny bufor
- R od ang. Read only ( tylko do odczytu). Procent w tej kolumnie oznacza ze bufor jet tylko do odczytu
- M od ang. MOdified. Gwiazdka w tej kolumnie oznacza że bufor się zmienił
- Buffer zawierający nazwy buforów
- Size oznaczający wielkość zawartości bufora
- Mode - tryb bufora
- File - skojarzony plik
Nazwy buforów nie skojarzonych z plikiem rozpoczynają się od gwiazdki ( ang. asterix) '* ', co nie znaczy że nie można zapisać ich do pliku. [4]
*scratch*
[edytuj]Ten bufor służy do testowania kodu. Możemy nazwać brudnopisem.
Okno
[edytuj]Oknem (ang. Window) w Emacsie jest obszar, w którym wyświetlany jest bufor. Okna Emacsa nie należy mylić z oknem programu uruchomionego w trybie GUI ( w MS Windows to jest okno a w Emacsie ramka).[5]
Okno może być podzielone w pionie lub poziomie na dwa okna. Te nowe okna znowu mogą być podzielone w pionie lub poziomie itd. U dołu każdego okna jest wiersz trybu ( ang. mode line ).
Wiersz trybu
[edytuj]Wiersz trybu (ang. modeline) znajduje się u dołu każdego okna ( powyżej minibufora). [6]
-cs:ch-fr buf pos line (major minor)------
Zawiera : [7]
- stan bufora :
- zmodyfikowany - para gwiazdek,
- niezmodyfikowany - myślniki,
- 'tylko do odczytu' - para znaków '%'
- nazwa bufora lub edytowanego pliku : buf
- tryb : (major minor)
- ilość treści edytowanego pliku widoczna na ekranie:[8]
- All - widać cały plik
- Top - początek pliku
- Bot - koniec pliku
- Procent - NN% oznacza procent zawartości pliku ponad widocznym oknem edycji
Ramka
[edytuj]Ramka (ang. frame) może zawierać jedno lub kilka okien. [9]
frame --------------------- | window1 | | -------------- | | | bufor1 | | | | | | | -------------- | | window2 | | -------------- | | | bufor2 | | | | | | | -------------- | ---------------------
Bibliografia
[edytuj]- ↑ Emacs wiki - buffer doc
- ↑ emacswiki - MiniBuffer doc
- ↑ CRM in Buffer List
- ↑ emacswiki : Buffer
- ↑ GNU Emacs gierki -Half-lifeboard
- ↑ emacs manual : Mode Line
- ↑ T. Przechlewski : Redagowanie plików tekstowych za pomocą edytora Emacs
- ↑ Zakład Biofizyki Obliczeniowej i Bioinformatyki UJ :Emacs
- ↑ emacswiki - Frame doc