Copyright © 2000, 2001 Seth Rothberg
Copyright © 2002, 2003, 2005 Anders Lund
Copyright © 2005 Dominik Haumann
Dozwolone jest kopiowanie, dystrybucja i/lub modyfikacja tego dokumentu na zasadach licencji GNU Free Documentation License, w wersji 1.1 lub dowolnej późniejszej wersji, opublikowanej przez Free Software Foundation; bez Sekcji Niezmiennych, bez Tekstu Początkowego i bez tekstu Końcowego. Kopia tej licencji znajduje się w sekcji zatytułowanej "GNU Free Documentation License".
Kate jest edytorem programisty dla środowiska KDE w wersji 2.2 lub wyższej.
Niniejszy podręcznik dotyczy Kate w wersji 2.5.0
Spis treści
Spis przykładów
Witamy w programie Kate, edytorze tekstu dla programistów w środowisku KDE (w wersji 2.2 lub wyższej). Główne możliwości Kate to podświetlanie składni zarówno dla języków programowania takich jak C i C++, jak również dla kodu HTML oraz skryptów powłoki bash, możliwość tworzenia i obsługi projektów składających się z wielu plików, interfejs użytkownika dla wielu dokumentów (MDI) oraz wbudowany emulator terminala.
Kate to jednak coś więcej niż tylko edytor. Możliwość otwierania wielu plików jednocześnie, czyni go idealnym narzędziem modyfikacji różnych ustawień konfiguracyjnych systemu UNIX®. Niniejszy dokument również został napisany za pomocą Kate.
Okno programu w trakcie edycji podręcznika ...
Użytkownik, który kiedykolwiek korzystał z innego edytora tekstu nie powinien mieć problemów przy korzystaniu z Kate. W dwóch kolejnych sekcjach: Uruchamianie Kate i Korzystanie z Kate przedstawione są najważniejsze informacje niezbędne do szybkiego rozpoczęcia pracy z programem.
Program Kate można uruchomić korzystając z lub linii poleceń.
Kliknięcie na główne menu środowiska KDE (ikona dużej litery K na pasku zadań na dole po lewej stronie ekranu) spowoduje wyświetlenie zainstalowanych w systemie . Następnie należy przesunąć kursor na pozycję i z wyświetlonej listy wybrać pozycję .
Po uruchomieniu Kate wczytane zostaną ostatnio używane pliki. Można wyłączyć takie zachowanie. Więcej informacji na ten temat dostępne jest w sekcji Konfiguracja Kate.
Program można uruchomić wpisując jego nazwę w linii poleceń. Jeśli dodatkowo podana zostanie nazwa pliku to program otworzy wskazany plik lub utworzy nowy (jeżeli ten plik nie istnieje). Poniżej przedstawiono przykładowe wywołanie programu Kate w linii poleceń.
%
kate
mój_plik.txt
Jeżeli dostępne jest połączenie sieciowe i użytkownik posiada odpowiednie uprawnienia to można wykorzystać mechanizm przezroczystości sieciowej środowiska KDE do otwierania plików w sieci Internet. Poniżej przykładowe wywołanie otwierające zdalny plik w sieci.
%
kate
ftp://ftp.kde.org/pub/kde/README_FIRST
Program Kate obsługuje następujące opcje w linii poleceń:
kate --help
Wyświetla listę dostępnych podstawowych opcji uruchamiania.
kate --help-qt
Lista dostępnych opcji dotyczących współpracy Kate z biblioteką Qt™.
kate --help-kde
Lista dostępnych opcji dotyczących zachowania Kate w środowisku KDE.
kate -s
--start
nazwa_sesji
Uruchamia Kate otwierając określoną w poleceniu sesję. Jeżeli podana sesja nie istnieje to zostanie utworzona. Jeżeli aktywna jest instancja Kate, w której uruchomiona jest określona w poleceniu sesja to podane pliki zostaną wczytane przez tę instancję. Jeżeli podano opcję --use
to również zostanie użyta instancja zawierająca sesję o podanej nazwie (patrz opis opcji --use
).
kate -u
--use
URL
Powoduje użycie aktywnej instancji programu Kate. Jeżeli chcesz otwierać wszystkie dokumenty w jednej instancji Kate, to możesz takie zachowanie określić w konfiguracji programu, jak również można utworzyć odpowiedni alias dla polecenia w powłoce tekstowej (jeżeli powłoka daje takie możliwości).
kate -p
--pid
PID
Powoduje użycie aktywnej instancji programu Kate ale tylko o podanym numerze procesu PID
.
kate --encoding
encoding
URL
Określa sposób kodowania znaków dla otwieranego pliku.
kate --line
wiersz
URL
Powoduje przejście do podanego wiersza po otwarciu dokumentu.
kate --column
kolumna
URL
Powoduje przejście do podanej kolumny po otwarciu dokumentu.
kate --stdin
Pobiera tekst dokumentu ze standardowego wejścia STDIN
. Jest to mechanizm używany przez wiele programów uruchamianych z linii poleceń, który pozwala przekierowywać wyjście innych programów do Kate.
kate --tempfile
Począwszy od wersji 2.5.1 programu Kate dostępna jest ta standardowa dla środowiska KDE opcja. Użycie jej spowoduje traktowanie otwieranych plików jako tymczasowych i ich kasowanie przy zamykaniu (ale tylko jeżeli są lokalne, a użytkownik posiada odpowiednie uprawnienia). Plik nie będzie kasowany, jeżeli został zmodyfikowany po otworzeniu.
kate --help-all
Wyświetla listę wszystkich opcji dostępnych w linii poleceń.
kate --author
Wyświetli listę autorów programu Kate.
kate -v
--version
Wyświetla informacje o numerze wersji bibliotek Qt™, KDE, oraz Kate.
kate --license
Pokazuje licencję programu.
W części Szybki start przedstawiono jak włączyć cztery proste opcje pozwalające skonfigurować najważniejsze funkcje Kate. W sekcji: Skróty klawiszowe omówiono podstawowe skróty klawiszowe przydatne dla osób, które nie chcą korzystać z myszy.
W tej części opisano niektóre pozycje z menu pozwalające na konfigurację Kate i dostosowanie programu do wymagań użytkownika.
Po uruchomieniu Kate wyświetlane są dwa okna z białym tłem. Nad tymi oknami znajduje się pasek narzędzi, a powyżej pasek menu.
Okno po lewej to tak zwany pasek boczny zawierający listę dokumentów i przeglądarkę systemu plików. Przełączanie pomiędzy listą dokumentów i przeglądarką plików odbywa się za pomocą zakładek znajdujących się po lewej stronie okna.
Po otwarciu pliku, w prawym oknie pokaże się jego zawartość, a na liście dokumentów w lewym oknie nazwa tego pliku. Korzystając z przeglądarki systemu plików można otwierać następne pliki do edycji.
Możliwe jest chowanie i pokazywanie okna listy dokumentów i przeglądarki systemu plików za pomocą menu ->. To menu daje także pogląd na inne możliwości Kate i pokazuje elastyczność programu. W tym rozdziale omówione zostaną następujące elementy:
Włącza i wyłącza widok listy dokumentów. Jeżeli lista dokumentów lub przeglądarka systemu plików nie są widoczne, to Kate wyświetli boczny pasek jako osobne niezadokowane okno. Aby zadokować okno należy nacisnąć i przytrzymać lewy klawisz myszki na dwóch równoległych liniach obok paska narzędzi, przesunąć okno nad obszar edycyjny i puścić klawisz myszki po ustawieniu okna w wymaganej pozycji.
Poprawne przyciśnięcie równoległych linii dla operacji przeciągnij i upuść sygnalizowane jest zmianą kształtu kursora na dwie skrzyżowane strzałki.
Włącza i wyłącza widok przeglądarki systemu plików. Działanie tego polecenia jest niemal identyczne jak . Jedyną różnicą jest to iż otworzy się okno z przeglądarką systemu plików na wierzchu.
Włącza i wyłącza okno konsoli usytuowane poniżej okna edycyjnego Kate. Funkcja ta pozwala na wprowadzanie poleceń systemu operacyjnego bez wychodzenia z programu.
Skróty klawiszowe w Kate można skonfigurować korzystając z menu Ustawienia. Domyślnie przez Kate wykorzystywane są następujące klawisze.
Insert | Klawisz powoduje przełączenie pomiędzy trybem wstawiania i zastępowania. W trybie wstawiania edytor dodaje każdy kolejny znak do tekstu na prawo od kursora. W trybie zastępowania każdy znak na prawo od kursora zostaje zastąpiony wprowadzonym znakiem. |
Strzałka w lewo | Przesuwa kursor w lewo |
Strzałka w prawo | Przesuwa kursor w prawo |
Strzałka do góry | Przesuwa kursor w górę |
Strzałka w dół | Przesuwa kursor w dół |
Page Up | Przesuwa kursor o jedną stronę do góry |
Page Down | Przesuwa kursor o jedną stronę w dół |
Backspace | Usuwa znak na lewo od kursora |
Home | Przesuwa kursor na początek wiersza |
End | Przesuwa kursor na koniec wiersza |
Delete | Usuwa znak na prawo od kursora (lub cały zaznaczony fragmentu tekstu) |
Shift+Lewa strzałka | Zaznacza tekst o jeden znak w lewo |
Shift+Prawa strzałka | Zaznacza tekst o jeden znak w prawo |
F1 | Wyświetla Pomoc |
Shift+F1 | |
Ctrl+F | |
F3 | |
Ctrl+B | Ustawia zakładkę |
Ctrl+C | Kopiuje zaznaczony tekst do schowka. |
Ctrl+N | Otwiera nowy dokument |
Ctrl+P | |
Ctrl+Q | Zamyka aktywne okno edytora |
Ctrl+R | |
Ctrl+S | Zapisuje plik |
Ctrl+V | Wkleja zawartość schowka do edytora |
Ctrl+X | Kasuje zaznaczony tekst, jednocześnie kopiując go do schowka |
Ctrl+Z | |
Ctrl+Shift+Z |
Mechanizm sesji pozwala na przechowywanie wielu różnych zestawów dokumentów i konfiguracji interfejsu użytkownika Kate. Można stworzyć dowolną liczbę nazwanych sesji dla najczęściej używanych plików oraz skorzystać z sesji nienazwanych (anonimowych) dla plików używanych sporadycznie. W chwili obecnej program w konfiguracji sesji zapisuje listę otwartych plików oraz konfigurację okien w obszarze edycyjnym. Kolejne wersje Kate umożliwią zapisywanie w sesji innych ustawień. Wraz z mechanizmem sesji Kate oferuje możliwość uruchamiania wielu instancji programu jednocześnie.
Mechanizm sesji jest obsługiwany przez:
Opcje linii poleceń, pozwalające na wybranie sesji przy uruchamianiu programu Kate z linii poleceń.
Menu Sesje, pozwalające na przełączanie, zapisywanie, uruchamianie i zarządzanie sesjami
Parametry konfiguracyjne decydujące o zachowaniu się mechanizmu sesji w programie Kate.
Podczas tworzenia nowej sesji wczytywane są ustawienia interfejsu użytkownika zdefiniowane dla Domyślnej sesji. Aby zapisać bieżące ustawienia okien jako sesję domyślną, należy włączyć opcję zapisywania konfiguracji okien w sesjach (w karcie "Sesje" okna konfiguracji). Następnie należy otworzyć sesję domyślną, dokonać odpowiednich zmian w ustawieniu okien i zapisać sesję.
W przypadku wczytania nazwanej sesji Kate wyświetli jej nazwę na początku paska tytułowego okna. Napis w pasku tytułowym przyjmie postać: "Nazwa sesji
: Nazwa lub URL dokumentu
- Kate"
Podczas otwierania pliku w linii poleceń z opcją --start
lub jeżeli została skonfigurowana sesja startowa, to zostanie ona wczytana przed wczytaniem plików wskazanych w linii poleceń. Aby otworzyć podane pliki w nowej nienazwanej sesji należy skonfigurować program do uruchamiania nowej sesji podczas uruchamiania lub użyć polecenia nazwa_sesji
--start
z pustym tekstem jako nazwą sesji: ''
.
Od wersji 2.5.1. programu Kate numer procesu PID uruchomionej instancji programu jest zapisywany w zmiennej środowiskowej KATE_PID
. Podczas otwierania plików z pomocą wbudowanej konsoli Kate automatycznie otworzy je w bieżącej instancji chyba, że w wywołaniu została wskazana inna instancja.
Mechanizm sesji jest bardzo prostym i pożytecznym narzędziem pracy przydatnym w wielu sytuacjach. Jeżeli jednak użytkownik preferuje stare zachowanie Kate (tzn. jedna instancja otwiera wszystkie pliki) to można to zrobić w następujący sposób:
Należy spowodować, aby program Kate zawsze uruchamiał się z opcją --use
np. poprzez określenie sposobu uruchamiania w konfiguracji programu lub wykorzystując mechanizm aliasów w systemie.
Skonfigurować Kate do przywracania ostatnio używanej sesji przy uruchomieniu.
Włączyć opcję zapisywania listy plików przy zamykaniu sesji.
Wczytać raz domyślną sesję
Zawiera opis wszystkich poleceń menu, opcji konfiguracyjnych, narzędzi, okien, wtyczek, itp. jak też charakterystykę pracy edytora i pozostałych funkcji programu.
Wciśnięcie F1 lub wybranie menu otwiera okno z niniejszym podręcznikiem.
Pomoc "Co to jest?" oferuje natychmiastową pomoc dotyczącą wybranych elementów i obszarów okna dialogowego.
Autorzy dokładają wielu starań, aby pomoc "Co to jest?" była dostępna dla wszystkich elementów, dla których ma sens. W tym momencie działa ona dla okna konfiguracji i dla wielu innych okien dialogowych.
Aby skorzystać z pomocy "Co to jest?", należy wcisnąć Shift-F1 lub skorzystać z menu ->. Po wykonaniu tych operacji kursor zmieni się w znak zapytania, którym można kliknąć na dowolny element w oknie i uzyskać krótką informację na jego temat (jeżeli jest dostępna).
Niektóre okna posiadają przycisk , którego wciśnięcie powoduje uruchomienie Centrum pomocy KDE i otworzenie odpowiedniej sekcji dokumentacji.
Program Kate nie umożliwia (jeszcze!) dostępu do dokumentacji związanej z edytowanymi plikami. W zależności od pliku jaki został otworzony informację na jego temat można odszukać za pomocą wbudowanej Konsoli (np.: czytając strony "man" systemu UNIX®) lub też można skorzystać z programu Konqueror.
Niniejszy rozdział wyjaśni znaczenie terminów: okno, edycja, dokument, ramka , edytor. Pozwoli to czytelnikowi na bardziej efektywną pracę z Kate.
Okno główne w Kate jest standardowym oknem środowiska KDE z dodatkowymi paskami bocznymi zawierającymi widoki narzędzi. Dostępny jest pasek menu ze standardowymi poleceniami, jak też pasek narzędzi ze skrótami do najczęściej używanych poleceń.
Najważniejszą częścią okna jest obszar edycji domyślnie wyświetlający pojedyncze okno edytora tekstu, w którym można pracować z dokumentem.
Do wyświetlania okien z narzędziami wykorzystywane są mechanizmy dokowania okien środowiska KDE. Te okna to:
Dodatkowe widoki narzędzi np. udostępniane przez wtyczki.
Widoki narzędzi mogą być rozmieszczane w różnych panelach. Zmiana ich położenia możliwa jest po naciśnięciu prawego przycisku myszki na pasku bocznym i skorzystaniu z menu kontekstowego.
Pozycja widoku narzędzi może być zmieniona na trwałą w menu kontekstowym. Ponieważ każdy pasek boczny może zawierać kilka zestawów narzędzi to ustawienie zachowania na "trwały" spowoduje jednoczesne wyświetlenie kilku zestawów narzędzi.
W programie Kate możliwe jest otwarcie więcej niż jednego dokumentu jednocześnie oraz podzielenie obszaru edycyjnego na dowolną liczbę ramek, podobnie jak w programach Konqueror lub emacs. Dzięki temu użytkownik może wyświetlić kilka widoków tego samego dokumentu jednocześnie, co jest pomocne gdy np. kod programu zawiera definicje zmiennych w górnej części pliku. Można też oglądać plik nagłówkowy programu w jednej ramce, równocześnie edytując plik implementacji w innej ramce.
Jeśli dokument jest otwarty w kilku ramkach, to zmiany dokonane w jednej są natychmiast widoczne w pozostałych. Odnosi się to zarówno do zmian w tekście jak i do operacji zaznaczania. Operacje szukania lub ruchu kursora dotyczą tylko aktywnego okna.
Nie jest możliwe otwarcie wielu okien z tym samym dokumentem tak, aby zmiany w jednym nie miały wpływu na pozostałe.
W momencie podziału okna edytora na dwie ramki, obszar edycji jest dzielony na dwie równe części wyświetlające bieżący dokument. Nowa ramka pojawi się na dole (w przypadku podziału poziomego) lub po prawej stronie (w przypadku podziału pionowego). Nowa ramka staje się aktywna, co jest sygnalizowane odpowiednim kolorem obramowania ramki.
Lista dokumentów pokazuje spis wszystkich dokumentów obecnie otwartych przez Kate. Zmodyfikowane pliki oznaczane są małą ikoną dyskietki po lewej stronie.
Jeśli otwartych jest więcej plików o tej samej nazwie (ale np. zlokalizowanych innych folderach) to nazwa kolejnych plików będzie rozszerzona dołączoną liczbą „(2)” i tak dalej. Po najechaniu myszką na nazwę dokumentu wyświetli się podpowiedź podająca pełną ścieżkę dostępu (pozwala to na wybranie właściwego pliku).
Aby wyświetlić dany plik w bieżącej ramce, należy kliknąć na jego nazwę w liście dokumentów lewym przyciskiem myszy.
Lista dokumentów może być sortowana na kilka sposobów. Kliknięcie prawym przyciskiem myszy pozwala wybrać kolejność sortowania za pomocą kontekstowego menu . Dostępne są następujące możliwości:
Sortuje dokumenty według kolejności ich otwierania.
Sortuje dokumenty alfabetycznie.
Sortuje dokumenty alfabetycznie, stosując pełny adres URL.
Zmiany w dokumentach będą przedstawiane na liście za pomocą zmienionych kolorów tła pod nazwą dokumentu. Każda edycja dokumentu wzmacnia nasycenie koloru tła tak, że ostatnio edytowane dokumenty mają kolor najbardziej wyrazisty. Pozwala to na łatwą identyfikację dokumentów, którymi w danej chwili zajmuje się użytkownik. Funkcja ta może zostać wyłączona w karcie Lista dokumentów okna konfiguracji.
Domyślna lokalizacja listy dokumentów w oknie Kate to lewa strona obszaru edycyjnego.
Przeglądarka systemu plików wyświetla listę katalogów, pozwalając na wybranie i otwarcie pliku z pokazywanego katalogu w bieżącej ramce okna edycyjnego.
Przeglądarka systemu plików zawiera następujące elementy:
Zawiera standardowe przyciski nawigacyjne:
Wciśnięcie tego przycisku powoduje przejście do katalogu domowego użytkownika.
Wciśnięcie tego przycisku powoduje przejście do katalogu nadrzędnego nad bieżącym (jeżeli jest to możliwe).
Powoduje przejście do katalogu, który był poprzednio wyświetlany.Ten przycisk jest nieaktywny, jeśli wcześniej nie otwarto żadnego innego katalogu.
Powoduje przejście do następnego katalogu z historii przeglądania. Ten przycisk jest nieaktywny, jeśli nie ma następnego katalogu w historii.
Powoduje przejście do katalogu, w którym znajduje się bieżący dokument. Ten przycisk jest nieaktywny, jeśli dokument jest nowy, niezapisany lub jeśli nie da się określić katalogu, w którym się znajduje.
Tutaj można wpisać ścieżkę dostępu do katalogu, który użytkownik chce przeglądać. Pole URL przechowuje listę poprzednio wpisywanych ścieżek. Wybranie jednej z nich możliwe jest za pomocą przycisku rozwijania listy po prawej stronie pola.
Pole URL posiada funkcję automatycznego uzupełniania nazw katalogów. Metoda uzupełniania może być wybrana po naciśnięciu prawego przycisku myszki na polu tekstowym.
Zawiera standardową dla środowiska KDE przeglądarkę plików w katalogu.
Pozwala na filtrowania listy plików wyświetlonych w oknie według zdefiniowanych kryteriów. Można wykorzystać standardowe maski filtra plików, a w przypadku podawania więcej niż jednej maski poszczególne pozycje należy rozdzielić spacjami np: *.cpp *.h *.moc
.
Aby wyświetlić wszystkie pliki należy wprowadzić w tym polu gwiazdkę: *
.
Pole filtra nazw plików zachowuje 10 ostatnich wpisów. Aby wybrać któryś z nich, należy skorzystać z przycisku rozwijania listy po prawej stronie pola.
Wbudowana konsola jest kopią programu Konsole dla środowiska KDE. Można ją włączyć w menu ->-> lub przez naciśnięcie klawisza F7. Dodatkowo, jeżeli włączona została opcja Synchronizuj konsolę z aktywnym dokumentem to katalog roboczy w konsoli będzie zawsze ustawiany na ścieżkę do katalogu, w którym znajduje się bieżący dokument.
Domyślnie konsola w oknie Kate znajduje się na dole, pod obszarem edycji.
Program Konsole można dodatkowo konfigurować. Po naciśnięciu prawego przycisku myszki otworzy się kontekstowe menu z listą dostępnych opcji. Więcej informacji o korzystaniu z Konsole dostępne jest w podręczniku dla tego programu.
W menu dostępne jest podmenu . Pozycje z tego menu służą do uruchamiania programów wykonujących operację na danych związanych z bieżącym dokumentem. Może do nich zostać przekazana na przykład: ścieżka do pliku, katalog, cały tekst dokumentu lub jego zaznaczony fragment.
Narzędzia zewnętrzne użytkownik może definiować samodzielnie w karcie Narzędzia zewnętrzne okna konfiguracji Kate.
Edytor Kate jest częścią środowiska KDE wykorzystywaną także przez inne programy takie jak np.: KWrite lub Konqueror do wyświetlania plików lokalnych jak i znajdujących się w sieci.
Edytor składa się z następujących elementów:
Tutaj jest wyświetlana treść dokumentu.
Paski przewijania pozwalają na przesuwanie widocznego obszaru dokumentu. Przesuwanie dokumentu za pomocą pasków przewijania nie powoduje zmiany bieżącej pozycji kursora.
Paski przewijania są wyświetlane i ukrywane w zależności od potrzeb.
Pasek ikon jest wąskim obszarem po lewej stronie obszaru edycji wyświetlającym różnego rodzaju ikony obok zaznaczonych wierszy tekstu.
Klikając lewym przyciskiem myszy w pasku ikon można dodać lub usunąć zakładkę dla wybranego wiersza dokumentu.
Przełączenie wyświetlania paska ikon odbywa się poprzez menu: ->.
Pasek numerów wierszy wyświetla numery wszystkich widocznych wierszy dokumentu.
Przełączanie wyświetlania paska numerów wierszy odbywa się poprzez menu: ->.
Pozwala użytkownikowi na zwijanie lub rozwijanie fragmentów kodu programu. Rozpoznawanie fragmentu podlegającego operacji zwinięcia/rozwinięcia odbywa się zgodnie z zasadami zdefiniowanymi w regułach podświetlania składni dla danego formatu dokumentu.
Pozostałe informacje zawarte w niniejszym rozdziale:
Przesuwanie kursora w treści dokumentu odbywa się w Kate tak, jak w większości graficznych edytorów tekstu. Działają klawisze strzałek, Page Up, Page Down, Home, End oraz ich kombinacje z klawiszami Ctrl oraz Shift. Klawisz Shift stosowany jest do zaznaczania tekstu zaś klawisz Ctrl w różny sposób modyfikuje sposób działania pozostałych klawiszy:
W połączeniu z klawiszami strzałek w górę i w dół powoduje przesuwanie zawartości okna zamiast przesuwania kursora.
Użycie Ctrl z klawiszami strzałek w lewo oraz w prawo będzie powodowało przesuwanie kursora o całe wyrazy, a nie o pojedyncze znaki.
Dla klawiszy Page Up oraz Page Down zmiana działania polega na przesuwaniu kursora najpierw na początek lub koniec bieżącego okna, zamiast przesuwania o jedną stronę z zachowaniem pozycji kursora.
W kombinacji z Home oraz End, Ctrl oznacza przesunięcie na początek lub koniec dokumentu, nie zaś na początek lub koniec wiersza.
Program Kate umożliwia szybkie przemieszczanie się pomiędzy odpowiadającymi sobie parami nawiasów lub cudzysłowów. Naciśnięcie klawiszy Ctrl-6 gdy kursor znajduje się obok nawiasu lub cudzysłowu spowoduje przeniesienie go do nawiasu lub cudzysłowu będącego dla niego parą.
Dodatkowo można skorzystać z mechanizmu zakładek w celu szybkiego przenoszenia kursora pomiędzy zdefiniowanymi wcześniej pozycjami w treści dokumentu.
Fragmenty tekstu w Kate można zaznaczać za pomocą myszki lub klawiatury.
Aby zaznaczyć tekst za pomocą myszki, należy nacisnąć i przytrzymać lewy przycisk myszki, a następnie przesunąć kursor z punktu wyjścia do końca zaznaczanego fragmentu. Zaznaczany fragment zmienia kolor tła w czasie zaznaczania.
Podwójne kliknięcie zaznacza cały wyraz.
Potrójne kliknięcie zaznacza cały wiersz.
Przytrzymanie klawisza Shift podczas klikania myszy w dokumencie powoduje zaznaczanie tekstu:
Gdy nie ma innego zaznaczenia to zostanie zaznaczony fragment od bieżącej pozycji kursora do pozycji, na której znajdzie się wskaźnik myszy w momencie kliknięcia.
Jeżeli istnieje już zaznaczenie to kliknięcie rozszerzy zaznaczenie począwszy od jego granicy do pozycji wskaźnika myszy w momencie kliknięcia.
Zaznaczanie tekstu za pomocą myszki powoduje automatyczne kopiowanie go do schowka. Można potem zaznaczony fragment wkleić w dowolnym miejscu za pomocą środkowego przycisku myszki. Możliwe jest też wklejenie go w innym programie.
Aby zaznaczyć tekst za pomocą klawiatury, należy przytrzymać klawisz Shift i przesunąć kursor klawiszami strzałek, Page Up, Page Down, Home i End (działają też ich kombinacje z klawiszem Ctrl).
Więcej informacji na ten temat w sekcji Nawigacja w tekście niniejszego dokumentu.
Skopiowanie wybranego fragmentu do schowka możliwe jest za pomocą menu: -> lub skrótu klawiszowego (domyślnie jest to: Ctrl+C).
Usunięcie zaznaczenia dla wybranego fragmentu odbywa się za pomocą opcji menu ->, skrótu klawiszowego (domyślnie jest to: Ctrl+Shift+A) lub poprzez kliknięcie lewym przyciskiem myszy w dowolnym miejscu obszaru edycji.
Włączenie trybu zaznaczania bloku pozwala na „zaznaczanie tekstu w pionie”, tzn. wybór tych samych kolumn z wielu następujących po sobie wierszy. Funkcja ta jest przydatna w pracy z plikami zawierającymi kolumny o stałej szerokości np.: z danymi, liczbami, itp.
Tryb zaznaczania bloku może być włączony w menu -> lub za pomocą skrótu klawiszowego: Ctrl+Shift+B
Włączenie trybu zastępowania zaznaczenia powoduje, iż wprowadzenie lub wklejenie tekstu przy istniejącym zaznaczeniu fragmentu dokumentu spowoduje zastąpienie tego fragmentu wprowadzanym znakiem lub wklejanym tekstem. Jeżeli tryb zastępowania zaznaczenia jest wyłączony to nowy tekst zostanie dodany w miejscu bieżącej pozycji kursora.
Tryb zastępowania zaznaczenia jest domyślnie włączony.
Zmiana tego ustawienia jest możliwa w karcie Kursor i zaznaczanie okna dialogowego Konfiguracja Kate.
Przy włączonej opcji trwałego zaznaczenia operacje wpisywania znaków lub przemieszczania kursora nie powodują usunięcia zaznaczenia. Oznacza to, że można przesuwać kursor poza miejscem zaznaczenia, a także wprowadzać wewnątrz zaznaczenia nowy tekst, nie tracąc tego zaznaczenia.
Opcja trwałego zaznaczenia domyślnie jest wyłączona.
Zmiana trybu trwałego zaznaczenia możliwa jest w karcie Kursor i zaznaczanie okna dialogowego Konfiguracja Kate.
Jednoczesne włączenie trybu trwałego zaznaczenia i zastępowania zaznaczenia powoduje, iż wpisywanie lub wklejanie tekstu wewnątrz zaznaczonego fragmentu spowoduje, że zostanie on zastąpiony nowym tekstem, a zaznaczenie usunięte.
Aby skopiować fragment tekstu należy go wcześniej zaznaczyć, a następnie użyć menu ->. Niezależnie od tego polecenia, każde zaznaczenie fragmentu tekstu powoduje automatyczne skopiowanie go do schowka menedżera okien X.
Wklejenie tekstu ze schowka możliwe jest za pomocą polecenia menu -> .
Dodatkowo każdy fragment zaznaczony myszką może zostać wklejony w innym miejscu dokumentu za pomocą
przycisku myszy.Środowisko KDE umożliwia dostęp do wielu poprzednio kopiowanych fragmentów tekstu za pomocą narzędzia Klipper, którego ikona widoczna jest na pasku Kickera.
Okna dialogowe dla wyszukiwania i zastępowania tekstu w programie Kate są do siebie bardzo podobne. Jedyną różnicą jest to, iż w oknie zastępowania widoczne jest dodatkowe pole do wprowadzania tekstu zastępującego tekst znaleziony, a także kilka dodatkowych opcji.
Okna dialogowe zawierają następujące elementy:
Tutaj należy wprowadzić poszukiwany napis. Sposób wyszukiwania zależy od zaznaczenia opisanych poniżej opcji.
Jeśli ta opcja jest zaznaczona to wprowadzony w polu wyszukiwania napis jest interpretowany jako wyrażenie regularne. Po zaznaczeniu tej opcji uaktywni się przycisk graficznego narzędzia do tworzenia i edycji wyrażeń regularnych.
Więcej informacji na ten temat znajduje się w sekcji: Wyrażenia regularne.
Jeśli opcja zostanie wyłączona to operacja wyszukiwania nie będzie wrażliwa na wielkość liter.
Włączenie tej opcji spowoduje, iż program nie będzie wyszukiwał napisów stanowiących fragmenty innych dłuższych wyrazów.
Jeśli wybrano tę opcję, to wyszukiwanie zacznie się od miejsca położenia kursora, w przeciwnym wypadku rozpocznie się od początku dokumentu.
Jeśli opcja zostanie zaznaczona, to wyszukiwanie rozpocznie się począwszy od bieżącego miejsca położenia kursora, w kierunku początku dokumentu.
Okno dialogowe Zastąp ... zawiera kilka dodatkowych opcji:
W tym polu wprowadzić należy tekst zastępujący znaleziony napis.
Ta opcja jest nieaktywna jeśli brak jest zaznaczenia w bieżącym dokumencie lub opcja Pytaj przy zamianie jest włączona. Włączenie opcji powoduje, iż zamiana wyszukanego napisu na tekst zastępujący odbywać się będzie tylko w ramach zaznaczonego fragmentu tekstu.
Jeśli opcja zostanie włączona, to program, w przypadku znalezienia pasującego napisu, wyświetli okno zawierające następujące przyciski:
Przycisk spowoduje zamianę znalezionego napisu (znaleziony napis jest podświetlony w oknie edycyjnym).
Program pominie bieżący wynik wyszukiwania i będzie kontynuować wyszukiwanie.
Wyłącza wyświetlanie następnych pytań i zastępuje wszystkie pozostałe wystąpienia szukanego napisu w tekście.
Pomija bieżący wynik wyszukiwania i kończy dalsze operacje.
W chwili obecnej program Kate nie pozwala na użycie parametru minimalnego dopasowania dla mechanizmu wyrażeń regularnych. Opcja ta zostanie dodana w następnej wersji programu.
Aby wyszukać napis w bieżącym dokumencie należy oworzyć okno dialogowe Znajdź tekst za pomocą skrótu klawiszowego Ctrl+F lub wybierając z menu polecenie ->. W odpowiednim polu tego okna należy wprowadzić poszukiwany napis, ustawić ewentualnie dodatkowe opcje wyszukiwania zgodnie z wymaganiami, a następnie nacisnąć przycisk . Jeżeli poszukiwany napis nie zostanie znaleziony pomiędzy bieżącą pozycją kursora, a końcem dokumentu to użytkownik zostanie zapytany o zgodę na kontynuację wyszukiwania od początku dokumentu (lub końca, jeśli została włączona opcja wyszukiwania wstecz).
Znaleziony napis zostaje zaznaczony, zaś okno dialogowe Znajdź ... zostaje ukryte. Wyszukiwanie następnych wystąpień tego samego tekstu jest jednak bardzo proste:
Aby znaleźć kolejne dopasowanie w bieżącym kierunku wyszukiwania, należy wybrać z menu-> lub nacisnąć klawisz F3.
Aby wyszukać kolejne dopasowanie napisu w kierunku przeciwnym do bieżącego kierunku wyszukiwania należy wybrać z menu -> lub nacisnąć klawisz Shift+F3.
Jeśli proces wyszukiwanie osiągnie koniec (początek) dokumentu, to program zapyta się czy ma kontynuować szukanie od początku (końca) do bieżącej pozycji kursora.
Zastępowanie tekstu odbywa się z pomocą okna dialogowego Zastąp tekst uruchamianego za pomocą menu -> lub za pomocą klawiszy Ctrl+R. W wyświetlonym oknie dialogowym należy wprowadzić poszukiwany napis oraz tekst, który ma go zastąpić (jeżeli w polu tekst zastępujący nic nie będzie to każde znalezione wystąpienie tekstu poszukiwanego zostanie usunięte). Po zaznaczeniu dodatkowych opcji wyszukiwania należy nacisnąć przycisk .
W przypadku korzystania z wyrażeń regularnych dla poszukiwania tekstu przy operacjach zastępowania można skorzystać z odwołań zwrotnych do przechwytywania dopasowanego tekstu i wykorzystywania go w napisie zastępującym.
Więcej informacji na ten temat znajduje się w sekcji: Dodatek B, Wyrażenia regularne .
Dodatkowo możliwe jest wykorzystanie poleceń find, replace oraz ifind (wyszukiwanie przyrostowe) dostępnych w linii poleceń edytora.
Mechanizm zakładek pozwala na oznaczenie wybranych fragmentów dokumentu w celu ich szybkiego wyszukiwania.
Zakładkę dla wiersza można zdefiniować na dwa sposoby:
Po ustawieniu kursora w wybranym wierszu można wybrać z menu -> (Ctrl+B).
Można kliknąć na pasek ikon obok wybranego wiersza.
Zdefiniowane w dokumencie zakładki widoczne są w menu jako pozycje menu, zawierające w swej treści numer wiersza i jego kilka początkowych słów. Wybranie zakładki z menu spowoduje przeniesienie kursora na początek oznaczonego przez tę zakładkę wiersza.
Można szybko przenosić kursor pomiędzy zakładkami odbywa się za pomocą poleceń menu -> (Alt+Page Down) lub -> (Alt+Page Up).
Funkcja pozwala na formatowanie tekstu tak, iż wyrazy wykraczające poza zdefiniowaną dla wiersza maksymalną liczbę znaków, zostają automatycznie przeniesione do następnego wiersza, chyba że w wierszu tym zapisany jest dłuższy napis nie zawierający spacji i innych tzw. białych znaków.
Włączenie/wyłączenie tej opcji możliwe jest w karcie Edycja w oknie dialogowym Konfiguracji.
Aby ustawić liczbę znaków w wierszu po których następuje zawijanie wyrazów, należy skorzystać z opcji dostępnej w karcie Edycja okna dialogowego Konfiguracja.
Efekty działania tej funkcji są następujące:
W trakcie pisania edytor automatycznie wstawi znak przeniesienia do następnego wiersza po ostatniej spacji poprzedzającej wyraz, który spowodował przekroczenie maksymalnej liczby znaków w wierszu.
Podczas wczytywania dokumentu program zawinie wyrazy w taki sam sposób, aby wiersze dokumentu nie przekraczały zdefiniowanej liczby znaków (przy założeniu, że zawierają spacje pozwalające na przeniesienie całego wyrazu).
Obecna wersja programu nie pozwala na odmienne ustawienie działania funkcji zawijania wyrazów dla różnych typów dokumentów lub dla poszczególnych otwartych plików. Zostanie to poprawione w następnych wersjach programu Kate.
Program Kate umożliwia stosowanie różnorodnych trybów automatycznego generowania wcięć w tekście, przystosowanych dla różnych rodzajów dokumentów. Użytkownik może wybrać tryb generowania wcięć w menu: ->. Uzupełnieniem funkcji automatycznych wcięć jest polecenie ->, które powoduje regenerację wielkości wcięć dla zaznaczonego fragmentu lub bieżącego wiersza. Można zastosować to polecenie dla całego dokumentu zaznaczając cały tekst przed jego uruchomieniem.
Wszystkie tryby automatycznych wcięć wykorzystują ustawienia konfiguracyjne dla bieżącego dokumentu.
Użytkownik może określić różnorodne parametry konfiguracyjne związane z wcięciami za pomocą zmiennych konfiguracyjnych pliku oraz typów pliku.
Dostępne tryby pracy automatycznych wcięć
Wyłącza funkcję automatycznych wcięć.
W tym trybie generowania wcięć program stara się utrzymać wcięcie na poziomie podobnym do wcięcia w poprzednim wierszu. Ten tryb może być używany z poleceniami "wcięcie" i "usuń wcięcie" dla samodzielnego ustalania poziomów wcięć w dokumencie.
Moduł generowania wcięć dla języka C, C++, C#, java, javascript i innych podobnych. Ten moduł nie będzie dobrze działać dla języków skryptowych takich jak Perl czy PHP.
Alternatywny moduł generowania wcięć dla języków programowania z rodziny C.
Moduł generowania automatycznych wcięć dostosowany do języka Python.
Moduł automatycznego generowania wcięć dla dokumentów w standardzie XML. Nie należy go używać dla dokumentów HTML, ponieważ nie będzie sobie radził z otwartymi znacznikami (takimi jak np.: <br>))
Funkcja generowania wcięć na podstawie zmiennych ma charakter eksperymentalny. Jej działanie może się zmienić, może też zostać usunięta w przyszłych wersjach programu.
Program wcinający na podstawie zmiennych jest konfigurowany za pomocą zmiennych zapisanych w edytowanym pliku lub w definicji typu pliku. Dostępne są następujące zmienne:
Wyrażenie regularne powodujące, iż wcięcie wiersza zwiększy się o jednostkę jeżeli pierwszy znak wiersza nie będący znakiem białym pasuje do wyrażenia. var-indent-indent: Wyrażenie regularne, które powoduje wcięcie pasującego wiersza o jedną jednostkę.
Wyrażenie regularne, które powoduje zmniejszenie wcięcia o jednostkę w przypadku spełnienia warunku.
Lista znaków, których wprowadzenie spowoduje ponowne przeliczenie wielkości wcięcia.
Lista zestawów nawiasów generujących wcięcie. Może to być dowolna kombinacja nawiasów zwykłych, klamrowych i kwadratowych. Każdy para nawiasów traktowana jest następująco: jeżeli w dokumencie znajdują się niedopasowane nawiasy otwierające to wcięcie zwiększy się o jednostkę. Jeżeli zaś występują niedopasowane nawiasy zamykające w bieżącym wierszu to wcięcie zmniejszy się o jednostkę.
var-indent-couple-attribute
Atrybut znaków rozpoznawanych podczas operacji poszukiwania pasujących do siebie par znaków otwarcia i zamknięcia. Wartością zmiennej jest nazwa atrybutu z pliku XML definiującego reguły podświetlania składni (np. "Symbol"). Wartością domyślną jest 0 (co oznacza z reguły styl "zwykłego tekstu").
W programie Kate dostępne są dwa rodzaje wtyczek: wtyczki programu Kate oraz wtyczki dla komponentu edytora. Druga grupa wtyczek dostępna jest dla wszystkich programów korzystających z komponentu edytora, takich jak np. KDevelop, Quanta, Kile, Kwrite i wiele innych. Pierwsza grupa zaś jest dostępna tylko w programie Kate.
Włączenie obu rodzajów wtyczek odbywa się w w oknie dialogowym konfiguracji, w którym można ustawić również dodatkowe parametry konfiguracyjne dla wtyczek tego wymagających.
Wtyczki realizujące wiele różnych funkcji dostępne są w pakiecie kdeaddons oraz w innych miejscach w sieci WWW. Kilka wtyczek dostarczanych jest wraz z komponentem edytora i są to wtyczki: dopełniania słów, obsługi zakładek, wstawiania plików, szukania przyrostowego, sprawdzania pisowni i słownika wyrazów bliskoznacznych.
Polecenia Komentarz i Odkomentuj dostępne z menu pozwalają na dodanie znaczników komentarza do zaznaczonego fragmentu tekstu (lub do bieżącego wiersza, gdy brak zaznaczenia). Bieżący format dokumentu musi obsługiwać możliwość komentowania tekstu.
Sposób komentowania jest określony w definicji reguł podświetlania składni. Jeżeli podświetlanie składni jest wyłączone, to polecenia Komentarz i Odkomentuj są nieaktywne.
Dla pewnych formatów dokumentów zdefiniowane są znaczniki komentowania wiersza, inne zaś zawierają znaczniki komentarzy jedno- i wielowierszowych. Jeżeli znaczniki komentarza wielowierszowego są niedostępne, to nie będzie się dało skomentować zaznaczenia nie zawierającego w sobie całości ostatniego wiersza.
Gdy dostępny jest znacznik komentarza dla całego wiersza kodu, to jego użycie jest preferowane, gdyż pozwala na uniknięcie problemów w przypadku zagnieżdżonych komentarzy.
Podczas usuwania znaczników komentarza nie należy zaznaczać tekstu nie będącego komentarzem. Jeżeli usuwany jest komentarz wielowierszowy z zaznaczenia, to wszystkie spacje znajdujące się poza znacznikami komentarza są ignorowane.
Aby skomentować fragment tekstu należy użyć menu ->, lub skrótu klawiszowego Ctrl+D.
Aby usunąć znaczniki komentarza z wybranego fragmentu tekstu, należy użyć menu ->, lub skrótu klawiszowego Ctrl+Shift+D.
Komponent edytora w Kate zawiera wbudowaną linię poleceń, pozwalającą na sterowanie pracą bez pośrednictwa graficznego interfejsu użytkownika. Linia poleceń znajduje sią w dolnej części okna edytora, aby ją włączyć należy wybrać z menu: -> lub skorzystać ze skrótu klawiszowego (domyślnie jest to F7). Zestaw poleceń dostępnych w linii poleceń edytora opisany został poniżej. Może on ulec rozszerzeniu przez zastosowanie wtyczek.
Naciśnięcie klawisza ENTER uruchamia wprowadzone polecenie. Komunikat wyświetlony w linii poleceń pokaże informacje o wynikach polecenia lub ewentualnym błędzie. Jeżeli linia poleceń została wyświetlona za pomocą klawisza F7, to schowa się ona automatycznie po kilku sekundach. Ponowne naciśnięcie klawisza F7 usuwa komunikat i pozwala na wprowadzenie następnego polecenia.
Linia poleceń zawiera wbudowany system pomocy uruchamiany poleceniem help. Aby wyświetlić listę wszystkich dostępnych poleceń należy wpisać help list. Pomoc dotycząca wybranego polecenia dostępna jest po wpisaniu: help polecenie
.
Linia poleceń przechowuje historię poleceń pozwalając na ponowne użycie poleceń wcześniej już wpisanych. Dostęp i nawigacja w historii linii poleceń odbywa się za pomocą klawiszy strzałek w górę oraz w dół. Argumenty wywołanych z historii poleceń będą zaznaczone, pozwalając na łatwą ich zmianę.
Polecenia opisane poniżej dotyczą wbudowanego edytora i pozwalają na konfigurację bieżącego widoku i dokumentu. Może to być przydatne, gdy użytkownik chce wykorzystać ustawienia inne niż domyślne, np. dla automatycznych wcięć.
Typy argumentów
Stosowane dla poleceń, które włączają lub wyłączają jakąś funkcję. Dopuszczalne wartości takiego argumentu to:on
, off
, true
, false
, 1
lub 0
Liczba całkowita
Napis
set-tab-width [INTEGER szerokość]
Ustawia szerokość tabulacji (w znakach) na wartość określoną przez argument szerokość
.
set-indent-width [INTEGER szerokość]
Ustawia szerokość wcięcia na wartość określoną przez argument szerokość
. Polecenie odnosi się do trybu wcięć dokonywanych za pomocą znaku spacji.
set-word-wrap-column [INTEGER szerokość]
Ustawia liczbę znaków w wierszu dla funkcji statycznego zawijania wyrazów na wartość określoną przez argument szerokość
. Działa jedynie w przypadku włączonego automatycznego zawijania wyrazów.
set-icon-border [BOOLEAN włącz]
Włącza lub wyłącza wyświetlanie paska ikon.
set-folding-markers [BOOLEAN włącz]
Włącza lub wyłącza wyświetlanie paska znaczników zwijania kodu.
set-line-numbers [BOOLEAN włącz]
Włącza lub wyłącza wyświetlanie paska z numerami wierszy.
set-replace-tabs [BOOLEAN włącz]
Włącza lub wyłącza zastępowanie znaków tabulacji znakami spacji w trakcie pisania.
set-remove-trailing-space [BOOLEAN włącz]
Włącza lub wyłącza usuwanie spacji końcowych po przejściu kursorem do innego wiersza.
set-show-tabs [BOOLEAN włącz]
Włącza lub wyłącza wyświetlanie małej kropki w miejscu znaków tabulacji oraz spacji kończących wiersz.
set-indent-spaces [BOOLEAN włącz]
Włącza lub wyłącza generowanie wcięć za pomocą zdefiniowanej przez parametr indent-width
liczby spacji, dla każdego poziomu wcięcia. Wyłączenie opcji przywraca stosowanie znaku tabulacji do generowania wcięć.
set-mixed-indent [BOOLEAN włącz]
Włączenie tej opcji pozwala na jednoczesne użycie znaków tabulacji i spacji do generowania wcięć przez Kate. Poziomy wcięć będą określane zgodnie z ustawieniami opcji indent-width
, zaś wcięcia wielopoziomowe będą generowane za pomocą największej możliwej liczby znaków tabulacji.
Po wykonaniu tego polecenia, dodatkowo włączona zostanie funkcja wcięć za pomocą spacji, a jeżeli szerokość wcięcia jest nieokreślona, to zostanie ustawiona na połowę wartości parametru tab-width
określonego dla bieżącego dokumentu.
set-word-wrap [BOOLEAN włącz]
Włącza lub wyłącza funkcję dynamicznego zawijania wyrazów
set-replace-tabs-save [BOOLEAN włącz ]
Włącza lub wyłącza zamienianie znaków tabulacji na spacje przed zapisaniem dokumentu.
set-remove-trailing-space-save [BOOLEAN włącz]
Włącza lub wyłącza usuwanie spacji kończących wiersze przed jego zapisaniem.
set-indent-mode [nazwa]
Określa tryb automatycznych wcięć, możliwe nazwy
trybów to: 'cstyle', 'csands', 'xml', 'python', 'varindent' oraz 'none'. Jeżeli wprowadzona nazwa jest nieznana to przyjęta zostanie wartość 'none'.
set-highlight [nazwa]
Wybiera zestaw reguł podświetlania składni dla dokumentu. Argument musi określać nazwę istniejącej reguły podświetlania. Dostępne nazwy widoczne są w menu: ->. W trakcie wprowadzania polecenia, pojawi się pomocnicza lista automatycznego dopełniania nazwy.
Ich wykonanie modyfikuje bieżący dokument.
indent
Generuje wcięcie w wybranych wierszach lub w bieżącym wierszu.
unindent
Usuwa wcięcie z zaznaczonego fragmentu lub bieżącego wiersza.
cleanindent
Wyrównuje wcięcia dla zaznaczonego fragmentu tekstu lub dla bieżącego wiersza, zgodnie z ustawionymi dla dokumentu regułami wcięć.
comment
Wprowadza znaczniki komentarza dla zaznaczonego fragmentu tekstu lub dla bieżącego wiersza, zgodnie z definicją reguł podświetlania składni wybraną dla bieżącego dokumentu.
uncomment
Usuwa znaczniki komentarza z zaznaczonego fragmentu tekstu lub bieżącego wiersza, zgodnie z definicją reguł podświetlania składni wybraną dla bieżącego dokumentu.
kill-line
Usuwa bieżący wiersz.
replace [wzorzec] [zastąpienie]
Zamienia tekst pasujący do napisu: wzorzec
tekstem określonym w: zastąpienie
. Jeżeli wzorzec lub zastąpienie zawiera spację, to oba argumenty należy podać w cudzysłowach (pojedynczych lub podwójnych). Jeżeli argument nie jest zamknięty w cudzysłowie, to pierwsze słowo traktowane jest jako wzorzec
, a reszta tekstu jako zastąpienie
. Jeżeli tekst zastąpienie
nie zostanie podany, to każde wystąpienie wzorca
zostanie usunięte.
Parametry działania polecenia zamień mogą być dostosowywane poprzez dodanie dwukropka i jednej z dostępnych opcji. Polecenie przyjmuje wówczas postać: replace:opcja wzorzec zastąpienie
. Dostępne są następujące opcje:
b
Szuka tekstu wstecz.
c
Szuka począwszy od pozycji kursora.
e
Szuka w ramach zaznaczonego fragmentu.
r
Wykonuje polecenie szukania za pomocą wyrażenia regularnego. W przypadku użycia tej opcji, można w argumencie "zastąpienie" użyć parametru \N
, gdzie N jest numerem podwyrażenia, które zostanie wstawione w zastępowanym tekście.
s
Szuka zwracając uwagę na wielkość liter.
p
Pyta się przed zastąpieniem kolejnego wystąpienia.
w
Szuka dopasowując tylko całe wyrazy.
date [format]
Wprowadza do dokumentu bieżący czas i datę w formacie określonym przez: format
lub w formacie „yyyy-MM-dd hh:mm:ss” gdy brak jest argumentu. Interpretacja treści argumentu format
jest następująca:
d | Dzień podany jako liczba bez wiodącego zera (1-31). |
dd | Dzień podany jako liczba z wiodącym zerem (01-31). |
ddd | Skrót zlokalizowanej nazwy dnia (np. 'Pon'..'Nie'). |
dddd | Pełna zlokalizowana nazwa dnia (np.: 'Poniedziałek'..'Niedziela'). |
M | Miesiąc jako liczba bez wiodącego zera (1-12). |
MM | Miesiąc jako liczba z wiodącym zerem (01-12). |
MMM | Skrót zlokalizowanej nazwy miesiąca (np. 'Sty'..'Gru'). |
yy | Rok - dwucyfrowo (00-99). |
yyyy | Rok zapisany jako 4 cyfry (1752-8000). |
h | Godzina, zapisana bez wiodącego zera (0..23 lub 1..12 przy wyświetlanym AM/PM). |
hh | Godzina, zapisana z wiodącym zerem (00..23 lub 01..12 przy wyświetlanym AM/PM). |
m | Minuta, bez wiodącego zera (0..59). |
mm | Minuta z wiodącym zerem (00..59). |
s | Sekunda bez wiodącego zera (0..59). |
ss | Sekunda z wiodącym zerem (00..59). |
z | Milisekunda bez wiodącego zera (0..999). |
zzz | Milisekunda z wiodącym zerem (000..999). |
AP | Wyświetla symbol "AM" lub "PM" w zależności od pory dnia. |
ap | Wyświetla symbol "am" lub "pm" w zależności od pory dnia. |
char [kod_znaku]
Polecenie pozwala na wstawianie do treści dokumentu znaku określonego przez wartość numeryczną w formie dziesiętnej, ósemkowej lub szesnastkowej.
To polecenie wykonuje operację znajdź/zamień analogicznie jak program "sed". Polecenie działa dla bieżącego wiersza lub dla całego dokumentu (%s///).
Działanie polecenia polega na wyszukaniu w tekście wzorca wyszukiwania (określonego przez wyrażenie regularne pomiędzy pierwszym i drugim ukośnikiem). Po znalezieniu wzorca dopasowany tekst jest zamieniany na wyrażenie zawarte pomiędzy środkową i ostatnią częścią polecenia. Nawiasy we wzorcu wyszukiwania określają tzw.odwołania zwrotne, co oznacza iż program zapamiętuje wyszukany napis, który następnie może być użyty w definicji wyrażenia zastępującego. Odwołanie do zapamiętanego napisu odbywa się przez użycie \1
dla pierwszego zestawu nawiasów, \2
dla drugiego i tak dalej.
Wyszukiwanie w tekście nawiasów (
lub )
wymaga zastosowania sekwencji specjalnych, z użyciem znaku odwrotnego ukośnika. Nawiasy będą reprezentowane przez napisy: \(
oraz \)
Użycie znaku i
na końcu wyrażenia spowoduje, iż przy wyszukiwaniu nie będzie uwzględniana wielkość liter. Jeżeli na końcu wyrażenia wprowadzone zostanie g
spowoduje to zamienienie wszystkich wystąpień poszukiwanego wzorca (w innym wypadku zamienione zostanie tylko pierwsze wystąpienie).
Przykład 6.2. Zastępowanie tekstu w bieżącym wierszu
Wyobraźmy sobie komunikat kompilatora informujący o następującym błędzie w wierszu 3902 edytowanego kodu programu: Klasa: myClass
nie jest zdefiniowana.
Zamiast przeszukiwania i edycji wiersza 3902, celem zamienienia złej nazwy klasy na poprawną (MyClass
), wystarczy uruchomić linię poleceń, uruchomić polecenie s/myclass/MyClass/i
, zapisać plik, a następnie już bez błędów skompilować program.
Przykład 6.3. Zastępowanie tekstu w całym dokumencie
Wyobraźmy sobie sytuację, że w trakcie edycji dokumentu, w którym często występuje napis „Pani Nowak” ktoś przychodzi i mówi, iż osoba ta wyszła za mąż za pana „Kowalskiego”. Należy oczywiście zamienić wszystkie wystąpienia „Pani Nowak” na „Pani Kowalska”.
W linii poleceń wystarczy wprowadzić:%s/Pani Nowak/Pani Kowalska/
i po naciśnięciu ENTER wszystko już będzie w porządku.
Przykład 6.4. Przykłady zaawansowane
W tym przykładzie zastosowano odwołanie zwrotne oraz mechanizm klas znaków (więcej informacji na ten temat znajduje się we wspomnianej poniżej dokumentacji).
Dokument zawiera następujący wiersz kodu:
void MyClass::DoStringOps( String &foo, String &bar, String *p, int &a, int &b )
Konieczne jest dodanie operatora const
do wszystkich argumentów określonych przez „referencję” (reprezentowanych przez znak & na początku nazwy argumentu). Dodatkowo trzeba ujednolicić odstępy między słowami tak, aby była to tylko jedna spacja).
Po uruchomieniu linii poleceń, należy wpisać: s/\s+(\w+)\s+(&)/ const \1 \2/g
i nacisnąć ENTER. Znak g
na końcu wyrażenia wymusza ponowną kompilacją wyrażenia regularnego po każdym dopasowaniu wyrażenia w tekście, co jest wymagane do poprawnego działania mechanizmu odwołań zwrotnych.
Po wykonaniu polecenia wiersz przyjmie postać: void MyClass::DoStringOps( const String &foo, const String &bar, String *p, const int &a, const int &b )
Interpretacja opisanego wyrażenia jest następujące. Najpierw wyszukuje ono spacje (\s+
) po których wystąpił jeden lub więcej znaków alfanumerycznych (\w+
) zakończonych kolejną spacją (\s+
), za którą znajduje się znak &. Pełna treść tego dopasowania zostaje zachowana do dalszego wykorzystania przy wykonaniu zastąpienia tekstu. W drugiej części dopasowany fragment zostaje zastąpiony spacją i napisem „const”, po którym następuje kolejna spacja i zachowany wcześniej fragment tekstu (\1
), a dalej spacja i kolejny fragment dopasowany po znaku & (\2
)
W powyższym przykładzie pierwszy dopasowany fragment mógł zawierać napis „String” lub też „int”, dlatego też zastosowanie klasy znakowej \w
i operatora +
dało wymagany efekt.
goto [INT wiersz]
Powoduje przejście do podanego numeru wiersza.
find [wzorzec]
Spowoduje przejście do pierwszego wystąpienia napisu wzorzec
zgodnie z bieżącą konfiguracją funkcji wyszukiwania. Kolejne wystąpienia mogą zostać wyszukane za pomocą menu -> (domyślny skrót klawiszowy to F3).
Polecenie "find" może być skonfigurowane poprzez dodanie jednej lub więcej opcji po dwukropku w postaci: find:opcje wzorzec
. Dostępne są następujące opcje:
b
Szuka tekstu wstecz.
c
Szuka począwszy od pozycji kursora.
e
Szuka w ramach zaznaczonego fragmentu.
r
Wykonuje polecenie szukania za pomocą wyrażenia regularnego. W przypadku użycia tej opcji, można w argumencie "zastąpienie" użyć parametru \N
, gdzie N jest numerem podwyrażenia, które zostanie wstawione w zastępowanym tekście.
s
Szuka zwracając uwagę na wielkość liter.
w
Szuka dopasowując tylko całe wyrazy.
ifind [wzorzec]
Polecenie wyszukuje tekst „w trakcie pisania”. Dodatkowo można skonfigurować zachowanie za pomocą opcji podanych po dwukropku w postaci: ifind:opcje wzorzec
. Dostępne są następujące opcje:
b
Szuka tekstu wstecz.
r
Wyszukaj za pomocą wyrażenia regularnego.
s
Szuka zwracając uwagę na wielkość liter.
c
Szuka począwszy od pozycji kursora.
Zwijanie kodu, pozwala na ukrywanie wydzielonych części tekstu, dzięki czemu łatwiej jest przeglądać duże fragmenty edytowanego kodu źródłowego. Kate określa możliwość zwinięcia danej części na podstawie reguł określonych w definicji podświetlania składni. Zwijanie jest dostępne tylko dla niektórych formatów dokumentów, zwykle są to pliki XML, kod źródłowy, itp. Większość definicji podświetlania, obsługujących funkcję zwijania kodu, pozwala też na ręczne definiowanie zwijalnych fragmentów tekstu, zwykle za pomocą słów kluczowych BEGIN
oraz END
.
Aby włączyć funkcję zwijania kodu, należy skorzystać z menu -> (jeżeli nie były one wcześniej widoczne). Pasek znaczników zwijania, widoczny po lewej stronie okna edycji menu, wyświetla graficzną reprezentację zwijalnych fragmentów kodu wraz ze znakami +/- wskazującymi na możliwe do wykonania na nim operacje. Naciśnięcie znaku "-" zwija dotyczący go fragment, zaś "+" rozwija go.
W menu dostępne są cztery dodatkowe polecenia pozwalające na manipulację zwiniętymi częściami tekstu, więcej informacji na ten temat dostępne jest w dokumentacji menu.
Jeżeli użytkownik nie chce korzystać z funkcji zwijania kodu, to może wyłączyć opcję Pokaż znaczniki zwijania (jeżeli dostępne) w karcie Edytor -> Wygląd w oknie konfiguracji.
Począwszy od wersji 2.5, edytor Kate umożliwia tworzenie skryptów w standardzie ECMA, znanym również jako JavaScript.
Ze skryptów można korzystać tylko za pomocą wbudowanej linii poleceń. Skrypt musi być zlokalizowany w katalogu, w którym Kate może go odszukać wraz z opcjonalnym plikiem .desktop definiującym jego dodatkowe właściwości. Domyślnym katalogiem dla skryptów jest podkatalog katepart/scripts
znajdujący się w katalogu z danymi środowiska KDE. Ścieżka dostępu do katalogu z danymi środowiska jest wyświetlana za pomocą polecenia kde-config --path
data
. Zwykle podczas instalacji systemu operacyjnego tworzone są katalogi danych: systemowy i użytkownika. Skrypty umieszczone w katalogu systemowym są dostępne dla wszystkich użytkowników, zaś w katalogu użytkownika dostępne są tylko dla tego użytkownika.
Ta funkcja programu ma charakter eksperymentalny i jej działanie może się zmienić w przyszłych wersjach programu.
W chwili obecnej nie jest możliwe dodawanie skryptów do menu lub przypisywanie im skrótów klawiszowych. W przyszłości ta możliwość może się pojawić.
Nie jest jeszcze możliwe przekazywanie do uruchamianego skryptu żadnych argumentów. Ta możliwość również w przyszłości się pojawi ;)
Poniżej przedstawiono pełny zestaw funkcji i właściwości dostępnych dla obiektów document oraz view. Oczywiście możliwe jest korzystanie z innych obiektów standardowych Javascript takich jak np.: Math, String Regex, itd.
Podczas działania skryptu, obiekt document
odnosi się do bieżącego dokumentu, a obiekt view
odnosi się do bieżącego widoku.
Typy argumentów nie są w chwili obecnej stosowane w JavaScript, przedstawione są tylko dla zilustrowania jakiego rodzaju wartości dana funkcja oczekuje.
Funkcje globalne
debug( string
) [funkcja]
parametry
string
napis do wypisania
Przekazuje napis na standardowe wyjście STDERR wykorzystując funkcję kdDebug()
. Wykorzystywany jest specjalnie przydzielony obszar do wyświetlania komunikatów, oznaczony przedrostkiem Kate (KJS Scripts):
Charakterystyka interfejsu programisty (API) dla klasy document
document.attribute( wiersz
, kolumna
); [funkcja]
Parametry
uint wiersz
Numer wiersza, dla którego będzie wyszukiwany atrybut.
uint kolumna
Numer kolumny, dla której będzie poszukiwany atrybut.
Zwraca kod ID atrybutu znajdującego się w określonej pozycji dokumentu [wiersz
,kolumna
]. Atrybut reprezentuje wygląd tekstu lub styl tekstu, i wykorzystywany jest do podświetlania składni określonego fragmentu tekstu, co jest wykorzystywane w formatach mieszanych takich jak np.: HTML lub PHP.
document.canBreakAt( Char c
, uint atrybut
); [funkcja]
Parametry
c
Znak do sprawdzenia
atrybut
Atrybut w pozycji znaku c
.
Zwraca informację, dotyczącą możliwości łamania wiersza dla znaku "c" i atrybutu "atrybut". Wynik działania funkcji zależy od reguł podświetlania, określających możliwość łamania wiersza dla danego znaku i atrybutu.
document.canComment( uint atrybut_początkowy
, uint atrybut_końcowy
); [funkcja]
Parametry
atrybut_początkowy
Atrybut rozpoczynający obszar określony do przekształcenia w komentarz.
atrybut_końcowy
Atrybut kończący obszar określony do przekształcenia w komentarz.
Zwraca informację o tym, czy atrybut_początkowy i atrybut_końcowy są zgodne z bieżącymi regułami podświetlania składni. Jeżeli tak, to możliwe jest wtedy przekształcenie tego fragmentu w komentarz.
document.clear(); [funkcja]
Usuwa zawartość dokumentu.
document.commentStart( uint atrybut
); [funkcja]
Parametry
atrybut
Atrybut tekstu, dla którego zostanie zwrócony napis rozpoczęcia komentarza.
Zwraca napis wymagany do rozpoczęcia wielowierszowego komentarza dla tekstu o określonym atrybucie, lub napis pusty, jeżeli komentarze wielowierszowe nie są obsługiwane dla tego typu dokumentu.
document.commentMarker( uint atrybut
); [funkcja]
Parametry
atrybut
Atrybut tekstu, dla którego zostanie pobrany znacznik komentarza
Zwraca napis, wykorzystywany do komentowania wiersza dokumentu, lub pusty napis jeżeli komentarze dla całych wierszy nie są dostępne dla tego typu dokumentu.
document.commentEnd( uint atrybut
); [funkcja]
Parametry
atrybut
Atrybut tekstu, dla którego zostanie zwrócony napis zakończenia komentarza
Zwraca napis wymagany do zakończenia wielowierszowego komentarza dla tekstu o określonym atrybucie, lub napis pusty, jeżeli komentarze wielowierszowe nie są obsługiwane dla tego typu dokumentu.
document.editBegin(); [funkcja]
Rozpoczyna grupę operacji edycyjnych. Wszystkie działania wykonane do momentu uruchomienia funkcji editEnd() będą zgrupowane w jedną operację cofania.
document.editEnd(); [funkcja]
Kończy grupę operacji edycyjnych.
document.highlightMode; [właściwość:tylko do odczytu]
Zawiera nazwę trybu reguł podświetlania dla bieżącego dokumentu (np. "JavaScript" lub "C++"). Jeżeli dokument nie ma zdefiniowanego trybu podświetlania składni, zostanie zwrócona wartość "None". Konieczne jest korzystanie z nazwy w języku angielskim, w przypadkach gdy różni się ona od nazwy przetłumaczonej.
document.indentMode; [właściwość:tylko do odczytu]
Nazwa trybu automatycznych wcięć dla bieżącego dokumentu (np.:normal
lub cstyle
). Jeżeli tryb automatycznych wcięć jest wyłączony, to zwrócona zostanie wartość none
.
document.indentWidth; [właściwość:tylko do odczytu]
Szerokość wcięć ustawiona dla dokumentu, wykorzystywana jeżeli włączone są wcięcia za pomocą znaku spacji.
document.insertLine( uint wiersz
, string tekst
); [funkcja]
Parametry
wiersz
numer wiersza dokumentu
tekst
tekst do wprowadzenia
Wstawia nowy wiersz o zawartości tekst
w wierszu o numerze wiersz
.
document.insertText( uint wiersz
, uint kolumna
, string tekst
); [funkcja]
Parametry
wiersz
numer wiersza dokumentu
kolumna
numer kolumny w dokumencie
tekst
tekst do wprowadzenia
Wstawia do dokumentu tekst
w wierszu wiersz
i kolumnie kolumna
.
Zwraca rozmiar dokumentu w bajtach.
document.lines(); [funkcja]
Zwraca liczbę wierszy w dokumencie.
Wartość prawda/fałsz informująca czy tryb mieszanych wcięć dla dokumentu jest włączony. Jeżeli tak, to wcięcia są optymalizowane, tak że zawierają mieszankę znaków tabulacji i spacji (podobnie jak w edytorze Emacs).
uint wiersz
); [funkcja]Parametry
wiersz
numer wiersza dokumentu
Usuwa wiersz z dokumentu.
document.removeText( uint wiersz_początku
, uint kolumna_początku
, uint wiersz_końca
, uint kolumna_końca
); [funkcja]
Parametry
wiersz_początku
określa początkowy wiersz dokumentu
kolumna_początku
określa początkową kolumnę dokumentu
wiersz_końca
określa ostatni wiersz
kolumna_końca
określa ostatnią kolumnę
Usuwa tekst w dokumencie od wiersza wiersz_początku
i kolumny kolumna_początku
do wierszawiersz_końca
i kolumny kolumna_końca
.
document.setText( string tekst
); [funkcja]
Parametry
tekst
treść dokumentu
Ustawia zawartość całego dokumentu na tekst
.
document.spaceIndent; [właściwość:tylko do odczytu]
Wartość prawda/fałsz określająca czy tryb wcinania spacjami jest włączony. Jeżeli tak, to wcięcia w dokumencie są generowane odpowiednią, zdefiniowaną przez "indentWidth", liczbą spacji. W przeciwnym wypadku, wcięcia dokonywane są za pomocą znaków tabulacji (jeden znak na jeden poziom wcięcia).
document.textFull(); [funkcja]
Zwraca pełną zawartość dokumentu. Jeżeli dokument zawiera wiele wierszy, to rozdzielane są one znakiem końca wiersza: \n
.
document.textLine( uint wiersz ); [funkcja]
Parametry
wiersz
numer wiersza
Zwraca tekst wiersza o numerze wiersz
.
document.textRange( uint wiersz_początku
, uint kolumna_początku
, uint wiersz_końca
, uint kolumna_końca
); [funkcja]
Parametry
wiersz_początku
określa początkowy wiersz dokumentu
kolumna_początku
określa początkową kolumnę dokumentu
wiersz_końca
określa ostatni wiersz
kolumna_końca
określa ostatnią kolumnę
Zwraca zdefiniowany zakres tekstu dokumentu. Jeżeli zawiera on wiele wierszy, to rozdzielane są one znakiem końca wiersza: \n
.
Interfejs programisty (API) dla klasy view
view.clearSelection(); [funkcja]
Usuwa zaznaczenie z tekstu.
view.cursorColumn(); [funkcja]
Zwraca numer kolumny, w której znajduje się kursor (znaki tabulacji są rozwijane do odpowiedniej liczby spacji).
view.cursorColumnReal(); [funkcja]
Zwraca rzeczywisty numer kolumny, w której znajduje się kursor (znaki tabulacji traktowane są jako jeden znak).
view.cursorLine(); [funkcja]
Zwraca numer wiersza, w którym znajduje się kursor.
view.hasSelection(); [funkcja]
Zwraca wartość true
(logiczna prawda), jeżeli widok zawiera zaznaczenie, lub false
(logiczny fałsz), gdy w widoku brak zaznaczenia.
view.removeSelectedText(); [funkcja]
Usuwa zaznaczony fragment, w przypadku gdy zaznaczenie w tekście istnieje.
view.selectAll(); [funkcja]
Zaznacza cały dokument.
view.selection(); [funkcja]
Zwraca zaznaczony fragment. Jeżeli zawiera on wiele wierszy, to rozdzielane są one znakiem końca wiersza: \n
.
view.selectionEndColumn; [właściwość:tylko do odczytu]
Zwraca numer ostatniej kolumny zaznaczenia.
view.selectionEndLine; [właściwość:tylko do odczytu]
Zwraca numer ostatniego wiersza zaznaczenia.
view.selectionStartColumn; [właściwość:tylko do odczytu]
Zwraca numer pierwszej kolumny zaznaczenia.
view.selectionStartLine; [właściwość:tylko do odczytu]
Zwraca numer pierwszego wiersza zaznaczenia.
view.setCursorPosition( uint wiersz
, uint kolumna
); [funkcja]
Parametry
wiersz
numer wiersza pozycji kursora.
kolumna
numer kolumny pozycji kursora.
Ustawia kursor w widoku w pozycji [wiersz
, kolumna
]. Pozycja zostaje ustalona wizualnie, czyli znaki tabulacji rozwijane są na odpowiednią (określoną przez tabwidth
) liczbę spacji w zależności od pozycji w wierszu. Kursor staje się widoczny. Parametry wiersz i kolumna rozpoczynają się od zera.
view.setCursorPositionReal( uint wiersz
, uint kolumna
); [funkcja]
Parametry
wiersz
numer wiersza pozycji kursora.
kolumna
numer kolumny pozycji kursora.
Ustawia kursora w pozycji podanej przez wiersz
i kolumnę
. Argumenty określają pozycję w tekście, czyli znaki tabulacji traktowane są jako jeden znak. Kursor stanie się widoczny. Numery wiersza i kolumny rozpoczynają się od zera.
view.setSelection( uint wiersz_początku
, uint kolumna_początku
, uint wiersz_końca
, uint kolumna_końca
); [funkcja]
Parametry
wiersz_początku
określa początkowy wiersz dokumentu
kolumna_początku
określa początkową kolumnę dokumentu
wiersz_końca
określa ostatni wiersz
kolumna_końca
określa ostatnią kolumnę
Zaznacza fragment tekstu począwszy od wiersza wiersz_początku
i kolumny kolumna_początku
do wiersza wiersz_końca
i kolumny kolumna_końca
.
Przykład 6.6. Przykładowy skrypt
Przedstawiony poniżej skrypt, przerabia wszystkie litery w zaznaczonym fragmencie na duże. Pierwszym krokiem jest sprawdzenie istnienia zaznaczenia, następnie pobranie zaznaczonego tekstu, zamienienie wielkości znaków oraz wstawienie zmienionego tekstu do dokumentu. Zapis programu wygląda następująco:
if ( view.hasSelection() ) { // zmień na duże litery column = view.selectionStartColumn; line = view.selectionStartLine; selection = view.selection().toUpperCase(); document.editBegin(); view.removeSelectedText(); document.insertText( line, column, selection ); document.editEnd(); }
Zgrupowanie poleceń edycyjnych tak, aby można je było wycofać jednym poleceniem , polega na objęciu poleceń
view.removeSelectedText()i
document.insertText()poleceniami
document.editBegin()oraz
document.editEnd().
Przykład 6.7. Przykładowy plik .desktop
Poniżej przedstawiono zawartość przykładowego pliku .desktop powiązanego z powyższym skryptem.
# Example of a .desktop file [Desktop Entry] Encoding=UTF-8 Name=Kate Part JavaScript Uppercase Comment=Skrypt zamieniający treść zaznaczenia na duże litery X-Kate-Command=uppercase-selection X-Kate-Help=<p>Pomoc: <code>uppercase-selection</code></p>
W pliku tym, możliwe jest zdefiniowanie kodowania znaków (Encoding), nazwy skryptu (Name), komentarza (Comment), tekstu pomocy (X-Kate-Help) i polecenia linii poleceń (X-Kate-Command). Jeżeli plik .desktop znajdzie się w repozytoriach SVN środowiska KDE, to parametry: Name, Comment i X-Kate-Help będą automatycznie tłumaczone na inne języki przez zespoły tłumaczy KDE.
Program Kate przeszuka katalogi ze skryptami (patrz wyżej) w poszukiwaniu plików o nazwie *.js
. Dla każdego znalezionego pliku sprawdzane jest istnienie odpowiadającego mu pliku .desktop
(np. dla skryptu: uppercase.js, poszukiwany będzie plik uppercase.desktop).
Jeżeli plik .desktop
nie zostanie znaleziony, to skrypt zostanie zarejestrowany przez linię poleceń edytora pod nazwą pliku bez rozszerzenia .js. W opisywanym przykładzie będzie to uppercase
. Jeżeli taka nazwa skryptu odpowiada użytkownikowi oraz nie ma potrzeby korzystania z innych możliwości, jakie daje plik .desktop
, to wtedy użycie pliku .desktop
nie jest wymagane.
Jeżeli istnieje plik .desktop
, edytor odczyta nazwę skryptu z tego pliku z pozycji X-Kate-Command, na przykład: X-Kate-Command=uppercase-selection.
Rozpoczyna edycję nowego dokumentu. Na liście plików po lewej stronie okna pojawi się on pod nazwą: Nienazwany.
Otwiera standardowe okno wyboru pliku środowiska KDE, z którego można wybrać jeden lub więcej plików do otworzenia.
To polecenie pozwala na wybranie i otwarcie pliku za pomocą menu zawierającego listę ostatnio edytowanych dokumentów.
W tym menu wyświetlona jest lista zainstalowanych programów obsługujących pliki zgodne z typem MIME bieżącego dokumentu. Wybranie jednej z pozycji spowoduje uruchomienie tego programu i otworzenie w nim bieżącego dokumentu.
Widoczna w tym menu pozycja otwiera okno dialogowe pozwalające na wybranie dowolnego programu do otwarcia bieżącego pliku. Mimo otwarcia pliku przez inny program pozostanie on w dalszym ciągu otwarty w edytorze Kate.
Polecenie to zapisuje bieżący dokument i powinno być dla bezpieczeństwa regularnie wykonywane. Jeżeli dokument jest nienazwany wtedy wybranie polecenia otworzy okno dialogowe: .
Polecenie pozwala nadawać i zmieniać nazwy plików . Po jego uruchomieniu wyświetla się okno dialogowe analogiczne do okna otwierania plików. Można je wykorzystać do przeglądania systemu plików, podglądania zawartości plików oraz filtrowania listy za pomocą masek nazw plików.
W polu "Nazwa pliku" należy wprowadzić wybraną dla zapisywanego pliku nazwę, a następnie nacisnąć przycisk .
Polecenie to zapisuje wszystkie otwarte i zmodyfikowane pliki.
Powoduje ponowne wczytanie zawartości bieżącego dokumentu z dysku. Funkcja ta przydaje się, jeżeli inny program lub proces zmienił plik w czasie, gdy był on otwarty w Kate
Drukuje bieżący dokument.
Pozwala na zapisanie pliku w formacie HTML, dzięki czemu dokument może być oglądany w przeglądarce WWW.
Otwiera domyślny program pocztowy, tworzy nową wiadomość i załącza do niej bieżący dokument.
Zamyka bieżący dokument. Jeżeli użytkownik dokonał w nim jakichś zmian, to pojawi się okno dialogowe z informacją o konieczności zapisania pliku przed jego zamknięciem.
To polecenie zamyka wszystkie otwarte w Kate dokumenty.
Polecenie kończy pracę z Kate i zamyka wszystkie otwarte dokumenty. Jeżeli użytkownik dokonał w nich jakichś zmian, to pojawi się okno dialogowe z informacją o konieczności zapisania ich przed zamknięciem.
Menu zawiera polecenia dotyczące bieżącego dokumentu.
Menu programu
Wycofuje ostatnie wykonane przez użytkownika zmiany (wprowadzenie, skopiowanie, usunięcie tekstu itp.)
Jeżeli włączona jest opcja grupowego wycofywania, to możliwe jest wycofanie kilku zmian tego samego rodzaju jednocześnie, np. wpisywanych po kolei znaków.
Polecenie przywraca zmiany w dokumencie wycofane wcześniej za pomocą operacji Cofnij.
Opcja ta wycina zaznaczony fragment tekstu i przenosi go do schowka. Schowek stanowi integralną część środowiska KDE i umożliwia wymianę danych pomiędzy różnymi programami.
Kopiuje zaznaczony fragment tekstu do schowka.
Kopiuje zaznaczony fragment tekstu w postaci HTML do schowka (uwzględniając kolory podświetlania składni).
Wstawia zawartość schowka w bieżącej pozycji kursora. Schowek stanowi integralną część środowiska KDE i umożliwia wymianę danych pomiędzy różnymi programami.
Jeżeli włączona jest opcja "Nadpisuj zaznaczenie" to wklejany tekst spowoduje zastąpienie zaznaczonego fragmentu dokumentu.
Powoduje zaznaczenie całego dokumentu.
Usuwa zaznaczenie tekstu, o ile jakiś tekst jest zaznaczony.
Przełącza sposób zaznaczania tekstu. Jeżeli włączony jest tryb zaznaczania bloku, to użytkownik może zaznaczać pionowe obszary dokumentu (przykładowo można zaznaczyć kolumny od 5 do 10 w wierszach od 9 do 15).
Pasek stanu pokazuje aktywny tryb zaznaczania wyświetlając „NORM” lub „BLK”.
Otwiera okno wyszukiwania, służące do znajdowania tekstu w bieżącym dokumencie.
Przenosi kursor do kolejnego wystąpienia poszukiwanego napisu lub wyrażenia regularnego w dokumencie.
Przenosi kursor do poprzedniego wystąpienia poszukiwanego napisu lub wyrażenia regularnego w dokumencie.
Otwiera okno dialogowe polecenia zastępowania znalezionego napisu innym napisem.
Opcja ta otwiera okno przejścia do wiersza, w którym użytkownik określa numer wiersza, do którego chce przenieść kursor.
Menu Dokument zawiera wpisy odpowiadające wszystkim otwartym plikom. Wybranie jednej z pozycji tego menu przywoła odpowiedni dokument i wyświetli go w oknie edycyjnym. Jeżeli użytkownik korzysta z ramek, to wybrany dokument zostanie pokazany w aktywnej ramce.
Dodatkowe polecenia pozwalają na poruszanie się pomiędzy otwartymi dokumentami:
Pozycje menu
Przywołuje dokument poprzedni w stosunku do bieżącego. W przypadku korzystania z ramek pokazany zostanie w aktywnej ramce.
Dokumenty ustawione są w kolejności otwierania, a nie historii korzystania z nich. To zachowanie może zostać zmienione w kolejnych wersjach Kate.
Przywołuje dokument następny w stosunku do bieżącego. W przypadku korzystania z ramek pokazany zostanie w aktywnej ramce.
Dokumenty ustawione są w kolejności otwierania, a nie historii korzystania z nich. To zachowanie może zostać zmienione w kolejnych wersjach Kate.
Menu pozwala na zarządzanie ustawieniami specyficznymi dla aktywnego okna edytora oraz na zarządzanie ramkami.
Pozycje menu
Polecenie włącza lub wyłącza wyświetlanie wbudowanej linii poleceń edytora.
Menu wyświetli listę dostępnych schematów ustawień. Użytkownik może wybrać z listy wymagany dla bieżącego edytora schemat ustawień. Zmiana domyślnego schematu możliwa jest w oknie konfiguracji.
Włącza lub wyłącza funkcję dynamicznego zawijania wyrazów dla bieżącego okna edytora. Funkcja ta pozwala na wyświetlanie całego tekstu w oknie bez konieczności stosowania poziomego paska przesuwania. Dzieje się tak poprzez wyświetlenie jednego wiersza rzeczywistego w kilku wierszach w oknie edytora w sytuacji, gdy wiersz rzeczywisty nie mieści się w oknie.
Włączenie tej opcji powoduje wyświetlenie pionowej kreski w tej kolumnie tekstu, w której nastąpiłoby przeniesienie do następnego wiesza. Numer tej kolumny określony jest w oknie konfiguracji. Znacznik zawijania wyrazów widoczny jest jedynie w przypadku użycia czcionki o stałej szerokości.
Przełącza wyświetlanie paska ikon po lewej stronie obszaru edycji.
Przełącza wyświetlanie paska zawierającego kolejne numery wierszy po lewej stronie aktywnego okna edytora.
Przełącza wyświetlanie znaczników zakładek (i innych wyróżnionych miejsc w dokumencie) na pionowym pasku przewijania. Znaczniki są wyświetlane jako cienkie kreski w kolorze zdefiniowanym dla zakładek. Kliknięcie środkowym klawiszem na tej kresce przesunie kursor na pozycję oznaczonej zakładki.
Przełącza wyświetlanie znaczników zwijania kodu źródłowego w pasku po lewej stronie okna. Więcej na ten temat w rozdziale korzystanie ze zwijania kodu źródłowego.
Zwija wszystkie szczytowe regiony zwijania w dokumencie.
Rozwija wszystkie szczytowe regiony zwijania w dokumencie.
Zwija jeden region zwijania kodu znajdujący się najbliżej bieżącej pozycji kursora.
Rozwija region zwijania kodu znajdujący się najbliżej kursora.
Menu pozwala użytkownikowi na zarządzanie zakładkami zdefiniowanymi w bieżącym dokumencie.
W dolnej części menu widoczna jest lista zakładek znajdujących się w bieżącym dokumencie (jeżeli tylko zostały zdefiniowane). Wyświetlone będą początkowe wyrazy wiersza, w którym została zdefiniowana zakładka. Wybranie zakładki z menu spowoduje przesunięcie kursora do odpowieniego wiersza i pokazanie go w oknie edycyjnym.
Pozycje menu
Ustawia bądź usuwa zakładkę dla wiersza dokumentu, w którym znajduje się kursor (jeżeli zakładka dla tego wiersza już istnieje, to zostanie usunięta, w przeciwnym wypadku zostanie dodane nowa).
Usuwa wszystkie zakładki zdefiniowane dla bieżącego dokumentu.
Przesuwa kursor do zakładki znajdującej się przed bieżącą pozycją kursora. W menu widoczny będzie numer wiersza z zakładką oraz pierwsze wyrazy tego wiersza. Niniejsza pozycja pojawia się w menu jedynie wtedy, gdy istnieją zakładki poprzedzające bieżącą pozycję kursora.
Przesuwa kursor do zakładki znajdującej się poniżej bieżącej pozycji kursora. W menu widoczny będzie numer wiersza z zakładką oraz początkowe wyrazy z tego wiersza. Niniejsza pozycja pojawia się w menu jedynie wtedy, gdy istnieją zakładki znajdujące się poniżej bieżącej pozycji kursora.
Przenosi zaznaczony fragment tekstu do okna wbudowanej konsoli bez dodawania znaku końca wiersza.
Menu wyświetla listę wszystkich dostępnych narzędzi zewnętrznych.
Ustawia bieżący dokument w tryb tylko to odczytu, który blokuje możliwość dodawania i zmieniania jego treści.
Opcja pozwala na wybranie schematu typu pliku dla bieżącego dokumentu. Zmiana tutaj dokonana zastępuje ustawienia globalne dla typu pliku znajdujące się w menu -> w karcie Typy plików, ale wyłącznie dla otwartego dokumentu.
Pozwala na wybór reguł podświetlania składni dla bieżącego dokumentu. Wybranie tej opcji zastępuje globalne ustawienie podświetlania składni zdefiniowane w menu -> w zakładce: Podświetlenie.
Pozwala na wybór zachowania mechanizmu automatycznych wcięć. Zmiana dokonana tutaj zastępuje globalne ustawienia zdefiniowane w menu -> w zakładce: Wcięcia.
Umożliwia zmianę ustawienia kodowania znaków zdefiniowanego w menu -> w zakładce: Otwórz/Zapisz. Dokonana zmiana dotyczyć będzie tylko bieżącego dokumentu.
Pozwala na zmianę stosowanego kodowania znaków końca wiersza dla bieżącego dokumentu. Zmiana dokonana tutaj zastępuje globalne ustawienie zdefiniowane w menu -> w zakładce: Otwórz/Zapisz.
Uruchamia moduł sprawdzania pisowni, który pomaga znaleźć i poprawić błędy ortograficzne. Kliknięcie tej pozycji menu rozpocznie sprawdzanie i otworzy okno za pomocą którego można ten proces kontrolować. W środkowej części okna dostępne są cztery pola, zaczynając od góry:
Wyświetlane tu jest słowo, na którym zatrzymało się sprawdzanie pisowni. Następuje to zawsze, gdy program sprawdzający znajdzie słowo, którego nie ma w swoim słowniku (pliku zawierającego listę poprawnych wyrazów, z którymi porównywane są wszystkie słowa z dokumentu).
Jeżeli program sprawdzający znajdzie w swoim słowniku wyrazy podobne do wyrazu błędnego, to tutaj pojawi się pierwszy z listy znalezionych wyrazów. Użytkownik może zaakceptować sugestię programu, może wpisać w tym polu własną skorygowaną wersję słowa lub wybrać inną sugestię z listy podpowiedzi znajdującej się poniżej.
Program sprawdzający wyświetli tutaj listę wyrazów najbardziej zbliżonych do wyrazu uznanego za błędny. Kliknięcie na dowolnej pozycji z listy podpowiedzi spowoduje przeniesienie sugerowanego wyrazu do pola Zastąp przez: znajdującego się powyżej.
Jeżeli w systemie zainstalowane są słowniki dla różnych języków, to tutaj można wybrać słownik/język, który będzie wykorzystywany do sprawdzania pisowni.
Po prawej stronie okna dialogowego widoczne jest pięć przycisków pozwalających użytkownikowi kontrolować proces sprawdzania i korygowania pisowni. Są to przyciski:
Powoduje dodanie nieznanego słowa do słownika. Dzięki temu podczas kolejnego sprawdzania słowo to będzie uznane za poprawne.
Ten przycisk zamienia znalezione w tekście nieznane słowo na słowo wpisane w polu Zastąp przez:.
Przycisk ten zamienia znalezione nieznane słowo oraz wszystkie pozostałe jego wystąpienia w dokumencie na słowo widoczne w polu Zastąp przez.
Naciśnięcie przycisku spowoduje zignorowanie znalezionego nieznanego słowa i kontynuację procesu sprawdzania tekstu bez dokonywania żadnych zmian.
Naciśnięcie przycisku spowoduje zignorowanie faktu znalezienia nieznanego słowa i kontynuację procesu sprawdzania tekstu. Zignorowane będą również wszystkie pozostałe wystąpienia tego słowa w tekście.
Polecenie "ignoruj wszystkie" dotyczy tylko jednego uruchomienia programu sprawdzania pisowni. Jeżeli sprawdzanie będzie znowu później uruchomione, to program zatrzyma się na tym słowie.
Kolejne trzy przyciski widoczne w oknie sprawdzania pisowni zlokalizowane są w jego dolnej części. Są to:
Opcja ta uruchamia system pomocy KDE i otwiera niniejszą dokumentację.
Przycisk ten kończy proces sprawdzania pisowni i wraca do bieżącego dokumentu.
Przycisk ten anuluje sprawdzanie pisowni. Wszystkie zmiany (operacje zastąpienia słów) są cofane i następuje powrót do bieżącego dokumentu.
Uruchamia program sprawdzający pisownię dla tekstu rozpoczynającego się od bieżącej pozycji kursora (zamiast od początku dokumentu).
Sprawdza pisownię w zaznaczonym fragmencie tekstu.
Powoduje zwiększenie wcięcia wybranego wiersza o jeden krok. Wielkość kroku zależy od ustawień parametrów dotyczących reguł wcięć.
Zmniejsza wcięcie bieżącego zdania o jeden krok. Wielkość kroku zależy od ustawień parametrów dotyczących reguł wcięć.
Poprawia wcięcia dla zaznaczonego fragmentu tekstu lub dla wiersza, w którym znajduje się kursor. Poprawienie wcięć pozwala na zachowanie wybranego trybu wcięć dla danego fragmentu tekstu.
Powoduje ponowne wyrównanie bieżącego wiersza lub wybranego fragmentu tekstu zgodnie z trybem wcięć ustawionym dla dokumentu.
Zmienia zaznaczony fragment lub bieżący wiersz tekstu na komentarz stosując reguły komentowania zgodne z wybranymi zasadami podświetlania kodu (HTML, C, itp.).
Usuwa komentarze z zaznaczonego fragmentu lub bieżącego wiersza tekstu. Komentarze rozpoznawane są zgodne z wybranymi zasadami podświetlania kodu (HTML, C, itp.).
Zmienia wszystkie litery w zaznaczonym fragmencie (lub jedną literę za kursorem) na duże.
Zmienia wszystkie litery w zaznaczonym fragmencie (lub jedną literę za kursorem) na małe.
Przekształca zaznaczony fragment lub bieżące słowo na pisane kapitalikami.
Dokonuje połączenia wierszy w wybranym fragmencie, lub wiersza bieżącego z wierszem znajdującym się poniżej, używając spacji jako znaku oddzielającego. Spacje poprzedzające i znajdujące się na końcach łączonych linii są usuwane.
Powoduje zastosowanie reguł statycznego zawijania tekstu dla całego dokumentu. Oznacza to, że tekst zostanie przeniesiony do nowego wiersza automatycznie, jeżeli dany wiersz przekroczy ilość znaków zdefiniowaną w karcie "Edycja" w menu ->
Menu zawiera polecenia służące do zarządzania sesjami programu Kate. Więcej informacji na ten temat znajduje się w sekcji: Korzystanie z sesji.
Tworzy nową, pustą sesję. Wszystkie otwarte pliki zostaną zamknięte.
Otwiera okno dialogowe wyboru sesji pozwalające na wybór i otwarcie zapisanej sesji.
Wyświetla menu podrzędne pozwalające wybrać jedną spośród zapisanych sesji.
Zapisuje bieżącą sesję. Jeżeli sesja bieżąca jest nienazwana, to pojawi się prośba o nadanie nazwy dla tej sesji.
Pozwala na zapisanie bieżącej sesji pod nową nazwą.
Wyświetla okno dialogowe "Zarządzanie sesjami", pozwalające na zmiany nazw i usuwanie zapisanych sesji.
Menu umożliwia zmianę właściwości głównego okna programu, takich jak pokazywanie i ukrywanie pasków narzędzi. Pozwala także na uruchamianie okien dialogowych konfiguracji parametrów programu.
Podmenu wyświetla listę dostępnych pasków narzędzi. Każda pozycja tego podmenu włącza lub wyłącza wyświetlanie jednego z pasków narzędzi.
Przełącza program w tryb pełnego ekranu.
W przyszłości polecenie to zostanie przeniesione do menu "Okno"
Wyświetla standardowe okno ustawień skrótów klawiszowych środowiska KDE.
Wyświetla standardowe okno konfiguracji pasków narzędzi środowiska KDE.
Otwiera główne okno konfiguracji programu Kate.
Otwiera nową instancję programu Kate. Zawartość nowego okna będzie identyczna jak w bieżącej instancji Kate.
Spowoduje podzielenie ramki (zwykle jest to obszar edycji) na dwie równe części. Nowa część będzie umieszczona po lewej stronie części bieżącej. Nowa ramka stanie się aktywna i pokazuje ten sam dokument.
Patrz również Praca z Kate MDI.
Spowoduje podzielenie ramki (zwykle jest to obszar edycji) na dwie równe części. Nowa część będzie umieszczona u dołu pod częścią bieżącą. Nowa ramka stanie się aktywna i wyświetli dokument bieżący.
Patrz również Praca z Kate MDI.
Zamyka aktywną ramkę. Opcja ta jest niedostępna, jeśli w programie występuje tylko jedna ramka (główny obszar edycji).
Zamknięcie ramki nie zamyka żadnego dokumentu. Będą one w dalszym ciągu dostępne w menu , jak też na liście dokumentów.
Patrz również Praca z Kate MDI.
Uaktywnia kolejny widok w przypadku, jeżeli okno edycyjne zostało wcześniej podzielone na kilka widoków.
Uaktywnia poprzedni widok w przypadku, jeżeli okno edycyjne zostało wcześniej podzielone na kilka widoków.
Przełącza wyświetlanie paska z przyciskami przełączającymi widoki w panelach. Komenda ta nie wpływa na wyświetlanie zawartości panelu. Jeżeli jest on widoczny to pozostaje widoczny, zaś skróty klawiszowe przypisane do poniżej wymienionych poleceń będą działać dalej.
Włącza lub ukrywa listę dokumentów otwartych w programie Kate.
Włącza lub ukrywa przeglądarkę systemu plików.
Włącza lub wyłącza wyświetlanie narzędzia Znajdź w plikach.
Włącza lub wyłącza wyświetlanie okna wbudowanej konsoli.
Pierwsze uaktywnienie tej opcji spowoduje otwarcie nowej sesji w oknie konsoli.
Po wyświetleniu konsola staje się aktywna, co umożliwia natychmiastowe wprowadzanie poleceń. Dodatkowo, jeżeli włączona została opcja Synchronizuj konsolę z aktywnym dokumentem w karcie Ogólne okna Konfiguracji, to bieżący katalog w konsoli zostanie ustawiony na katalog bieżącego dokumentu.
Oprócz standardowych elementów menu środowiska KDE znajdują się tu również opcje wyświetlające podręczniki użytkownika zainstalowanych w Kate wtyczek.
Uruchamia System pomocy KDE na stronie pomocy programu (czyli na tym dokumencie).
Zmienia kursor myszy w strzałkę ze znakiem zapytania . Kliknięcie na elemencie programu spowoduje otworzenie okna pomocy objaśniającego funkcję tego elementu (o ile taka pomoc istnieje).
Otwiera okienko zgłoszenia błędu, w którym możesz zgłosić błąd lub prośbę o dodanie nowej funkcji.
Wyświetla informację o autorach i wersji programu.
Wyświetla informację o wersji KDE i inne podstawowe informacje.
Program Kate udostępnia kilka narzędzi dostosowania swojego zachowania do wymagań użytkownika. Do najważniejszych należą:
Podstawowe narzędzie konfiguracji programu Kate, komponentu edytora i zainstalowanych wtyczek.
Pozwala na zmianę często używanych ustawień oraz wywołuje okna konfiguracji.
Pozwala użytkownikowi podzielić aktywną ramkę oraz włącza i wyłącza wyświetlenie paska ikon oraz numerów wierszy dla bieżącego dokumentu.
Wbudowany program Konsole korzysta z parametrów konfiguracji ustawionych w Centrum sterowania KDE, ale można je zmienić naciskając przycisk myszy i wybierając z menu kontekstowego.
Okno konfiguracji Kate wyświetla listę dostępnych tematów konfiguracyjnych po lewej stronie, a karty konfiguracji odpowiadające wybranym tematom po prawej stronie.
Tematy konfiguracji dzielą się na dwie grupy
Ta grupa zawiera parametry konfiguracyjne dotyczące samego zachowania programu Kate.
W karcie tej umieszczone są globalne ustawienia programu Kate.
Jeżeli opcja jest włączona, to Kate wyświetli pełną ścieżkę dostępu do bieżącego dokumentu w pasku tytułowym okna (w przeciwnym wypadku wyświetlona zostanie tylko nazwa pliku).
Włączenie tej opcji spowoduje, iż wbudowany program Konsole będzie automatycznie zmieniał katalog roboczy (poleceniem systemowym cd) na ten, w którym znajduje się edytowany dokument. Zmiana będzie następować zawsze przy wczytaniu nowego lub zmianie bieżącego dokumentu. Jeżeli opcja ta jest wyłączona, to zmiana katalogu będzie wymagała działania użytkownika.
W przypadku włączenia tej opcji program Kate poinformuje użytkownika w przypadku, gdy edytowany plik został zmieniony przez inny program. Sprawdzenie tego faktu odbywa się przy każdym aktywowaniu okna programu Kate. Możliwe jest dokonywanie wybranych operacji na wielu zmodyfikowanych dokumentach: można je wczytać ponownie, zapisać lub porzucić zmiany.
Jeżeli opcja jest wyłączona, to Kate nie będzie pytać o reakcję w przypadku, gdy plik zostanie zmodyfikowany przez inny program.
Jeżeli opcja jest aktywna, to Kate będzie zapisywać dane dodatkowe takie jak np. ustawione zakładki, dane konfiguracji sesji, itp., kiedy dokumenty są zamykane. Dane te będą wykorzystane przy ponownym otwarciu dokumentu.
Określa maksymalną liczbę dni, przez którą Kate będzie przechowywać informacje dotyczące nieotwieranych plików. Pozwala to na utrzymywanie rozsądnych rozmiarów bazy informacji dodatkowych.
Poniższa sekcja zawiera informacje dotyczące korzystania z sesji.
Jeżeli opcja jest włączona to Kate zapisze wraz z informacją o sesji także bieżącą konfigurację okien.
Pozwala na określenie zachowania programu Kate po uruchomieniu. Ten parametr może zostać unieważniony poprzez uruchomienie Kate z odpowiednimi parametrami w linii poleceń.
Jeżeli ta opcja jest aktywna, to Kate po uruchomieniu utworzy nową, nienazwaną sesję.
Program Kate wczyta ostatnio wykorzystywaną sesję. Opcja ta jest bardzo przydatna, jeżeli użytkownik rzadko zmienia sesje i zwykle korzysta z jednego zestawu edytowanych plików.
Program Kate wyświetli okno dialogowe pozwalające wybrać pożądaną w danej chwili sesję. Jest to zachowanie domyślne, korzystne w przypadku, gdy użytkownik często korzysta z wielu różnych sesji.
Zmiana ustawień sesji (listy otwartych plików, konfiguracja okien) nie będzie zapisywana. Jednakże użytkownik będzie pytany o reakcję w przypadku niezapisanych plików. Dzięki tej opcji można raz skonfigurować sesję i później nie martwić się o zamykanie dodatkowych otwartych plików, których nie powinno być przy następnym otwarciu sesji.
Program Kate zapisze dane dotyczące sesji, z wyjątkiem sytuacji, gdy sesja jest nienazwana. Jeżeli opcja ta jest włączona, to sesje zawsze będą przywracane do stanu z chwili ich zamknięcia. Jest to zachowanie domyślne.
Zostanie wyświetlone pytanie o zapisanie sesji za każdym razem, gdy nazwana sesja będzie zamykana.
Pozwala na skonfigurowanie przycisków widocznych na pasku narzędzi przeglądarki plików. Z listy dostępnych akcje należy przenieść odpowiednie ikony na listę Zaznaczone akcje, a następnie ustawić je we właściwej kolejności za pomocą przycisków strzałek.
Włączenie tej opcji powoduje, iż przeglądarka systemu plików będzie automatycznie zmieniać wyświetlany katalog na katalog bieżącego dokumentu. Dzieje się to w następujących sytuacjach:
Przy zmianie aktywnego dokumentu.
Po wyświetleniu przeglądarki systemu plików.
Pozwala określić liczbę pozycji w historii przeglądanych katalogów. Powtarzające się wpisy nie są zapamiętywane.
Pozwala określić liczbę pozycji w historii wykorzystywanych filtrów. Filtry powtarzające się nie są zapamiętywane.
Określa czy przeglądarka systemu plików ma zapamiętywać bieżący katalog i filtry plików podczas przełączania pomiędzy sesjami.
Pozwala na włączenie lub wyłączenie funkcji cieniowania tła dla ostatnio używanych dokumentów oraz na określenie koloru cieniowania. Więcej informacji na ten temat znajduje się w sekcji Lista dokumentów.
Określa kolejność sortowania dla listy dokumentów. Zmiana porządku sortowania jest możliwa za pomocą menu kontekstowego dostępnego po naciśnięciu prawego przycisku myszy na liście dokumentów.
Ta karta pokazuje listę zainstalowanych w programie Kate wtyczek. Zawiera ona nazwę i krótki opis każdej dostępnej wtyczki oraz pole opcji pozwalające na włączenie lub wyłączenie wtyczki.
Jeżeli wtyczka posiada możliwość konfiguracji, to wyświetlone zostanie okno podrzędne z odpowiednimi polami do wypełnienia.
W menu dostępne jest podmenu . Są to programy operujące na danych związanych z bieżącym dokumentem, np: jego nazwą, katalogiem, tekstem lub zaznaczonym fragmentem. Ta karta pozwala na zarządzanie narzędziami zewnętrznymi.
Każde narzędzie zewnętrzne to polecenie powłoki zawierające w wywołaniu makra reprezentujące dane dotyczące bieżącego dokumentu. Podczas uruchomiania narzędzia makra te są zamieniane na dane dotyczące dokumentu.
Właściwości narzędzi zewnętrznych
Etykieta narzędzia, która wyświetli się w menu Narzędzia zewnętrzne.
Skrypt powłoki uruchamiany przy wywoływaniu narzędzia. Podczas uruchamiania skryptu przekazywane są do niego następujące makra:
Pełna ścieżka dostępu dla bieżącego dokumentu lub pusty napis, jeżeli dokument nie został jeszcze zapisany.
Rozdzielana spacjami lista ścieżek dostępu do wszystkich otwartych dokumentów (z wyjątkiem dokumentów nie zapisanych).
Katalog, w którym znajduje się bieżący dokument lub pusty napis, jeżeli nie został on jeszcze zapisany.
Nazwa pliku bieżącego dokumentu (bez ścieżki dostępu do katalogu) lub pusty napis, jeżeli nie został on jeszcze zapisany.
Numer wiersza bieżącego dokumentu, w którym znajduje się kursor.
Numer kolumny bieżącego dokumentu, w której znajduje się kursor.
Zaznaczony fragment tekstu z bieżącego dokumentu lub pusty napis, jeżeli nic nie zostało zaznaczone
Pełny tekst bieżącego dokumentu. Należy korzystać uważnie z tego makra, gdyż tekst może przekroczyć maksymalną dopuszczalną długość wywołania polecenia w systemie.
Program wykonywalny używany jako skrypt. Parametr ten jest wymagany i wykorzystywany podczas sprawdzania, czy dane polecenie jest dostępne w systemie. Dopuszczalne jest podanie pełnej ścieżki dostępu do programu, jeżeli nie znajduje się on w katalogu określonym przez zmienną środowiskową PATH
.
Rozdzielana średnikami lista typów MIME, dla których dane polecenie może być wykonane. Aktualnie nie jest wykorzystywana.
Powoduje, iż program Kate zapisze bieżący lub wszystkie otwarte dokumenty przed uruchomieniem skryptu. Jest to przydatne w sytuacji gdy skrypt bezpośrednio przetwarza dane znajdujące się w edytowanym pliku.
Wypełnienie tego pola powoduje, iż narzędzie staje się dostępne w linii poleceń edytora jako exttool-Nazwa linii poleceń
(nazwa tu wprowadzona musi być poprzedzona napisem: „exttool-”) w wywołaniu linii poleceń.
Ta grupa ustawień zawiera karty dotyczące konfiguracji komponentu edytora Kate. Większość parametrów w nich określonych ma wartość domyślną, która może zostać zmieniona poprzez definicje typu pliku, zmienne dokumentu lub przez ich zmianę w czasie edycji dokumentu.
Powoduje, iż wiersze będą zawijane na krawędzi okna.
Wybiera sposób wyświetlania znaczników dynamicznego zawijania wyrazów.
Włącza automatyczne wyrównywanie dynamicznie zawiniętych wierszy do aktualnego poziomu wcięcia tekstu. Zwiększa to czytelność kodu.
Dodatkowo użytkownik może ustawić procent maksymalnej szerokości ekranu, przy której dynamicznie zawijane wiersze nie będą wyrównywane w pionie. Na przykład ustawienie parametru na 50% spowoduje że poziom wcięcia głębszy niż 50% szerokości ekranu nie będzie automatycznie wyrównywany w pionie dla dynamicznie zawijanych wierszy.
Włączenie tej opcji spowoduje pokazanie w aktualnie edytowanym dokumencie znaczników zwijania kodu (jeżeli opcja zwijania kodu jest włączona).
Włącza wyświetlanie paska ikon po lewej stronie okna edytora. Na pasku ikon widoczne są np. znaczniki zakładek.
Włącza pokazywanie numerów wierszy po lewej stronie okna edytora.
Zaznaczenie opcji powoduje wyświetlenie znaczników na pionowym pasku przewijania. Znaczniki te wskazują m.in. na miejsce wstawienia zakładki w tekście.
Zakładki zostaną posortowane w kolejności numerów wierszy, dla których zostały ustawione.
Każda nowa zakładka zostanie dodana na końcu listy niezależnie od miejsca jej położenia w dokumencie.
Zaznaczenie tej opcji spowoduje uwidocznienie w oknie edytora linii pomagających zidentyfikować poszczególne poziomy wcięcia tekstu.
Ta karta pozwala na konfigurację ustawień czcionek i kolorów dla poszczególnych schematów wyświetlania oraz definiowanie nowych i usuwanie istniejących schematów. Każdy schemat zawiera ustawienia dotyczące kolorów i czcionek oraz style dla tekstu normalnego i dla podświetlania składni.
Program Kate pokaże w karcie aktywny w danym momencie schemat wyświetlania. Zmiana schematu na inny możliwa jest za pomocą rozwijanej listy Schemat.
Kolor domyślny dla tła obszaru edycyjnego. Będzie to kolor wyraźnie dominujący w oknie edytora.
Tło dla zaznaczonego fragmentu tekstu. Wartości domyślne są pobierane z ustawień globalnych środowiska KDE.
Kolor edytowanego wiersza. Jeżeli będzie on choć trochę inny od koloru tła, to pozwoli on skupić uwagę na aktualnie edytowanym wierszu tekstu.
Rozwijana lista wyboru pozwalająca określić kolory dla różnych rodzajów zakładek. Kolor jest mieszany z kolorem tła dla zaznaczonego wiersza, tak więc bieżący wiersz, lub wiersz z kilkoma zakładkami, ma tło będące efektem zmieszania kilku kolorów. Kolor zakładek jest również wykorzystywany dla znaczników, wyświetlanych na bocznym pasku przewijania.
Kolor wykorzystywany dla tła paska ikon, numerów wierszy i znaczników zwijania po lewej stronie edytora (jeżeli jest on widoczny).
Kolor wykorzystywany dla wyświetlania numerów wierszy na pasku po lewej stronie okna edycyjnego (jeżeli są widoczne).
Kolor wykorzystywany do podświetlania tła par odpowiadających sobie wzajemnie nawiasów w kodzie programu.
Kolor wyświetlania wzoru po lewej stronie dynamicznie zawiniętych wierszy, które zostały automatycznie wcięte i wyrównane pionowo jak również wyświetlania znacznika statycznego zawijania wyrazów.
W kolorze tym wyświetlane są znaczniki tabulacji.
Można tutaj ustawić czcionkę dla konfigurowanego schematu. Dostępna jest lista wszystkich czcionek zainstalowanych w systemie oraz możliwość ustawienia jej stylu oraz rozmiaru. W dolnej części wyświetlany jest przykładowy tekst z użyciem wybranej czcionki, aby pokazać efekt dokonanego wyboru.
Parametry stylu normalnego tekstu są dziedziczone przez style podświetlania składni. Pozwala to na prezentację tekstu w zwarty i przejrzysty sposób. Przykładowo tekst komentarza zawsze będzie miał ten sam kolor i wygląd we wszystkich formatach tekstowych, które można wybrać dla podświetlania składni w edytorze.
Pozycja na liście stylów wyświetlania pokazana jest z użyciem skonfigurowanych kolorów i wyglądu czcionki, co pozwala na natychmiastowy podgląd stylu.
Każdy styl pozwala na wybór wspólnych atrybutów dotyczących zarówno koloru tła, jak i koloru tekstu. Aby usunąć ustawienie dla koloru tła należy nacisnąć prawy przycisk myszki i skorzystać z menu kontekstowego.
Ta karta pozwala na ustawienie stylów tekstu używanych przez określoną regułę podświetlania składni. Program automatycznie wybiera regułę związaną z aktualnie edytowanym dokumentem. Aby wybrać inną regułę, należy skorzystać z listy rozwijanej Podświetlenie widocznej w górnej części okna.
Pozycja na liście stylów wyświetlania pokazana jest z użyciem skonfigurowanych kolorów i wyglądu czcionki, co pozwala na natychmiastowy podgląd stylu.
Każdy styl pozwala na wybór wspólnych atrybutów dotyczących zarówno koloru tła jak i koloru tekstu. Aby usunąć ustawienie koloru tła należy nacisnąć prawy przycisk myszki i skorzystać z menu kontekstowego. Dodatkowo dostępna jest informacja o tym, czy aktualne ustawienie jest zgodne z ustawieniem domyślnym oraz możliwość ewentualnej zmiany tego ustawienia na wartości domyślne.
Reguła podświetlania może zawierać w sobie inne reguły podświetlania, co jest reprezentowane jako grupa na liście stylów podświetlania. Na przykład większość reguł podświetlania składni dziedziczy pozycję "Alert", a reguły podświetlania dla kodu źródłowego programów dziedziczą ustawienia dla formatu Doxygen. Zmiana kolorów w tych grupach dotyczy tylko stylów używanych w konfigurowanej regule podświetlania składni.
Wybranie pozycji powoduje, iż naciśnięcie klawisza "Home" przesuwa kursor na początek tekstu w wierszu, pomijając ewentualne znaki wcięcia.
Podczas przesuwania kursora za pomocą lewego i prawego klawisza strzałki będzie on przechodził na początek poprzedniego/następnego wiersza po osiągnięciu początku/końca wiersza, podobnie jak w innych edytorach tekstu.
Włączenie tej opcji spowoduje, iż przesuwanie kursora klawiszami strzałek poza koniec wiersza (po prawej stronie) przeniesie go w dół na początek następnego wiersza. Podobnie kiedy kursor jest przesuwany przed początek wiersza (po lewej stronie), to przeniesie się na koniec wiersza znajdującego się powyżej. Kiedy opcja ta nie jest wybrana to przesunięcie kursora w prawo spowoduje kontynuację pracy w tym samym wierszu, natomiast przesunięcie w lewo na początku wiersza jest niemożliwe. Ten tryb pracy może być użyteczny podczas pisania programów.
Opcja ta zmienia zachowanie kursora w przypadku naciśnięcia klawiszy Page Up lub Page Down. Gdy nie jest ona zaznaczona, to kursor zachowuje względną wizualnie pozycję w oknie dokumentu Kate. Jeżeli więc kursor znajduje się w środku okna, to po naciśnięciu tych klawiszy dalej będzie widoczny w środku okna (chyba że osiągnięty zostanie początek lub koniec dokumentu). Jeżeli opcja jest wybrana, to naciśnięcie klawiszy przesunie kursor na początek, bądź na koniec, nowo wyświetlonej w oknie strony dokumentu.
Określa liczbę wierszy, które program stara się pokazywać powyżej i poniżej aktualnej pozycji kursora.
Zaznaczony fragment zostanie zastąpiony przez wprowadzany tekst zaś przesunięcie kursora zlikwiduje zaznaczenie tekstu.
Zaznaczenie pozostanie aktywne nawet po przesunięciu kursora, czy też wprowadzeniu nowego tekstu.
Zaznaczenie tej opcji spowoduje, iż po naciśnięciu klawisza TAB edytor będzie wstawiał do tekstu określoną liczbę spacji, w zależności od pozycji oraz ustawienia parametru: Szerokość tabulacji i wcięcia
.
Włączenie opcji spowoduje wyświetlanie przez Kate małej kropki w miejscu występowania znaków tabulacji.
Opcja powoduje również wyświetlanie kropki dla znaków spacji na końcu wiersza. Zachowanie to zostanie zmienione w przyszłych wersjach Kate.
Jeśli włączona jest opcja Zamień tabulacje na spacje, wtedy to pole określa liczbę spacji, na które edytor automatycznie zamieni każdy znak tabulacji.
Zawijania wyrazów to funkcja powodująca, iż edytor automatycznie rozpoczyna nowy wiersz tekstu i przenosi (zawija) kursor na jego początek. Program Kate automatycznie rozpocznie nowy wiersz tekstu, jeżeli liczba znaków w bieżącym wierszu osiągnie wielkość zdefiniowaną w polu: Zawijaj wyrazy na:.
Opcja włącza lub wyłącza statyczne zawijanie wyrazów.
Zaznaczenie tej opcji spowoduje wyświetlanie pionowej linii w miejscu określonym przez parametr "kolumna zawijania" w menu -> (w karcie: "Edycja"). Znacznik zawijania wyrazów jest wyświetlany tylko w przypadku stosowania czcionki o stałej szerokości.
Jeśli opcja Zawijanie wyrazów jest wybrana, to w tym polu określa się liczbę znaków, przy której edytor automatycznie rozpocznie nowy wiersz.
Włączenie tej opcji powoduje, że Kate automatycznie usunie dodatkowe spacje na końcu wiersza tekstu.
Włączenie tej opcji powoduje, że po wpisaniu lewego nawiasu ([, (, lub {) Kate automatycznie doda prawy nawias (odpowiednio: }, ), lub ]) po prawej stronie kursora.
Ta opcja określa liczbę możliwych w programie Kate operacji wycofania pisania tekstu lub innych działań. Im większa liczba, tym więcej pamięci program przeznaczy na przechowywanie historii operacji. Ustawienie opcji na 10 spowoduje, iż użytkownik będzie mógł wycofać 10 poprzednich operacji naciskając dziesięciokrotnie przycisk .
Pozwala na określenie źródła tekstu, który Kate wstawi automatycznie w oknie dialogowym wyszukiwania. Dostępne są następujące opcje:
Nigdzie: Żaden tekst nie zostanie wstawiony.
Tylko zaznaczenie: Używa zaznaczonego fragmentu jako tekstu wyszukiwanego.
Zaznaczenie, potem bieżące słowo: Używa zaznaczonego fragmentu (jeżeli dostępny), w przeciwnym wypadku wprowadza bieżące słowo.
Tylko bieżące słowo: Używa słowa, na którym aktualnie znajduje się kursor.
Bieżące słowo, potem zaznaczenie: Używa bieżącego słowa, a jeśli brak słowa w pozycji kursora to zaznaczenia.
Pozwala na określenie domyślnie stosowanego trybu wcięć. Zalecane jest ustawienie tutaj Brak
lub Normalny
i ustawienie reguł wcięć w konfiguracji typów plików dla takich formatów jak kod programu w C/C++ czy XML.
Automatycznie wstawia otwierający znak Doxygen "*" w czasie pisania komentarzy w formacie Doxygena. Opcja jest aktywna tylko jeśli ma zastosowanie.
Powoduje zamianę znaku tabulacji na zdefiniowaną poniżej Liczbę spacji:.
Powoduje użycie zarówno znaków tabulacji, jak i spacji dla wcięć.
Pozwala na ustawienie liczby spacji używanych do generowania wcięć przy włączonej opcji Użyj spacji zamiast znaków Tab do wcięć.
Zaznaczenie tej opcji powoduje, że program nie będzie usuwał wcięć w zaznaczonym fragmencie tekstu, jeżeli najmniej wcięty wiersz znajdzie się na początku wiersza (bez wcięcia). Może to być przydatne w przypadku usuwania wcięć w dużych fragmentach kodu programu.
Wcięcie większe niż wybrana liczba spacji nie będzie zmniejszone.
Pozwala na użycie klawisza Tab do wstawiania wcięć.
Pozwala na użycie klawisza Backspace do zmniejszania wcięć.
Powoduje iż naciśnięcie klawisza Tab wprowadza znaki wcięcia.
Powoduje iż naciśnięcie klawisza Tab wprowadza znaki tabulacji.
Powoduje iż naciśnięcie klawisza Tab wcina bieżący wiersz.
Ustawia domyślne kodowanie znaków dla plików.
Konfiguruje sposób zapisywania znaków końca wiersza w aktywnym dokumencie. Dostępny jest wybór pomiędzy trybami: UNIX®, DOS/Windows® i Macintosh.
Włączenie tej opcji powoduje, iż edytor będzie automatycznie wykrywał sposób kodowania końca wiersza. Pierwszy znaleziony w dokumencie znak końca wiersza będzie wykorzystany dla całego dokumentu.
Program załaduje określoną przez ten parametr liczbę bloków (po około 2048 wierszy każdy) tekstu do pamięci. Jeżeli rozmiar pliku jest większy od ustawionej tu wartości, to pozostałe bloki zostaną zapisane na dysk i załadowane później w razie potrzeby.
Może to powodować opóźnienia w trakcie poruszania się po dokumencie. Większa liczba bloków zwiększa szybkość kosztem zużycia pamięci.
W większości przypadków wybranie największej możliwej wartości jest ustawieniem optymalnym. Należy ją zmniejszyć w przypadku problemów z brakiem pamięci.
Kate automatycznie usunie dodatkowe spacje na końcu wierszy w całym tekście podczas operacji zapisu lub odczytu pliku.
Program będzie sprawdzał podaną liczbę katalogów nadrzędnych w celu znalezienia pliku konfiguracji Kate i wczytania znajdujących się w nim ustawień.
Funkcja ta spowoduje, iż Kate skopiuje plik oryginalny przed zapisaniem dokonanych zmian w tekście. Nazwa pliku kopii będzie ustalona w sposób następujący: '<przedrostek><nazwapliku><przyrostek>'. Przedrostek domyślnie nie jest określony, zaś domyślny przyrostek to ~.
Włącza tworzenia kopii zapasowej dla plików lokalnych.
Włącza tworzenie kopii zapasowej dla plików zdalnych.
Tekst dodany przed nazwą pliku oryginalnego przy tworzeniu kopii zapasowej.
Tekst dodany do nazwy pliku oryginalnego przy tworzeniu kopii zapasowej.
Poniższe ustawienia stosowane są do konfiguracji reguł podświetlania składni dla różnych rodzajów dokumentu. Zmiany dokonane w tej karcie dotyczą jedynie jednego wybranego typu dokumentu.
Pole listy rozwijanej pozwalające wybrać rodzaj dokumentu/języka programowania,dla którego dokonywana jest zmiana ustawień.
Wyświetla informacje o wybranej regule podświetlania: nazwisko autora oraz rodzaj licencji.
Pozwala na określenie rozszerzeń nazw plików związanych z daną regułą podświetlania składni, co pozwala na automatyczny wybór reguły w momencie otwierania pliku.
Naciśnięcie przycisku po prawej stronie pola wyboru otwiera okno dialogowe asystenta, pozwalające wybrać typy MIME z listy dostępnych typów.
Pole Rozszerzenia nazw plików będzie automatycznie uzupełnione zgodnie z wybranymi typami MIME.
Ustawia priorytet dla danej reguły podświetlania.
Naciśnięcie tego przycisku pozwala na pobranie nowych lub zaktualizowanych reguł podświetlania składni ze strony WWW programu Kate.
Ta karta pozwala na modyfikację konfiguracji domyślnej dla dokumentu, w zależności od typu MIME pliku. Kiedy program wczyta dokument, to przeszuka maski filtra plików lub listę typów MIME w poszukiwaniu zdefiniowanego rodzaju pliku, a następnie zmieni konfigurację zgodnie z wprowadzonymi zmiennymi. Jeżeli dopasowane zostanie kilka typów, to wybierany jest ten o najwyższym priorytecie.
Typ pliku dla którego ustawiono najwyższy priorytet wyświetla się na pierwszym miejscu rozwijanej listy. Jeżeli istnieje więcej typów, to również są one wyświetlane.
Pozwala na utworzenie nowego typu pliku. Po naciśnięciu przycisku wartości w polach znajdujących się poniżej zostają usunięte i można w nich wprowadzić ustawienia związane z nowo tworzonym typem pliku.
Aby usunąć zdefiniowany wcześniej typ pliku należy wybrać go korzystając z listy rozwijanej, a następnie nacisnąć przycisk Usuń.
Typ pliku dla którego ustawiono najwyższy priorytet wyświetla się na pierwszym miejscu rozwijanej listy. Jeżeli istnieje więcej typów, to również są one wyświetlane.
Nazwa typu pliku, która pojawia się jako pozycja w menu ->
Nazwa sekcji pozwala na właściwą organizację wyświetlania typów plików w menu. Jest wykorzystywana do wyświetlania menu ->.
Pole pozwala na dostosowanie konfiguracji Kate do określonego typu MIME. Możliwe jest określenie dowolnej opcji konfiguracyjnej takiej jak np. podświetlanie, reguły wcięć, kodowanie, itp.
Pełna lista dostępnych zmiennych konfiguracyjnych dostępna jest w podręczniku.
Maska filtra plików pozwala otwierać pliki z użyciem tylko nazwy. Typowa maska wykorzystuje gwiazdkę oraz rozszerzenie nazwy, przykładowo: *.txt; *.text
. W polu tym wprowadza się listę masek rozdzieloną średnikami.
Naciśnięcie przycisku asystenta po prawej stronie pola wyboru wyświetla okno dialogowe pozwalające na łatwy wybór typów MIME.
Konfiguruje priorytet dla danego typu pliku. Jeżeli do danego pliku można dopasować kilka typów, to wybierany jest ten o najwyższym priorytecie.
Możliwa jest tutaj zmiana konfiguracji skrótów klawiszowych. Wybranie tego polecenia i zaznaczenie pola opcji: Własny powoduje otwarcie okna, w którym użytkownik definiuje własną kombinację klawiszy dla danego polecenia.
Pole wyszukiwania pozwala na szybkie odszukanie polecenia i sprawdzenie jego skrótu klawiszowego.
Mechanizm zmiennych dokumentu w Kate oparty jest na mechanizmie wierszy konfiguracyjnych znanym z programów Emacs i vi. W Kate format wiersza konfiguracyjnego ma postać: kate: NAZWAZMIENNEJ WARTOŚĆ; [ NAZWAZMIENNEJ WARTOŚĆ; ... ]
. Ich treść może być oczywiście umieszczona w linii komentarza zgodnym z formatem edytowanego pliku. Nazwy zmiennych określane są jednym słowem (bez spacji) zaś cała treść do średnika stanowi wartość dla tej zmiennej. Średnik jest wymagany.
Poniżej znajduje się przykładowy wiersz zawierający zmienne konfiguracyjne zmieniający ustawienia wcięć dla pliku C++, Java lub Javascript:
// kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle;
Program sprawdza tylko pierwsze 10 lub ostatnie 10 wierszy dokumentu w poszukiwaniu zmiennych konfiguracyjnych.
Zmienne dokumentu odnoszą się do niemal wszystkich parametrów konfiguracji komponentu edytora. Dodatkowe zmienne mogą być wykorzystywane przez wtyczki, jednak w takim wypadku informacje na ich temat powinny być dostępne w dokumentacji wtyczek.
Komponent edytora poszukuje parametrów konfiguracyjnych w następujących miejscach (i w podanej kolejności):
Konfiguracja ogólna.
Opcjonalne dane sesji.
Konfiguracja typów pliku.
Zmienne dokumentu znajdujące się w pliku.
Zmiany konfiguracji z menu lub linii poleceń.
Wszystkie pozostałe, nie opisane poniżej, zmienne zapisane w dokumencie mogą być odczytywane przez wtyczki i wykorzystywane do ich celów. Na przykład tryby wcięć na podstawie zmiennych wykorzystuje zmienne dokumentu do konfiguracji.
Poniżej opisane zmienne dotyczą programu Kate w wersji 2.4. W przyszłości mogą zostać dodane kolejne zmienne. Wartości zapisywane do zmiennych mogą być następujące:
BOOL - przyjmuje wartości: on|off|true|false|1|0
INTEGER - dowolna liczba całkowita
STRING - wszystkie inne napisy
Dostępne zmienne konfiguracyjne
auto-brackets [BOOL]
Włącza lub wyłącza automatyczne wstawianie nawiasów.
auto-center-lines [INT]
Określa liczbę wierszy, które program stara się pokazywać powyżej i poniżej aktualnej pozycji kursora.
auto-insert-doxygen [BOOL]
Automatycznie wstawia otwierający znak Doxygen "*" w czasie pisania komentarzy w formacie Doxygena. Opcja ta działa tylko w przypadku użycia trybu "cstyle" dla automatycznych wcięć.
background-color [STRING]
Ustawia kolor tła. Wartość musi w poprawny sposób określać kolor, np.: "#ff0000".
backspace-indents [BOOL]
Włącza lub wyłącza zmniejszanie wcięć klawiszem Backspace.
block-selection [BOOL]
Włącza lub wyłącza tryb zaznaczania bloku.
bracket-highlight-color [STRING]
Ustawia kolor dla podświetlanych nawiasów. Wartość musi w poprawny sposób określać kolor, np.: "#ff0000"
current-line-color [STRING]
Ustawia kolor wyświetlania bieżącego wiersza. Wartość musi w poprawny sposób określać kolor, np.: "#ff0000".
dynamic-word-wrap [BOOL]
Włącza lub wyłącza dynamiczne zawijanie wyrazów.
eol | end-of-line [STRING]
Ustawia tryb kodowania końca wiersza. Dostępne ustawienia to: „unix”, „mac” oraz „dos”
encoding [STRING]
Ustawia kodowanie znaków w dokumencie. Wartość musi zawierać poprawną nazwę kodowania, np.: „utf-8”.
font-size [INT]
Określa rozmiar czcionki dla dokumentu w punktach.
font [STRING]
Ustawia rodzaj czcionki dla wyświetlania dokumentu. Wartość musi zawierać poprawną nazwę czcionki np.: „courier”.
icon-bar-color [STRING]
Ustawia kolor dla paska ikon. Wartość musi w poprawny sposób określać kolor, np.: "#ff0000".
icon-border [BOOL]
Włącza lub wyłącza wyświetlanie paska ikon.
folding-markers [BOOL]
Włącza lub wyłącza wyświetlanie znaczników zwijania kodu.
indent-mode [STRING]
Ustawia tryb automatycznych wcięć. Rozpoznawane tryby wcięć to: „none”, „normal”, „cstyle”, „csands”, „python”, „xml” Więcej informacji na temat automatycznych wcięć w sekcji „Korzystanie z funkcji automatycznych wcięć”.
indent-width [INT]
Ustawia szerokość wcięć.
keep-extra-spaces [BOOL]
Włącza lub wyłącza pozostawianie dodatkowych spacji podczas obliczania szerokości wcięcia.
keep-indent-profile [BOOL]
Zabezpiecza przez usunięciem wcięcia dla bloku jeżeli jest w nim nawet jeden wiersz bez wcięcia.
line-numbers [BOOL]
Włącza lub wyłącza wyświetlanie numerów wierszy.
mixed-indent [BOOL]
Włącza lub wyłącza mieszane wcięcia w stylu Emacsa.
overwrite-mode [BOOL]
Włącza lub wyłącza tryb zastępowania.
persistent-selection [BOOL]
Włącza lub wyłącza funkcję trwałego zaznaczenia.
remove-trailing-space [BOOL]
Włącza lub wyłącza dynamiczne czyszczenia końca wiersza.
replace-tabs-save [BOOL]
Włącza lub wyłącza konwersję znaków tabulacji na spacje przy zapisywaniu pliku.
replace-tabs [BOOL]
Włącza lub wyłącza dynamiczną konwersję tabulacji na spacje.
replace-trailing-space-save [BOOL]
Włącza lub wyłącza funkcję czyszczenia końców wierszy przy zapisywaniu pliku.
scheme [STRING]
Ustawia zestaw kolorów. Parametr musi określać istniejący zestaw kolorów, w przeciwnym wypadku nic się nie zmieni.
selection-color [STRING]
Ustawia kolor dla zaznaczenia. Wartość musi w poprawny sposób określać kolor, np.: "#ff0000".
show-tabs [BOOL]
Włącza lub wyłącza wyświetlanie znaku tabulacji.
smart-home [BOOL]
Włącza lub wyłącza nawigację za pomocą sprytnego klawisza Home.
space-indent [BOOL]
Włącza lub wyłącza tworzenie wcięć za pomocą spacji.
tab-indents [BOOL]
Włącza lub wyłącza tworzenie wcięć za pomocą klawisza tabulacji.
tab-width [INT]
Ustawia szerokość wyświetlania znaku tabulacji.
undo-steps [INT]
Ustawia liczbę zapamiętanych operacji dla polecenia "Cofnij".
word-wrap-column [INT]
Ustawia liczbę znaków po której nastąpi statyczne zawinięcie wyrazów.
word-wrap-marker-color [STRING]
Ustawia kolor znacznika zawijania wyrazów. Wartość musi w poprawny sposób określać kolor, np.: "#ff0000".
word-wrap [BOOL]
Włącza lub wyłącza statyczne zawijanie wyrazów.
wrap-cursor [BOOL]
Włącza lub wyłącza zawijanie kursora.
Prawa autorskie programu Kate (c) 2000, 2001, 2002 - 2005 Zespół deweloperów Kate.
Zespół deweloperów Kate:
(cullmann AT kde.org)
Kierownik projektu i główny programista
(anders AT alweb.dk)
Główny programista, moduł podświetlania dla Perl'a, dokumentacja
(kde AT jowenn.at)
Główny programista, podświetlanie składni
(michael.bartl1 AT chello.at)
Główny programista
(phlip_cpp AT my-deja.com)
Kompilacja projektu
(bastian AT kde.org)
System obsługi bufora
(newellm AT proaxis.com)
Testowanie...
(gholam AT xtra.co.nz)
Główny programista
(digisnap AT cs.tu-berlin.de)
Autor KWrite
(koch AT kde.org)
Konwersja KWrite na moduł KParts
(gebauer AT bigfoot.com)
Nieokreślone
(hausmann AT kde.org)
Nieokreślone
(glenebob AT nwlink.com)
Obsługa funkcji cofnij w KWrite, integracja z programem KSpell
(sdmanson AT alltel.net)
Obsługa podświetlania składni XML
(jfirebaugh AT kde.org)
Różne poprawki
(dhdev AT gmx.de)
Programista, asystent podświetlania
Wiele innych osób pomogło tworzyć program:
(merlim AT libero.it)
Reguły podświetlania składni dla plików Spec RPM, Diff i innych
(rocky AT purdue.edu)
Reguły podświetlania składni dla VHDL
Reguły podświetlania składni dla SQL
Reguły podświetlania składni dla Ferite
Reguły podświetlania składni dla ILERPG
Reguły podświetlania składni dla Javy i wielu innych języków
Reguły podświetlania składni dla LaTeX-a
Reguły podświetlania dla składni plików Make i Pythona
Reguły podświetlania składni dla Pythona
Poprawki błędów, wtyczka do obsługi XML-a
Prawa autorskie do dokumentacji (c) 2000,2001 Seth Rothberg (sethmr AT bellatlantic.org)
Prawa autorskie do dokumentacji (c) 2002, 2003, 2005 Anders Lund (anders AT alweb.dk)
Polskie tłumaczenie: (wozniakk AT ceti.pl)
Ta dokumentacja jest rozprowadzana na zasadach Licencji GNU Free Documentation License.
Ten program jest rozprowadzany na zasadach Licencji GNU General Public License.
Spis treści
System podświetlania składni służy do wyświetlania określonych fragmentów tekstu w różnych stylach czcionki i kolorach, w zależności od funkcji tego tekstu w strukturze edytowanego pliku. Na przykład jeżeli jest to kod źródłowy jakiegoś programu, to instrukcje kontrolne mogą być pogrubione, zaś typu zmiennych i komentarze mogą być wyróżnione kolorem innym od reszty tekstu. To znacznie podnosi czytelność tekstu, dzięki czemu tworzenie programów jest bardziej efektywne i produktywne.
Fragment programu w języku Perl wyświetlonego z wykorzystaniem podświetlania składni.
Ten sam fragment pokazany bez podświetlania.
Który z dwóch powyższych przykładów jest bardziej czytelny?
Edytor Kate ma zintegrowany potężny, elastyczny i w pełni konfigurowalny system podświetlania składni, zaś domyślna instalacja programu zawiera wiele definicji dla różnych języków programowania, języków skryptowych, języków opartych na znacznikach oraz innych plików tekstowych. Dodatkowo użytkownik może tworzyć własne definicje podświetlania składni w plikach XML o stosunkowo prostej strukturze.
Podczas otwierania pliku tekstowego, Kate automatycznie wykryje odpowiednią dla tego pliku definicję podświetlania składni na podstawie przypisanego dla niego typu MIME. Typ pliku określany jest na podstawie rozszerzenia nazwy pliku, a jeżeli plik nie ma rozszerzenia. to na podstawie jego zawartości. Jeżeli typ pliku został wykryty niepoprawnie, to można ręcznie zmienić definicję podświetlania składni za pomocą menu ->.
Styl i kolor tekstu dla wszystkich reguł podświetlania może zostać zdefiniowany w karcie Czcionki i kolory Okna konfiguracji natomiast typy MIME, dla których powinny być stosowane określone reguły konfigurowane są w karcie Podświetlenie.
Podświetlanie składni ma na celu zwiększenie czytelności treści dokumentu, ale nie należy zbyt polegać na jego możliwościach wskazywania błędów w kodzie programu. Algorytmy rozpoznawania składni mogą być skomplikowane i zależy to od używanego formatu dokumentu. Autorzy reguł podświetlania składni mogą się pochwalić 98% skutecznością stosowanych algorytmów rozpoznawania składni, jednak często jest ona wyższa i tylko naprawdę rzadko stosowane definicje reguł podświetlania powodują 2% błędnych podświetleń.
Ze strony WWW programu Kate można pobrać nowe i zaktualizowane bieżące definicje reguł podświetlania składni. Można to zrobić naciskając przycisk w karcie Podświetlenie okna dialogowego Konfiguracji.
Poniższa sekcja zawiera bardziej szczegółowe omówienie mechanizmów podświetlania składni w programie Kate. Jest ona przeznaczona dla użytkowników chcących dodawać lub modyfikować istniejące reguły podświetlania, lub dla osób chcących się czegoś więcej na ten temat dowiedzieć.
Przy każdej operacji otwierania pliku program Kate próbuje wykryć odpowiednią dla niego regułę podświetlania składni. Podczas wyświetlania pliku i w trakcie jego edycji system podświetlania składni będzie analizował tekst za pomocą reguł określonych w definicji podświetlania składni oraz zaznaczać miejsca, w których poszczególne konteksty treści i style tekstu rozpoczynają się i kończą.
Podczas edycji dokumentu nowo wprowadzany tekst jest analizowany i oznaczany na bieżąco, jeżeli więc użytkownik usunie znak będący początkiem lub końcem jakiegoś kontekstu to styl otaczającego ten znak tekstu zmieni się zgodnie z wymaganiami bieżącej reguły podświetlania składni.
Definicje reguł podświetlania składni w Kate to pliki zapisane w standardzie XML zawierające:
Zasady opisujące rolę spełnianą przez określone fragmenty tekstu zorganizowane w odpowienie bloki kontekstowe
Listy słów kluczowych
Definicje elementów stylu
Podczas analizy składni reguły są sprawdzane w kolejności ich wystąpienia w pliku. Jeżeli początek bieżącego tekstu zostaje dopasowany do danej reguły to następuje przełączenie na wskazany kontekst. Punkt przetwarzania treści przesuwa się na koniec bieżącego dopasowania reguły, a pętla sprawdzania reguł rozpoczyna się na nowo, ale już w kontekście przetwarzania wskazanym przez poprzednie dopasowanie.
Reguły stanowią serce systemu rozpoznawania składni. Reguła może odnosić się do napisu, pojedynczego znaku lub wyrażenia regularnego. Do reguł dopasowywany jest analizowany tekst dokumentu. Reguły wskazują, jakiego stylu należy użyć do wyświetlenia dopasowanego fragmentu tekstu, mogą też przełączać kontekst roboczy systemu podświetlania składni przez podanie nazwy kontekstu lub nakazując powrót do kontekstu poprzedniego.
Reguły są zgrupowane w bloki kontekstowe. Blok kontekstowy jest związany z głównymi elementami składni analizowanego tekstu np. tekst w cudzysłowach lub bloki komentarzy kodu źródłowego. Dzięki temu system podświetlania składni nie musi analizować wszystkich reguł, jeżeli nie jest to konieczne. Także pewne sekwencje znaków w tekście mogą być różnie traktowane w zależności od wybranego kontekstu przetwarzania.
Kontekst przetwarzania może być generowany dynamicznie, pozwalając na stosowaniu w regułach danych zależnych od wystąpienia określonego tekstu w treści dokumentu.
W niektórych językach programowania kompilator (czyli program zmieniający tzw. kod źródłowy programu na plik wykonywalny) w różny sposób traktuje liczby całkowite i zmiennoprzecinkowe. Dodatkowo wewnątrz otoczonego cudzysłowami napisu mogą być znaki o specjalnym znaczeniu. W takich wypadkach sensowne jest wyróżnienie ich z otaczającego tekstu tak aby były łatwo identyfikowalne. Tak więc nawet jeżeli takie fragmenty tekstu nie stanowią osobnego kontekstu, to są tak traktowane przez system podświetlania składni i dzięki temu mogą być odpowiednio różnicowane przy wyświetlaniu.
Definicja składni może zawierać dowolną liczbę stylów niezbędną do objęcia wszystkich elementów składniowych w danym formacie tekstu.
Dla wielu formatów dokumentów definiuje się listy słów reprezentujących określone pojęcia. Na przykład w językach programowania są to instrukcje kontrolne, typy zmiennych oraz wbudowane funkcje (każda z tych kategorii stanowi osobne pojęcie). System podświetlania składni w Kate wykorzystuje listy słów kluczowych do zaznaczania w tekście wystąpień poszczególnych kategorii skadniowych danego formatu dokumentu.
W przypadku otwarcia pliku z programem w C++ , Java™ lub dokumentu HTML można zauważyć, że mimo iż poszczególne typy dokumentów znacząco się od siebie różnią (inne słowa są podświetlane, itp.) to używane przez Kate kolory są identyczne. Dzieje się tak dlatego ponieważ w Kate istnieje zdefiniowana lista stylów domyślnych tekstu wykorzystywanych przez wszystkie definicje reguł podświetlania składni.
Pozwala to na użytkownikowi na rozpoznawanie pojęć o podobnym znaczeniu w różnych formatach dokumentu. Na przykład komentarze, które istnieją w kodzie źródłowym w niemal wszystkich językach programowania, językach skryptowych lub językach znaczników, są wyświetlane z użyciem tego samego stylu co pozwala użytkownikowi łatwo zidentyfikować wyróżniony w tekście fragment jako komentarz, niezależnie w jakim języku programowania ten tekst będzie napisany.
Wszystkie definicje podświetlania składni korzystają z minimum jednego stylu domyślnego. Część z nich wykorzystuje więcej stylów domyślnych. Jeżeli z danego formatu dokumentu użytkownik często korzysta, to warto uruchomić okno konfiguracji i sprawdzić jakie pojęcia są dla niego zdefiniowane w zbiorze reguł podświetlania. Na przykład, dostępny jest tylko jeden styl domyślny dla napisów, jednak ponieważ język Perl działa na dwóch rodzajach napisów, to możliwe jest takie skonfigurowanie systemu podświetlania, aby oba rodzaje były wyświetlane w różny sposób. Wszystkie dostępne style domyślne zostaną omówione poniżej.
Poniższa sekcja zawiera opis formatu pliku definicji podświetlania składni. Opisane zostaną główne elementy skadni XML pliku, ich znaczenie oraz sposoby wykorzystania. Kolejna sekcja zawiera szczegółowy opis poszczególnych reguł interpretacji składni.
Formalna definicja struktury pliku XML (czyli tak zwany dokument DTD) zawarta jest w pliku language.dtd
, który najczęściej zlokalizowany jest w katalogu: $
. KDEDIR
/share/apps/katepart/syntax
Główne sekcje pliku definicji reguł podświetlania składni dla programu Kate
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">
language
posiadający następujące atrybuty:Atrybuty wymagane:
name
określa nazwę języka (format dokumentu), która pojawia się później w menu i w oknach dialogowych.
section
określa kategorię danego formatu dokumentu.
extensions
określa rozszerzenia nazw plików, np.: "*.cpp;*.h"
Atrybuty opcjonalne:
mimetype
typy MIME plików, których dotyczy zbiór definicji.
version
określa wersję pliku definicji reguł podświetlania.
kateversion
określa minimalną wersję Kate, wymaganą do prawidłowego działania pliku definicji.
casesensitive
określa wrażliwość na wielkość liter w słowach kluczowych.
priority
określa priorytet stosowania danego zbioru definicji dla tych samych rozszerzeń nazw plików. Jeżeli do danego rozszerzenia pasuje kilka plików definicji, to zostaje wybrany ten o najwyższym priorytecie.
author
zawiera imię i nazwisko autora definicji oraz jego adres e-mail.
license
określa na jakiej licencji został udostępniony plik. Z reguły są to licencje: LGPL, Artistic, GPL, ale mogą też być inne.
hidden
wyłącza wyświetlanie nazwy zbioru definicji w menu programu Kate.
Czyli kolejny wiersz pliku definicji może wyglądać następująco:
<language name="C++" version="1.00" kateversion="2.4" section="Sources" extensions="*.cpp;*.h" />
highlighting
zawierający element opcjonalny list
oraz elementy wymagane:contexts
oraz itemDatas
.Elementy typu list
zawierają listy słów kluczowych. W przedstawionym poniżej przykładzie są to słowa class i const. Możliwe jest dodanie wielu elementów typu list
w zależności od potrzeb.
Element contexts
zawiera wszystkie konteksty występujące w składni definiowanego formatu dokumentu. Pierwszy kontekst jest domyślny i to od niego rozpoczyna się analiza składni. W omawianym przykładzie występują dwie reguły w kontekście o nazwie: Normal Text, dopasowujące listę słów kluczowych o nazwie: somename oraz reguła wykrywająca tekst w cudzysłowie przełączająca kontekst na: string. Więcej o regułach można przeczytać w kolejnym rozdziale.
Trzecia część to element itemDatas
. Zawiera on wszystkie kolory i style czcionek wykorzystywane przez konteksty i reguły. W omawianym przykładzie występują następujące elementy typu itemData
: Normal Text, String i Keyword.
<highlighting> <list name="somename"> <item> class </item> <item> const </item> </list> <contexts> <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" > <keyword attribute="Keyword" context="#stay" String="somename" /> <DetectChar attribute="String" context="string" char=""" /> </context> <context attribute="String" lineEndContext="#stay" name="string" > <DetectChar attribute="String" context="#pop" char=""" /> </context> </contexts> <itemDatas> <itemData name="Normal Text" defStyleNum="dsNormal" /> <itemData name="Keyword" defStyleNum="dsKeyword" /> <itemData name="String" defStyleNum="dsString" /> </itemDatas> </highlighting>
general
, która może zawierać dodatkowe informacje o słowach kluczowych, zasadach zwijaniu kodu, komentarzach i wcięciach.W części comment
definiowany jest napis rozpoczynający komentarz jedno-wierszowy. Możliwe jest także definiowanie komentarzy wielowierszowych za pomocą multiLine z dodatkowym atrybutem end. Ta część definicji jest niezbędna do działania poleceń Komentarz/Odkomentuj dostępnych w programie Kate.
W sekcji keywords
określona jest wrażliwość na wielkość liter przy rozpoznawaniu słów kluczowych. Pozostałe atrybuty opisane są poniżej.
<general> <comments> <comment name="singleLine" start="#"/> </comments> <keywords casesensitive="1"/> </general> </language>
W tej części omówione zostaną wszystkie dostępne atrybuty dla elementów typu: context, itemData, keywords, a także dla komentarzy, zasad zwijania kodu i wcięć.
context
, należący do grupy contexts
, definiuje reguły specyficzne dla określonego kontekstu, czyli np. co ma się stać, jeżeli system analizy składni dojdzie do końca wiersza. Dostępne atrybuty to:name
określa nazwę kontekstu wykorzystywaną w operacjach przełączania kontekstu podczas interpretacji reguł analizy składni.
lineEndContext
określa na jaki kontekst system analizy powinien się przełączyć po osiągnięciu końca wiersza. Może to być nazwa kontekstu, napis #stay
oznaczający pozostanie w bieżącym kontekście lub napis #pop
powodujący przejście do poprzedniego kontekstu. Możliwe jest wielokrotne użycie #pop np.:#pop#pop#pop
aby przejść do trzeciego kontekstu wstecz.
lineBeginContext
określa zmianę kontekstu w przypadku wykrycia początku wiersza. Wartość domyślna: #stay.
fallthrough
nakazuje systemowi podświetlania składni do przełączenia się do innego kontekstu (określonego przez "fallthroughContext"), jeżeli żadna reguła nie zostanie dopasowana. Wartość domyślna: false.
fallthroughContext
określa kontekst, do którego system powinien się przełączyć, jeżeli żadna reguła nie zostanie dopasowana.
dynamic
jeżeli ma wartość true, to powoduje zachowywanie napisów/wskaźników miejsca zapisanych przez reguły dynamiczne. Jest to wymagane np. przez dokumenty typu HERE. Wartość domyślna: false.
itemData
należący do grupy itemDatas
definiuje style czcionki i kolory. Możliwe jest z jego pomocą samodzielne definiowanie własnych stylów i kolorów, chociaż zalecane jest korzystanie ze stylów domyślnych, tak aby użytkownik widział te same kolory w różnych językach programowania. Czasami jednak niezbędne jest zdefiniowanie własnych kolorów i stylów czcionki. Dla tego elementu wymagane są atrybuty "name" oraz "defStyleNum" zaś pozostałe są opcjonalne. Dostępne atrybuty:name
określa nazwę elementu itemData. Poszczególne reguły i konteksty będą korzystać z tej nazwy, odnosząc się do tego elementu itemData.
defStyleNum
określa styl domyślny, który należy wykorzystać do wyświetlania. Dostępne style domyślne są opisane poniżej.
color
określa kolor w formacie '#rrggbb' lub '#rgb'.
selColor
określa kolor zaznaczenia.
italic
jeżeli true to tekst będzie wyświetlony kursywą.
bold
jeżeli true to tekst będzie pogrubiony.
underline
jeżeli true to tekst będzie podkreślony.
strikeout
jeżeli true to tekst będzie przekreślony.
keywords
należący do grupy general
określa właściwości dla słów kluczowych i posiada następujące atrybuty:Atrybut casesensitive
mogący przyjmować wartości true lub false. Jeżeli będzie to wartość true to operacja dopasowania słów kluczowych będzie wrażliwa na wielkość liter.
weakDeliminator
zawiera listę znaków nie pełniących funkcji rozdzielającej słowa. Na przykład kropka '.'
rozdziela słowa. Jeżeli więc jakieś słowo kluczowe na liście list
zawiera kropkę, to zostanie dopasowane tylko wtedy, gdy kropka zostanie zdefiniowana tutaj jako znak nie pełniący funkcji rozdzielającej.
additionalDeliminator
określa dodatkowe znaki rozdzielające.
wordWrapDeliminator
określa znak, po którym może nastąpić przejście do następnego wiersza.
Domyślnymi znakami rozdzielającymi są znaki: .():!+,-<=>%&*/;?[]^{|}~\
, spacja (' '
) oraz tabulator ('\t'
).
comment
należący do grupy comments
zawiera informacje niezbędne do działania poleceń menu: -> oraz ->. Dostępne atrybuty:Atrybut name
może mieć wartość singleLine lub multiLine. W przypadku użycia argumentu multiLine wymagane stają się atrybuty end oraz region.
start
określa napis oznaczający początek komentarza (np. w języku C++ jest to "/*").
end
określa napis oznaczający koniec komentarza (np. w języku C++ jest to "*/").
region
określa nazwę dla zwijalnego wielowierszowego komentarza. Zakładając, że zdefiniowane są następujące reguły: beginRegion="Comment" ... endRegion="Comment" można jako wartość tego atrybutu ustawić region="Comment". Dzięki temu odkomentowywanie tekstu działa nawet jeżeli nie zostanie zaznaczony cały komentarz wielowierszowy. Wystarczy, że kursor znajduje się w dowolnym miejscu treści tego komentarza.
folding
należący do grupy general
określa właściwości funkcji zwijania kodu. Dostępne są dla niego następujące atrybuty:indentationsensitive
jeżeli jest true, to znaczniki zwijania będą dodawane z uwzględnieniem wcięć, tak jak w języku skryptowym Python. Z reguły nie jest to jednak wymagane, a wartością domyślną jest: false.
indentation
należący do grupy general
określa algorytm generowania automatycznych wcięć. Definiowanie tego elementu nie jest wskazane, dlatego iż wcięcia są generowane w zależności od typu pliku lub od trybu edycji wiersza. Jeżeli element zostanie zdefiniowany to spowoduje wymuszenie na użytkowniku stosowania automatycznych wcięć, nawet jeżeli on tego nie potrzebuje. Dla elementu dostępne są atrybuty:mode
określa nazwę trybu generowania wcięć. Możliwe są następujące tryby: normal, cstyle, csands, xml, python oraz varindent.
Style domyślne zostały już wcześniej krótko omówione. Są to predefiniowane w programie Kate style i kolory czcionki.
dsNormal
, dla zwykłego tekstu.
dsKeyword
, dla słów kluczowych.
dsDataType
, dla definicji typów danych.
dsDecVal
, dla liczb dziesiętnych.
dsBaseN
, dla liczb zapisanych w systemie innym niż dziesiętny.
dsFloat
, dla liczb zmiennoprzecinkowych.
dsChar
, dla znaków.
dsString
, dla napisów.
dsComment
, dla komentarzy.
dsOthers
, dla 'pozostałych' elementów.
dsAlert
, dla komunikatów i ostrzeżeń.
dsFunction
, dla wywołań funkcji.
dsRegionMarker
, dla wyświetlania znaczników regionów.
dsError
, dla podświetlenia błędów w kodzie i błędnej składni.
Poniższa sekcja opisuje reguły rozpoznawania składni.
Każda reguła może zostać dopasowana do zera lub większej liczby znaków, począwszy od początku napisu podlegającego interpretacji. Jeżeli reguła zostaje dopasowana, to określonym znakom przypisany zostaje styl lub atrybut określony przez tę regułę. Może też zostać przełączony kontekst analizy treści.
Reguła wykrywania zapisana jest następująco:
<RuleName attribute="(identyfikator)" context="(identyfikator)" [atrybuty specyficzne dla reguły] />
Element attribute określa nazwę stylu wyświetlania dla dopasowanego napisu, zaś context określa kontekst, który powinien obowiązywać począwszy od tego miejsca.
Atrybut context może zostać zapisany jako:
Identyfikator stanowiący nazwę kontekstu.
Kolejność tzn. określenie czy system ma pozostać w bieżącym kontekście(#stay
) czy też zmienić kontekst na poprzedni (#pop
).
Przejście o kilka kontekstów wstecz możliwe jest za pomocą powtórzeń słowa #pop, np: #pop#pop#pop
Niektóre reguły mogą posiadać reguły powiązane, które są przetwarzane w przypadku zaistnienia dopasowania reguły podstawowej. Całość dopasowanego napisu otrzyma atrybut zdefiniowany przez regułę podstawową. Przykładowa reguła zawierająca regułę powiązaną wygląda tak:
<RuleName (atrybuty)> <ChildRuleName (atrybuty) /> ... </RuleName>
Atrybuty dotyczące poszczególnych reguł mogą się różnić, a ich charakterystyka zamieszczona jest poniżej.
Atrybuty wspólne
Wszystkie reguły posiadają pewne wspólne zestawy atrybutów, co zaznaczone jest w opisie reguły określeniem: (atrybuty wspólne)
. Atrybuty attribute oraz context są wymagane, a wszystkie pozostałe są opcjonalne.
attribute: Atrybut odnoszący się do zdefiniowanego elementu itemData.
context: Określa kontekst, na który ma przełączyć się system podświetlania składni, jeżeli reguła zostanie dopasowana.
beginRegion: Definiuje początek bloku zwijania kodu. Wartość domyślna: nie ustawione.
endRegion: Kończy blok dla zwijania kodu. Wartość domyślna: nie ustawione.
lookAhead: Jeżeli jest true, to system podświetlania nie będzie przetwarzał całej długości dopasowania. Wartość domyślna to: false.
firstNonSpace: Dopasowuje regułę, ale tylko wtedy gdy dany napis jest pierwszym napisem w wierszu, nie rozpoczynającym się od spacji. Wartość domyślna: false.
column: Dopasowuje regułę tylko jeżeli kolumna też jest dopasowana. Wartość domyślna: nie ustawione.
Zasady dynamiczne
Niektóre reguły dopuszczają stosowanie atrybutu logicznego dynamic
, który ma wartość domyślną false. Jeżeli nadana zostanie mu wartość true, to reguła może wtedy wykorzystać znacznik pozycji dla tekstu dopasowanego przez regułę z wyrażeniem regularnym, która spowodowała przełączenie się do bieżącego kontekstu. Dla napisu
znacznik miejsca %N
(gdzie N to liczba) będzie zamieniony przez tekst odpowiadający N
-temu podwyrażeniu w wyrażeniu regularnym. Dla znaku
znacznik ten też musi być liczbą i zostanie zamieniony na pierwszy znak N
-tego podwyrażenia w wyrażeniu regularnym. Jeżeli reguła dopuszcza istnienie tego atrybutu, to zostanie oznaczona napisem (dynamiczna) w poniższej dokumentacji.
dynamic może przyjmować wartości (true|false).
Wykrywa określony znak. Często używane na przykład do wykrywania końca napisów w cudzysłowach.
<DetectChar char="(znak)" (atrybuty wspólne) (dynamiczna) />
Atrybut char
określa poszukiwany znak.
Wykrywa dwa następujące po sobie znaki.
<Detect2Chars char="(znak)" char1="(znak)" (atrybuty wspólne) (dynamiczna) />
char
określa pierwszy znak do wykrycia, zaś char1
określa drugi znak.
Wykrywa jeden znak ze zdefiniowanego zbioru znaków.
<AnyChar String="(napis)" (atrybuty wspólne) />
Atrybut String
definiuje zbiór znaków.
Wykrywa dokładne wystąpienie napisu.
<StringDetect String="(napis)" [insensitive="true|false"] (atrybuty wspólne) (dynamiczna) />
Atrybut String
określa napis wyszukiwany. Atrybut insensitive
ma wartość domyślną false i jest przekazywany do funkcji porównywania napisów. Jeżeli wartość tego atrybutu jest true, to dopasowanie tekstów będzie wrażliwe na wielkość liter.
Wyszukuje fragment zdefiniowany wyrażeniem regularnym.
<RegExpr String="(napis)" [insensitive="true|false"] [minimal="true|false"] (atrybuty wspólne) (dynamiczna) />
Atrybut String
zawiera wyrażenie regularne.
Atrybut insensitive
ma wartość domyślną false i jest przekazywany jako parametr do systemu interpretacji wyrażeń regularnych.
minimal
ma wartość domyślnąfalse i jest przekazywany jako parametr do systemu interpretacji wyrażeń regularnych.
Ponieważ reguły są zawsze dopasowywane od początku bieżącego tekstu, wyrażenie regularne rozpoczynające się od znaku karetki (^
) będzie oznaczać, iż reguła powinna być dopasowana tylko na początku wiersza.
Więcej informacji na ten temat w części: Wyrażenia regularne.
Wykrywa słowo kluczowe z podanej listy.
<keyword String="(nazwa listy)" (atrybuty wspólne) />
Atrybut String
określa listę słów kluczowych poprzez jej nazwę. Lista o tej nazwie musi istnieć.
Wykrywa liczbę całkowitą.
<Int (atrybuty wspólne) (dynamiczna) />
Reguła ta nie posiada dodatkowych atrybutów. Reguły powiązane są zwykle wykorzystywane do wykrywania kombinacji znaków L
oraz U
, następujących po liczbie, określających zwykle typ liczby całkowitej w kodzie programu. Jako regułę powiązaną można wykorzystać dowolną inną regułę mimo tego, że definicja składni DTD dopuszcza jedynie powiązanie z regułą StringDetect
.
Poniższy przykład przedstawia regułę, która dopasowuje liczbę całkowitą po której wystąpi litera 'L'.
<Int attribute="Decimal" context="#stay" > <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/> </Int>
Wykrywa liczbę zmiennoprzecinkową.
<Float (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów. Może być powiązana z regułą AnyChar
, która wykorzystywana jest często do wyszukiwania różnych wariantów. Podobne zastosowanie przedstawiono przy omawianiu reguły Int
.
Wykrywa liczbę zapisaną w formacie ósemkowym.
<HlCOct (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Wykrywa liczbę zapisaną w formacie szesnastkowym.
<HlCHex (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Wykrywa znak specjalny zapisany za pomocą odwrotnego ukośnika.
<HlCStringChar (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Dopasowuje sekwencje specjalne, reprezentujące znaki specjalne często używane w kodach źródłowych programów, np. \n
(znak nowego wiersza) lub \t
(znak tabulacji).
Zostaną dopasowane następujące znaki zapisane po odwrotnym ukośniku (\
) : abefnrtv"'?\
. Dodatkowo dopasowane zostaną sekwencje zawierające liczby szesnastkowe: \xff
lub ósemkowe \033
.
Wykrywa znak w języku C.
<HlCChar (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Reguła dopasowuje pojedynczy znak w języku C zamknięty apostrofami (np.:'c'
). Wewnątrz apostrofów może znajdować się pojedynczy znak lub sekwencja specjalna opisująca pojedynczy znak. Więcej o dopasowaniu sekwencji specjalnych znajduje się w opisie reguły HlCStringChar.
Wykrywa napis rozpoczynający się i kończący określonymi znakami.
<RangeDetect char="(znak)" char1="(znak)" (atrybuty wspólne) />
char
określa początkowy znak zakresu znaków, zaś char1
określa znak kończący zakres.
Reguła może być wykorzystywana do wykrywania krótkich napisów w cudzysłowach, należy jednak pamiętać, iż system podświetlania składni analizuje pojedyncze wiersze, tak więc nie zostaną wykryte napisy wielowierszowe.
Wykrywa koniec wiersza.
<LineContinue (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Reguła ta jest przydatna przy przełączaniu kontekstu po osiągnięciu końca wiersza, jeżeli ostatnim znakiem jest odwrotny ukośnik ('\'
). Jest to wykorzystywane na przykład w językach C i C++ do zapisu makr w wielu wierszach kodu.
Dołącza reguły z innego kontekstu lub pliku definicji języka.
<IncludeRules context="odnośnikkontekstu" [includeAttrib="true|false"] />
Parametr context
określa kontekst, który należy dołączyć.
Jeżeli parametr jest nazwą innego kontekstu to spowoduje, to przyłączenie wszystkich określonych w innym kontekście reguł do bieżącego kontekstu, np.:
<IncludeRules context="anotherContext" />
Jeżeli podany napis rozpoczyna się od ##
, to system podświetlania składni odszuka definicji innego języka o podanej nazwie, np.:
<IncludeRules context="##C++" />
Jeżeli atrybut includeAttrib
ma wartość true, to nastąpi zmiana atrybutów na występujący w źródle. Może to być przydatne do podświetlania fragmentów z przykładami w innym formacie dokumentu, tzn. gdy tekst dopasowany przez dołączony kontekst wykorzystuje inną definicję dla podświetlania składni.
Wykrywa spacje.
<DetectSpaces (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Regułę tę wykorzystuje się w przypadkach, gdy wiadome jest, iż w wierszu znajduje się wiele spacji, np. przy wciętych wierszach. Spowoduje ona pominięcie wszystkich spacji jednocześnie zamiast testowania wszystkich reguł znak po znaku dla każdej z nich.
Wykrywa identyfikatory (określone wyrażeniem regularnym: [a-zA-Z_][a-zA-Z0-9_]*).
<DetectIdentifier (atrybuty wspólne) />
Ta reguła nie ma dodatkowych atrybutów.
Reguła powyższa służy do pomijania całego napisu składającego się ze znaków składających się na wyraz, zamiast sprawdzania wielu reguł z powodu braku dopasowania.
Po zrozumieniu zasady działania mechanizmu przełączania kontekstów tworzenie definicji reguł podświetlania stanie się proste. Należy jednak zawsze dokładnie sprawdzić dostosowanie wybranej reguły do konkretnej sytuacji. Wyrażenia regularne dają ogromne możliwości, ale działają wolno w porównaniu z innymi regułami. Poniżej opisano kilka porad pomocnych w tworzeniu plików definicji reguł podświetlania.
Jeżeli poszukiwane są tylko dwa znaki to należy wykorzystywać regułę Detect2Chars
zamiast StringDetect
(to samo dotyczy reguły DetectChar
).
Użycie wyrażeń regularnych jest proste, jednak często istnieją inne, dużo szybsze sposoby osiągnięcie tego samego rezultatu. Zakładając, iż konieczne jest dopasowanie znaku '#'
jako pierwszego w wierszu. Odpowiednie wyrażenie regularne miałoby postać:
<RegExpr attribute="Macro" context="macro" String="^\s*#" />To samo można uzyskać poprzez:
<DetectChar attribute="Macro" context="macro" char="#" firstNonSpace="true" />Zamiast wyrażenia regularnego
'^#'
można zastosować regułę DetectChar
z atrybutem column="0"
. Atrybut column
odnosi się do znaków w tekście, tak więc znak tabulatora zostanie policzony jako jeden znak. Możliwe jest przełączanie kontekstów bez przetwarzania znaków. Przypuśćmy, iż konieczne jest przełączenie kontekstu po napotkaniu napisu */
ale konieczne jest przetworzenie tego napisu w kolejnym kontekście. Poniższa reguła zostanie dopasowana, zaś atrybut lookAhead
spowoduje zachowanie dopasowanego napisu do przetwarzania w kolejnym kontekście.
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
Można skorzystać z DetectSpaces
, jeżeli spodziewane jest wystąpienie wielu spacji.
Zamiast wyrażenia regularnego '[a-zA-Z_]\w*'
można wykorzystać DetectIdentifier
.
Należy w miarę możliwości używać styli domyślnych, dzięki temu użytkownik będzie miał spójne środowisko pracy z różnymi plikami.
Można podejrzeć zawartość innych plików definicji reguł podświetlania, aby zorientować się w sposobie definiowania bardziej skomplikowanych reguł.
Sprawdzenie poprawności stworzonego pliku XML możliwe jest z wykorzystaniem polecenia: xmllint --dtdvalid language.dtd mySyntax.xml.
W przypadku częstego korzystania z wyrażeń regularnych można skorzystać z mechanizmu ENTITIES, np:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd" [ <!ENTITY myref "[A-Za-z_:][\w.:_-]*"> ]>
Dzięki temu można zastosować &myref; zamiast wyrażenia regularnego.
Spis treści
Dodatek niniejszy zawiera krótkie, ale obejmujące większość zagadnień wprowadzenie do tajemniczego świata wyrażeń regularnych. Dokumentacja oparta jest na formacie wyrażeń regularnych stosowanych przez Kate, która nie jest w pełni kompatybilna z wyrażeniami z języka perl lub polecenia grep.
Wyrażenia regularne pozwalają na takie określenie możliwej zawartości przeszukiwanego tekstu, iż stosunkowo prosty program może określić, czy dany fragment pasuje, czy też nie, do poszukiwanego wzorca. Bardziej zaawansowane zastosowania wyrażeń regularnych pozwalają na przechowywanie i późniejsze wykorzystanie dopasowanych wzorców.
Przykładowo, załóżmy, że chcemy znaleźć wszystkie zdania w tekście, rozpoczynające się od słów: „Henrik” lub „Pernille”, po których następuje czasownik „say”.
Wykorzystując tradycyjny mechanizm wyszukiwania należałoby zacząć od znalezienia napisu „Henrik” z następującym po nim fragmentem „sa” czyli np: Henrik sa
. Przeglądając znalezione teksty należałoby odrzucić te nie będące początkiem zdania oraz te, gdzie napis „sa” nie jest początkiem słów „says”, „said” itd. Następnie trzeba oczywiście powtórzyć te działania dla kolejnego nazwiska...
Za pomocą wyrażeń regularnych zadanie to może być wykonane za pomocą jednej operacji szukania i z dużo większą precyzją.
W wyrażeniu regularnym definiowane są reguły generalizujące poszukiwany fragment tekstu. W podanym przykładzie pożądany rezultat szukania można słownie opisać tak: „Wyszukaj wiersz rozpoczynający się albo od słowa «Henrik» albo «Pernille» (przed którym występuje do 4 spacji lub znaków tabulacji), i następujący po nim tekst «sa» z końcówkami «ys» lub «id»”. Można to osiągnąć za pomocą następującego wyrażenia regularnego:
^[ \t]{0,4}(Henrik|Pernille) sa(ys|id)
Powyższy przykład przedstawia cztery główne mechanizmy współczesnych wyrażeń regularnych:
Wzorce
Zakotwiczenia
Kwantyfikatory
Odwołania zwrotne
Znak karetki (^
), rozpoczynający wyrażenie jest zakotwiczeniem oznaczającym, iż dopasowanie będzie możliwe tylko wtedy, jeżeli podany wzorzec znajdzie się na początku wiersza.
Napisy [ \t]
oraz (Henrik|Pernille) sa(ys|id)
to tzw. wzorce. Pierwszy określa klasę znaków, która będzie dopasowana do spacji lub tabulatora, drugi zawiera wzorzec składający się z podwzorca pasującego do napisu Henrik
albo Pernille
. Następnie poszukiwany jest fragment sa
, a potem podwzorzec pasujący do napisów ys
lub id
.
Zapis {0,4}
jest kwantyfikatorem oznaczającym, iż dopasowane zostaną „co najmniej 0 lecz nie więcej niż 4 wystąpienia określonego wzorca”.
Ponieważ oprogramowanie obsługi wyrażeń regularnych zawiera mechanizm odwołań zwrotnych, możliwe jest zachowanie całego dopasowanego fragmentu tekstu (określonego jako podwzorzec w nawiasach okrągłych), a następnie wykorzystanie tego fragmentu w dalszej części wyrażenia (w podanym przykładzie może to być dopasowane nazwisko lub ostatnia część czasownika).
Podsumowując, wprowadzone wyrażenie regularne będzie pasować do tekstu tam, i tylko tam, gdzie użytkownik tego wymaga.
Poniższe sekcje zawierają szczegółowe informacje o wykorzystaniu wzorców, klas znaków, zakotwiczeń, kwantyfikatorów i odwołań zwrotnych. W ostatniej części przedstawiono kilka pożytecznych przykładów wykorzystania wyrażeń regularnych.
Wzorce mogą się składać ze znaków i klas znaków. Wzorce mogą zawierać podwzorce, czyli wzorce zamknięte w nawiasach okrągłych.
W definicji zarówno wzorców, jak i klas znaków, niektóre znaki mają specjalne znaczenie. Aby wyszukać te znaki w tekście, muszą być zapisane w postaci sekwencji specjalnej, tak aby program obsługi wyrażeń regularnych interpretował je jako znaki tekstu, a nie znaki sterujące procesem wyszukiwania.
Aby tego dokonać należy poprzedzić znak specjalny znakiem odwrotnego ukośnika (\
).
Program obsługujący wyrażenia regularne pozwala zapisywać każdy znak w postaci sekwencji specjalnej, nawet taki, który nie ma żadnego specjalnego znaczenia. Na przykład zapisanie litery „j” w postaci sekwencji \j
jest całkowicie poprawne i oznacza literę „j”. Jeżeli więc użytkownik nie jest pewny czy dany znak ma znaczenie specjalne czy też nie, to może go dla bezpieczeństwa zapisać w postaci sekwencji specjalnej.
Istnieje oczywiście również sekwencja specjalna dla określenia znaku odwrotnego ukośnika i jest to: \\
.
Klasa znaków to wyrażenie pasujące do jednego znaku wybranego z określonego zbioru znaków. W wyrażeniach regularnych klasy znaków są definiowane poprzez podanie zbioru znaków wewnątrz nawiasów kwadratowych []
lub poprzez użycie jednego ze skrótowych predefiniowanych klas znaków opisanych poniżej.
Proste klasy znaków zawierają listę znaków np.: [abc]
(klasa pasuje do każdej z liter: „a”, „b” lub „c”) albo [0123456789]
(klasa znaków pasująca do dowolnej cyfry).
Ponieważ litery i cyfry można ustawić w logicznym porządku, to możliwe jest zapisanie klas znaków w postaci zakresów znaków np.: [a-c]
jest równoważne zapisowi [abc]
, zaś [0-9]
jest tożsame z zapisem [0123456789]
. Dopuszczalne są różne kombinacje zakresów w definicji klas znaków np. [a-fynot1-38]
jest całkowicie poprawne, i będzie pasować do jednego następujących znaków: „a”,„b”,„c”,„d”, „e”,„f”,„y”,„n”,„o”,„t”, „1”,„2”,„3” lub „8”).
Duże litery i małe litery są różnymi znakami dla oprogramowania obsługi wyrażeń regularnych, aby więc określić wzorzec nie uwzględniający wielkości liter: „a” lub „b” należy zapisać go następująco: [aAbB]
.
Możliwe jest zastosowanie „negacji” klasy znaków, która oznacza dopasowanie do „wszystkich znaków oprócz” tych określonych w klasie. Negacji klasy dokonuje się za pomocą znaku (^
), który musi stanowić pierwszy znak jej definicji:
[^abc]
pasuje do każdego znaku z wyjątkiem liter :„a”, „b” lub „c”.
Oprócz znaków alfabetu zdefiniowane zostały skróty dla pewnych znaków specjalnych oraz najczęściej używanych klas znaków:
\a
Pasuje do znaku ASCII dzwonka (BEL, 0x07).
\f
Pasuje do znaku ASCII form feed (FF, 0x0C).
\n
Pasuje do znaku ASCII line feed (LF, 0x0A, nowy wiersz w systemach UNIX).
\r
Pasuje do znaku ASCII carriage return (CR, 0x0D).
\t
Pasuje do znaku ASCII - tabulacja pozioma (HT, 0x09).
\v
Pasuje do znaku ASCII tabulacja pionowa (VT, 0x0B).
\xhhhh
Pasuje do znaku Unicode o numerze "hhhh" zapisanym w formacie szesnastkowym (w zakresie od 0x0000 do 0xFFFF). \0ooo (tzn.: \zero ooo) pasuje do znaku ASCII/Latin-1 o kodzie "ooo" w systemie ósemkowym (z zakresu od 0 do 0377).
.
(kropka)Pasuje do każdego znaku (także do znaku końca wiersza).
\d
Pasuje do cyfry, co jest tożsame z zapisem: [0-9]
\D
Pasuje do znaku nie będącego cyfrą, co jest równoważne zapisom: [^0-9]
lub [^\d]
\s
Pasuje do znaku spacji lub innego tzw. białego znaku. Tożsame z: [ \t\n\r]
\S
Dopasowuje znak nie będący spacją lub innym tzw. białym znakiem. Tożsame z: [^ \t\n\r]
lub [^\s]
\w
Pasuje do dowolnego „elementu słowa” - tzn. do dowolnej litery lub cyfry. Należy zwrócić uwagę, iż znak podkreślenia (_
) nie zostanie dopasowany (co dzieje się np. w wyrażeniach regularnych Perl-a). Zapis ten równoważny jest klasie znaków: [a-zA-Z0-9]
\W
Pasuje do wszystkich znaków nie będących literami bądź cyframi, co jest równoważne wyrażeniom [^a-zA-Z0-9]
lub [^\w]
Skróty można wykorzystywać we własnych definicjach klas np. aby dopasować znak alfabetu, spację oraz kropkę można użyć wyrażenia: [\w \.]
Zapis klas znaków w notacji POSIX [:<class name>:]
nie jest obecnie obsługiwany przez Kate.
Następujące znaki mają specjalne znaczenie wewnątrz definicji klasy znaków „[]”. Muszą one być zapisane w postaci sekwencji specjalnej, jeżeli użytkownik chce je umieścić jako element klasy:
]
Znak kończący definicję klasy znaków. Musi być zapisany w postaci sekwencji specjalnej, jeżeli nie jest pierwszym znakiem klasy (może nastąpić po daszku ^ tzn. negacji klasy).
^
(daszek)Oznacza negację klasy w przypadku, jeżeli jest na pierwszym miejscu jej definicji. Musi być zapisany w postaci sekwencji specjalnej w przypadku występowania jako pierwszy znak klasy.
-
(minus)Oznacza zakres znaków w klasie. Zawsze musi być zapisany w postaci sekwencji specjalnej.
\
(odwrotny ukośnik)Występuje tylko pod postacią sekwencji specjalnej.
Jeżeli konieczne jest dopasowanie wyrażenia do jednego ze zbioru kilku alternatywnych wzorców, to należy je zapisać rozdzielając znakiem |
(pionowej kreski).
Na przykład w celu odszukania w tekście słów „John” lub „Harry” należy użyć wyrażenia John|Harry
.
Podwzorce, czyli wzorce zamknięte w nawiasach okrągłych, wykorzystywane są w wielu sytuacjach przy tworzeniu wyrażeń regularnych.
Można skorzystać z podwzorców do grupowania zbioru wzorców alternatywnych, składających się na inny wzorzec. Wzorce alternatywne rozdzielane są znakiem „|” (pionowej kreski).
Na przykład aby wyszukać jeden z trzech wyrazów: „int”, „float” lub „double” można użyć wzorca int|float|double
. Jeżeli dodatkowo po każdym z tych wyrazów ma występować spacja i pewna liczba innych znaków to należy to wyrażenie zapisać jako podwzorzec w nawiasach okrągłych: (int|float|double)\s+\w+
.
Wykorzystanie odwołań zwrotnych wymaga użycia podwzorca dla określenia części wzorca, którą system wyrażeń regularnych powinien przechwycić.
Przykładowo, jeżeli poszukiwane są dwa następujące po przecinku (i ew. spacji) powtórzenia tego samego słowa, to wyrażenie będzie miało postać (\w+),\s*\1
. Podwzorzec \w+
pasuje do zbitki liter lub cyfr zaś całe wyrażenie będzie dopasowane, jeżeli po tym podwzorcu wystąpi przecinek (spacja - 0 lub więcej), a następnie identyczna zbitka liter lub cyfr (zapis \1
odwołuje się do przechwyconego pierwszego zapisanego w nawiasach podwzorca wyrażenia).
Zakotwiczenie w przód to podwzorzec rozpoczynający się od znaków ?=
lub ?!
.
Na przykład, aby dopasować napis „Bill”, ale tylko wtedy, gdy nie następuje po nim napis „ Gates”, można użyć wyrażenia: Bill(?! Gates)
. Pasuje ono do napisów „Bill Clinton” oraz „Billy the kid”, ale ignoruje inne wystąpienia.
Podwzorce wykorzystane przy zakotwiczeniach nie są przechwytywane.
Więcej informacji w sekcji Zakotwiczenia
Następujące znaki mają specjalne znaczenie wewnątrz definicji wzorca. Muszą one być zapisane w postaci sekwencji specjalnej w przypadku ich wyszukiwania w tekście:
\
(odwrotny ukośnik)Odwrotny ukośnik.
^
(daszek)Zakotwiczenie do początku tekstu.
$
Zakotwiczenie do końca tekstu.
()
(lewy i prawy nawias)Oznaczenie podwzorca.
{}
(lewy i prawy nawias klamrowy)Oznaczenie kwantyfikatora.
[]
(lewy i prawy nawias kwadratowy)Oznaczenie klasy znaków.
|
(pionowa kreska)Logiczne LUB. Rozdziela wzorce alternatywne.
+
(znak plusa)Kwantyfikator, oznacza: "1 lub więcej" wystąpień.
*
(gwiazdka)Kwantyfikator, oznacza: "0 lub więcej" wystąpień.
?
(znak zapytania)Oznacza opcjonalność wzorca. Może być interpretowany jako kwantyfikator: 0 lub 1.
Kwantyfikatory umożliwiają definiowanie wyrażeń regularnych, które dopasowują się do określonej liczby (zakresu) znaków, wzorców lub klas znaków.
Kwantyfikatory zapisywane są w nawiasach klamrowych ({
oraz }
) i mają postać: {[minimalna liczba wystąpień][,[maksymalna liczba wystąpień]]}
Wykorzystanie kwantyfikatorów zaprezentowano w poniższych przykładach:
{1}
Dokładnie jedno wystąpienie
{0,1}
Brak wystąpienia lub jedno wystąpienie
{,1}
To co powyżej ale mniej pisania ;-)
{5,10}
Co najmniej 5, ale nie więcej niż 10 wystąpień.
{5,}
Co najmniej 5 wystąpień (brak górnego ograniczenia).
Dodatkowo możliwe jest wykorzystanie kilku skrótów:
*
(gwiazdka)podobnie jak {0,}
, wyszukuje dowolną liczbę wystąpień.
+
(znak plusa)podobnie jak {1,}
, wyszukuje co najmniej jedno wystąpienie.
?
(znak zapytania)podobnie jak {0,1}
, dopasowuje brak lub dokładnie jedno wystąpienie.
Jeżeli kwantyfikatory nie mają określonej maksymalnej liczby wystąpień, to wyrażenie jest dopasowywane do maksymalnej możliwej liczby wyszukiwanych wzorców. Zachowanie takie nazywane jest zachłannością kwantyfikatorów.
Współczesne oprogramowanie obsługujące wyrażenia regularne pozwala na „wyłączenie zachłanności”. W środowisku graficznym możliwość ta może być dostępna albo nie. Przykładowo, w oknie wyszukiwania pozwalającym na użycie wyrażeń regularnych, może znaleźć się pole wyboru o nazwie: „Minimalne dopasowanie”. Powinna też znaleźć się tam informacja, iż zachłanność jest zachowaniem domyślnym dla wyrażeń regularnych.
Poniżej znajduje się kilka przykładów użycia kwantyfikatorów
^\d{4,5}\s
Pasuje do cyfr napisu „1234 go” oraz „12345 now” ale nie pasuje do napisów „567 eleven” albo „223459 somewhere”
\s+
Pasuje do jednej lub więcej spacji lub innych tzw. białych znaków
(bla){1,}
Pasuje do wszystkich „blablabla” oraz „bla” w słowach „blackbird” lub „tabla”
/?>
Pasuje do „/>” w „<closeditem/>” jak również do „>” w „<openitem>”.
Zakotwiczenia pozwalają dopasowywać wzorce wyrażenia regularnego tylko wtedy, gdy spełnione są określone warunki.
Zakotwiczenie nie musi określać żadnego znaku do dopasowania. Bada ono raczej otoczenie potencjalnego dopasowania przed jego zatwierdzeniem. Na przykład zakotwiczenie granica słowa nie działa na zasadzie wyszukiwania znaków nie pasujących do słowa, ale zamiast tego sprawdza, czy kolejny znak nie jest znakim składającym się na słowo. Oznacza to, iż zakotwiczenie może zostać dopasowane tam, gdzie nie ma żadnego znaku (np. na końcu przeszukiwanego napisu).
Część zakotwiczeń właściwie nie posiada wzorca dopasowania, lecz zamiast tego wskazują część napisu nie stanowiącą rezultatu dopasowania całego wyrażenia.
Wyrażenia regularne opisane w tej dokumentacji pozwalają na użycie następujących zakotwiczeń:
^
(daszek: początek tekstu)Określa początek przeszukiwanego tekstu.
Wyrażenie ^Peter
spowoduje dopasowanie wzorca „Peter” dla tekstu „Peter, hey!” ale już nie dla tekstu: „Hey, Peter!”
$
(koniec tekstu)Określa koniec przeszukiwanego tekstu.
Wyrażenie you\?$
będzie dopasowane do ostatniego "you" w tekście „You didn't do that, did you?”, ale już nie dla tekstu: „You didn't do that, right?”
\b
(granica słowa)Określa sytuację gdy po jednej stronie jest element słowa, a po drugiej inny znak (nie będący elementem słowa).
Funkcja przydatna do wykrywania końca słów. Jej użycie po dwóch stronach wzorca spowoduje dopasowanie tylko całych wyrazów. Wyrażenie \bin\b
będzie dopasowane do „in” w tekście „He came in through the window”, ale nie do napisu „in” w słowie „window”.
\B
(przeciwieństwo granicy słowa)Dopasowuje wzorzec wszędzie tam, gdzie „\b” nie spowoduje dopasowania.
Oznacza to, iż będą wyszukiwane wzorce znajdujące się np. wewnątrz dłuższych wyrazów. Wyrażenie \Bin\B
będzie dopasowane do "in" w słowie „window”, ale już nie do "in" w wyrazie „integer”, czy też napisie „I'm in love”.
(?=PATTERN)
(Zakotwiczenie w przód)Zakotwiczenie w przód analizuje część napisu następującą po potencjalnym dopasowaniu. Zakotwiczenie w przód nie spowoduje dopasowania wzorca, jeżeli tekst następujący po nim nie pasuje do PATTERN (wzorca) zakotwiczenia. Należy podkreślić iż tekst, który pasuje do wzorca zakotwiczenia, nie będzie częścią rezultatu wyszukiwania.
Wyrażenie handy(?=\w)
dopasowane będzie do „handy” w słowie „handyman” ale już nie do napisu: „That came in handy!”
(?!PATTERN)
(Negacja zakotwiczenia w przód)Zanegowane zakotwiczenie w przód nie dopuści dopasowania wzorca, jeżeli tekst następujący po nim pasuje do PATTERN (wzorca) zakotwiczenia.
Wyrażenie const \w+\b(?!\s*&)
pasuje do tekstu „const char” w napisie „const char* foo” ale już nie będzie pasować do „const QString” w „const QString& bar” ponieważ znak „&” pasuje do negacji zakotwiczenia w przód.
Ten program jest częścią projektu KDE (http://www.kde.org/).
Ten program znajduje się w pakiecie kdebase na ftp://ftp.kde.org/pub/kde/, głównym serwerze FTP projektu KDE.
Aby skompilować i zainstalować ten program w Twoim systemie, uruchom następujące polecenia w katalogu głównym dystrybucji programu:
%
./configure
%
make
%
make install
Ponieważ ten program używa autoconf i automake, nie powinno być problemów ze skompilowaniem go. Jeśli napotkasz problemy, proszę je zgłosić na listach e-mailowych KDE.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team