<para>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.</para>
<para>Paski przewijania pozwalają na przesuwanie widocznego obszaru dokumentu. Przesuwanie dokumentu za pomocą pasków przewijania nie powoduje zmiany bieżącej pozycji kursora.</para>
<para>Paski przewijania są wyświetlane i ukrywane w zależności od potrzeb.</para>
<para>Pasek ikon jest wąskim obszarem po lewej stronie obszaru edycji wyświetlającym różnego rodzaju ikony obok zaznaczonych wierszy tekstu.</para>
<para>Klikając lewym przyciskiem myszy w pasku ikon można dodać lub usunąć <link linkend="kate-part-bookmarks">zakładkę</link> dla wybranego wiersza dokumentu.</para>
<para>Przełączenie wyświetlania paska ikon odbywa się poprzez menu: <menuchoice><guimenu>Widok</guimenu> <guimenuitem>Pokaż pasek ikon</guimenuitem></menuchoice>.</para>
<para>Pasek numerów wierszy wyświetla numery wszystkich widocznych wierszy dokumentu.</para>
<para>Przełączanie wyświetlania paska numerów wierszy odbywa się poprzez menu: <menuchoice><guimenu>Widok</guimenu> <guimenuitem>Pokaż numery wierszy</guimenuitem></menuchoice>.</para>
<para>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.</para>
<para>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, <keycap>Page Up</keycap>, <keycap>Page Down</keycap>, <keycap>Home</keycap>, <keycap>End</keycap> oraz ich kombinacje z klawiszami <keycap>Ctrl</keycap> oraz <keycap>Shift</keycap>. Klawisz <keycap>Shift</keycap> stosowany jest do zaznaczania tekstu zaś klawisz <keycap>Ctrl</keycap> w różny sposób modyfikuje sposób działania pozostałych klawiszy: <itemizedlist>
<listitem><para>W połączeniu z klawiszami strzałek <keycap>w górę</keycap> i <keycap>w dół</keycap> powoduje przesuwanie zawartości okna zamiast przesuwania kursora.</para></listitem>
<listitem><para>Użycie <keycap>Ctrl</keycap> z klawiszami strzałek <keycap>w lewo</keycap> oraz <keycap>w prawo</keycap> będzie powodowało przesuwanie kursora o całe wyrazy, a nie o pojedyncze znaki.</para></listitem>
<listitem><para>Dla klawiszy <keycap>Page Up</keycap> oraz <keycap>Page Down</keycap> 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.</para>
<listitem><para>W kombinacji z <keycap>Home</keycap> oraz <keycap>End</keycap>, <keycap>Ctrl</keycap> oznacza przesunięcie na początek lub koniec dokumentu, nie zaś na początek lub koniec wiersza.</para></listitem>
<para>Program &kate; umożliwia szybkie przemieszczanie się pomiędzy odpowiadającymi sobie parami nawiasów lub cudzysłowów. Naciśnięcie klawiszy <keycombo><keycap>Ctrl</keycap><keycap>6</keycap></keycombo> gdy kursor znajduje się obok nawiasu lub cudzysłowu spowoduje przeniesienie go do nawiasu lub cudzysłowu będącego dla niego parą.</para>
<para>Dodatkowo można skorzystać z mechanizmu <link linkend="kate-part-bookmarks">zakładek</link> w celu szybkiego przenoszenia kursora pomiędzy zdefiniowanymi wcześniej pozycjami w treści dokumentu.</para>
<para>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.</para>
<listitem><para>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.</para></listitem>
<listitem><para>Jeżeli istnieje już zaznaczenie to kliknięcie rozszerzy zaznaczenie począwszy od jego granicy do pozycji wskaźnika myszy w momencie kliknięcia.</para></listitem>
<para>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. </para>
<para>Aby zaznaczyć tekst za pomocą klawiatury, należy przytrzymać klawisz &Shift; i przesunąć kursor klawiszami strzałek, <keycap>Page Up</keycap>, <keycap>Page Down</keycap>, <keycap>Home</keycap> i <keycap>End</keycap> (działają też ich kombinacje z klawiszem &Ctrl;).</para>
<para>Więcej informacji na ten temat w sekcji <link linkend="kate-part-navigation">Nawigacja w tekście</link> niniejszego dokumentu.</para>
<para>Skopiowanie wybranego fragmentu do schowka możliwe jest za pomocą menu: <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Kopiuj</guimenuitem></menuchoice> lub skrótu klawiszowego (domyślnie jest to: <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>).</para>
<para>Usunięcie zaznaczenia dla wybranego fragmentu odbywa się za pomocą opcji menu <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Usuń zaznaczenie</guimenuitem></menuchoice>, skrótu klawiszowego (domyślnie jest to: <keycombo action="simul">&Ctrl;&Shift;<keycap>A</keycap></keycombo>) lub poprzez kliknięcie lewym przyciskiem myszy w dowolnym miejscu obszaru edycji.</para>
<para>Włączenie trybu zaznaczania bloku pozwala na <quote>zaznaczanie tekstu w pionie</quote>, 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.</para>
<para>Tryb zaznaczania bloku może być włączony w menu <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Tryb zaznaczania bloku</guimenuitem></menuchoice> lub za pomocą skrótu klawiszowego: <keycombo action="simul">&Ctrl;&Shift;<keycap>B</keycap></keycombo></para>
<para>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.</para>
<para>Zmiana tego ustawienia jest możliwa w karcie <link linkend="config-dialog-editor-cursor-selection">Kursor i zaznaczanie</link> okna dialogowego <link linkend="config-dialog">Konfiguracja &kate;</link>.</para>
<para>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.</para>
<para>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.</para>
<para>Aby skopiować fragment tekstu należy go wcześniej zaznaczyć, a następnie użyć menu <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Kopiuj</guimenuitem></menuchoice>. Niezależnie od tego polecenia, każde zaznaczenie fragmentu tekstu powoduje automatyczne skopiowanie go do schowka menedżera okien X.</para>
<para>Wklejenie tekstu ze schowka możliwe jest za pomocą polecenia menu <menuchoice> <guimenu>Edycja</guimenu><guimenuitem>Wklej</guimenuitem></menuchoice> .</para>
<para>Dodatkowo każdy fragment zaznaczony myszką może zostać wklejony w innym miejscu dokumentu za pomocą <mousebutton>środkowego</mousebutton> przycisku myszy.</para>
<para>Ś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 &kicker-dopelniacz;.</para>
<para>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.</para>
<para>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.</para>
<para>Więcej informacji na ten temat znajduje się w sekcji: <link linkend="regular-expressions"> Wyrażenia regularne</link>.</para>
<para>Jeśli wybrano tę opcję, to wyszukiwanie zacznie się od miejsca położenia kursora, w przeciwnym wypadku rozpocznie się od początku dokumentu.</para>
<para>Jeśli opcja zostanie zaznaczona, to wyszukiwanie rozpocznie się począwszy od bieżącego miejsca położenia kursora, w kierunku początku dokumentu.</para>
<para>Ta opcja jest nieaktywna jeśli brak jest zaznaczenia w bieżącym dokumencie lub opcja <guilabel>Pytaj przy zamianie</guilabel> 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.</para>
<term><guilabel>Pytaj przy zamianie</guilabel></term>
<listitem><para>Jeśli opcja zostanie włączona, to program, w przypadku znalezienia pasującego napisu, wyświetli okno zawierające następujące przyciski: <variablelist>
<para>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.</para>
<para>Aby wyszukać napis w bieżącym dokumencie należy oworzyć okno dialogowe <guilabel>Znajdź tekst</guilabel> za pomocą skrótu klawiszowego <keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo> lub wybierając z menu polecenie <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Znajdź...</guimenuitem></menuchoice>. W odpowiednim polu tego okna należy wprowadzić poszukiwany napis, ustawić ewentualnie dodatkowe <link linkend="find-replace-dialog">opcje wyszukiwania</link> zgodnie z wymaganiami, a następnie nacisnąć przycisk <guibutton>Znajdź</guibutton>. 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). </para>
<para>Znaleziony napis zostaje zaznaczony, zaś okno dialogowe <guilabel>Znajdź ...</guilabel> zostaje ukryte. Wyszukiwanie następnych wystąpień tego samego tekstu jest jednak bardzo proste:</para>
<para>Aby znaleźć kolejne dopasowanie w bieżącym kierunku wyszukiwania, należy wybrać z menu<menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Znajdź następne</guimenuitem></menuchoice> lub nacisnąć klawisz <keycap>F3</keycap>.</para>
<para>Aby wyszukać kolejne dopasowanie napisu w kierunku przeciwnym do bieżącego kierunku wyszukiwania należy wybrać z menu <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Znajdź Poprzedni</guimenuitem></menuchoice> lub nacisnąć klawisz <keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo>.</para>
<para>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. </para>
<para>Zastępowanie tekstu odbywa się z pomocą okna dialogowego <guilabel>Zastąp tekst</guilabel> uruchamianego za pomocą menu <menuchoice><guimenu>Edycja</guimenu> <guimenuitem>Zastąp...</guimenuitem></menuchoice> lub za pomocą klawiszy <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo>. 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 <link linkend="find-replace-dialog">opcji wyszukiwania</link> należy nacisnąć przycisk <guibutton>Zastąp</guibutton>.</para>
<para>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.</para>
<para>Więcej informacji na ten temat znajduje się w sekcji: <xref linkend="regular-expressions"/> .</para>
<tip><para>Dodatkowo możliwe jest wykorzystanie poleceń <command>find</command>, <command>replace</command> oraz <command>ifind</command> (wyszukiwanie przyrostowe) dostępnych w <link linkend="advanced-editing-tools-commandline">linii poleceń edytora</link>.</para>
<para>Po ustawieniu kursora w wybranym wierszu można wybrać z menu <menuchoice><guimenu>Zakładki</guimenu><guimenuitem>Ustaw zakładkę</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo>).</para>
<para>Zdefiniowane w dokumencie zakładki widoczne są w menu <guimenu>Zakładki</guimenu> 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.</para>
<para>Można szybko przenosić kursor pomiędzy zakładkami odbywa się za pomocą poleceń menu <menuchoice><guimenu>Zakładki</guimenu><guimenuitem>Następna</guimenuitem> </menuchoice> (<keycombo action="simul"><keycap>Alt</keycap> <keycap>Page Down</keycap></keycombo>) lub <menuchoice> <guimenu>Zakładki</guimenu><guimenuitem>Poprzednia</guimenuitem></menuchoice> (<keycombo action="simul"><keycap>Alt</keycap><keycap>Page Up</keycap> </keycombo>).</para>
<para>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.</para>
<para>Włączenie/wyłączenie tej opcji możliwe jest w karcie <link linkend="config-dialog-editor-edit">Edycja</link> w oknie dialogowym <link linkend="config-dialog">Konfiguracji</link>.</para>
<para>Aby ustawić liczbę znaków w wierszu po których następuje zawijanie wyrazów, należy skorzystać z opcji <link linkend="config-dialog-editor-wrap-words-at"><guibutton>Zawijaj wyrazy na...</guibutton></link> dostępnej w karcie <link linkend="config-dialog-editor-edit">Edycja</link> okna dialogowego <link linkend="config-dialog">Konfiguracja</link>.</para>
<para>Efekty działania tej funkcji są następujące: <itemizedlist>
<listitem><para>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.</para></listitem>
<listitem><para>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).</para></listitem>
<note><para>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;.</para></note>
<title>Korzystanie z funkcji automatycznych wcięć</title>
<para>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: <menuchoice><guimenu>Narzędzia</guimenu><guisubmenu>Wcięcia</guisubmenu></menuchoice>. Uzupełnieniem funkcji automatycznych wcięć jest polecenie <menuchoice><guimenu>Narzędzia</guimenu><guimenuitem>Wyrównaj</guimenuitem></menuchoice>, 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.</para>
<para>Wszystkie tryby automatycznych wcięć wykorzystują ustawienia konfiguracyjne dla bieżącego dokumentu.</para>
<tip><para>Użytkownik może określić różnorodne parametry konfiguracyjne związane z wcięciami za pomocą <link linkend="config-variables">zmiennych konfiguracyjnych pliku</link> oraz <link linkend="config-dialog-editor-filetypes">typów pliku</link>.</para></tip>
<listitem><para>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. </para></listitem>
<listitem><para>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.</para></listitem>
<listitem><para>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>))</para></listitem>
<para>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.</para>
<para>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: <variablelist>
<para>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ę.</para>
<para>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ę.</para>
<para>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").</para>