LESSKEY(1) General Commands Manual LESSKEY(1) NAZWA lesskey - dostosowuje przypisanie klawiszy programu less SKLADNIA (przestarzala) lesskey [-o wyjscie] [--] [wejscie] lesskey [--output=wyjscie] [--] [wejscie] lesskey -V lesskey --version ZAKRES Niniejszy dokument opisuje format pliku zrodlowego lesskey, ktory jest uzywany przez less w wersji 582 i pozniejszych. W poprzednich wersjach less, do skompilowania pliku zrodlowego lesskey, do formatu zrozumialego dla less, sluzyl oddzielny program zwany lesskey. Obecnie krok kompilacji jest zbedny, dlatego program lesskey jest uwazany za przestarzaly, choc format pliku pozostaje obslugiwany, tyle ze przez sam program less. OPIS Plik lesskey opisuje zestaw przypisan klawiszy i zmiennych srodowiskowych, ktore beda uzywane w kolejnych wywolaniach less. FORMAT PLIKU Plik wejsciowy sklada sie z jednej lub wiecej sekcji. Kazda sekcja zaczyna sie od wiersza identyfikujacego jej typ. Mozliwymi sekcjami sa: #command Dostosowuje przypisanie klawiszy dla polecenia #line-edit Dostosowuje przypisania klawiszy edycji wiersza. #env Definiuje zmienne srodowiska. Wiersze puste i rozpoczynajace sie od znaku krzyzyka (#) sa ignorowane, chyba ze ponizej zaznaczono inaczej. SEKCJA KOMEND Sekcja komend rozpoczyna sie od wiersza #command Jezeli sekcja komend jest pierwsza sekcja w pliku, to wiersz ten moze zostac pominiety. Sekcja komend sklada sie z wierszy o postaci: lancuch akcja [dodatkowy-lancuch] Bialy znak jest dowolnym ciagiem jednego lub wiecej znakow spacji i/lub tabulacji. lancuch jest klawiszem (klawiszami) wywolujacym dana akcje. lancuch moze byc pojedynczym klawiszem komendy lub sekwencja co najwyzej 15 klawiszy. akcja jest nazwa akcji less, z ponizej podanej listy. Znaki lancucha moga wystepowac doslownie albo byc poprzedzone znakiem daszku (^) wskazujacym na klawisz sterujacy (zlozenie z Ctrl). Do zapisu znaku poprzez jego wartosc osemkowa mozna posluzyc sie znakiem odwrotnego ukosnika (backslash) i jedna do trzech cyfr osemkowych. Odwrotny ukosnik w polaczeniu z pewnymi znakami okresla nastepujace znaki wejsciowe: \b BACKSPACE (0x08) \e ESCAPE (0x1B) \n NOWY WIERSZ (0x0A) \r RETURN (0x0D) \t TABULATOR (0x09) \k, po ktorym nastepuje pojedynczy znak reprezentujacy znak(i) generowany po wcisnieciu jednego z tych klawiszy: \kb BACKSPACE (klawisz BACKSPACE) \kB ctrl-BACKSPACE \kd STRZALKA_W_DOL \kD PAGE DOWN (strona w dol) \ke END \kh HOME \ki INSERT \kl STRZALKA_W_LEWO \kL ctrl-STRZALKA_W_LEWO \kr STRZALKA_W_PRAWO \kR ctrl-STRZALKA_W_PRAWO \kt BACKTAB (odwrotny tabulator) \ku STRZALKA_W_GORE \kU PAGE UP (strona w gore) \kx DELETE \kX ctrl-DELETE \k1 F1 Odwrotny ukosnik poprzedzajacy dowolny inny znak oznacza, ze znak ten powinien zostac potraktowany doslownie. Wsrod znakow, ktore musza byc poprzedzone odwrotnym ukosnikiem wystepuja daszek (^), spacja, znak tabulacji, krzyzyk (#) i sam odwrotny ukosnik. Po akcji moze wystapic dodatkowy lancuch. Jesli wprowadzona zostanie taka komenda podczas pracy z less, to wykonywana jest akcja, a nastepnie analizowany jest podany dodatkowy lancuch, tak jak gdyby zostal on nacisniety (wpisany do less). Wlasciwosc ta moze posluzyc w pewnych przypadkach do poszerzenia funkcjonalnosci komendy. Prosze sprawdzic komendy ,,{" i ,,:t" w przykladzie ponizej. Dla akcji ,,quit" dodatkowy lancuch ma znaczenie specjalne: gdy less konczy prace, wartosc ASCII pierwszego znaku tego dodatkowego lancucha uzywana jest jako status zakonczenia. PRZYKLAD Ponizszy plik wejsciowy opisuje zestaw domyslnych klawiszy komend uzywany przez less. Dokumentacja kazdego polecenia jest dostepna w podreczniku systemowym less, przy opisie danej sekwencji klawiszy wywolujacej polecenie. #command \r forw-line \n forw-line e forw-line j forw-line \kd forw-line ^E forw-line ^N forw-line k back-line y back-line ^Y back-line ^K back-line ^P back-line J forw-line-force K back-line-force Y back-line-force d forw-scroll ^D forw-scroll u back-scroll ^U back-scroll \40 forw-screen f forw-screen ^F forw-screen ^V forw-screen \kD forw-screen b back-screen ^B back-screen \ev back-screen \kU back-screen z forw-window w back-window \e\40 forw-screen-force F forw-forever \eF forw-until-hilite R repaint-flush r repaint ^R repaint ^L repaint \eu undo-hilite \eU clear-search g goto-line \kh goto-line < goto-line \e< goto-line p percent % percent \e( left-scroll \e) right-scroll \kl left-scroll \kr right-scroll \e{ no-scroll \e} end-scroll { forw-bracket {} } back-bracket {} ( forw-bracket () ) back-bracket () [ forw-bracket [] ] back-bracket [] \e^F forw-bracket \e^B back-bracket G goto-end \e> goto-end > goto-end \ke goto-end \eG goto-end-buffered = status ^G status :f status / forw-search ? back-search \e/ forw-search * \e? back-search * n repeat-search \en repeat-search-all N reverse-search \eN reverse-search-all ^O^N osc8-forw-search ^On osc8-forw-search ^O^P osc8-back-search ^Op osc8-back-search ^O^O osc8-open & filter m set-mark M set-mark-bottom \em clear-mark ' goto-mark ^X^X goto-mark E examine :e examine ^X^V examine :n next-file :p prev-file t next-tag T prev-tag :x index-file :d remove-file - toggle-option :t toggle-option t s toggle-option o ## Aby uzyc dlugiej opcji, nalezy rozpoczac ## dodatkowy lancuch JEDNA kreska np.: ## s toggle-option -log-file\n _ display-option | pipe v visual ! shell # pshell + firstcmd H help h help V version 0 digit 1 digit 2 digit 3 digit 4 digit 5 digit 6 digit 7 digit 8 digit 9 digit q quit Q quit :q quit :Q quit ZZ quit PRIORYTET Komendy okreslone przez lesskey maja pierwszenstwo przed komendami domyslnymi. Domyslny klawisz komendy moze zostac wylaczony przez zawarcie go w pliku wejsciowym z przypisana akcja ,,invalid" (niepoprawny). Alternatywnie, mozna zdefiniowac, by klawisz nie robil niczego, przypisujac mu akcje ,,noaction" (bez akcji). ,,noaction" jest podobne do ,,invalid", lecz less bedzie sygnalizowal dzwiekiem blad dla ,,niepoprawnej" komendy, czego nie czyni dla komendy ,,bez akcji". Dodatkowo, mozna wylaczyc WSZYSTKIE domyslne komendy wlaczajac do pliku wejsciowego taki wiersz sterujacy: #stop Spowoduje to, ze wszystkie komendy domyslne beda ignorowane. Wiersz #stop powinien byc ostatnim wierszem w tej sekcji pliku. Nalezy byc swiadomym tego, ze #stop moze byc niebezpieczne. Poniewaz wylaczone sa wszystkie domyslne komendy, nalezy zapewnic wystarczajacy zestaw komend przed wierszem #stop, tak by udostepnic wszelkie niezbedne akcje. Na przyklad, zaniedbanie dostarczenia komendy ,,quit" moze prowadzic do frustracji. SEKCJA EDYCJI WIERSZA Sekcja edycji wiersza rozpoczyna sie wierszem: #line-edit Sekcja ta okresla nowe przypisania klawiszy dla komend edycji wiersza, w sposob podobny do przypisan klawiszy do zwyklych komend w sekcji #command. Sekcja edycji wiersza sklada sie z listy klawiszy i akcji, po jednej parze na wiersz, tak jak w przykladzie ponizej. PRZYKLAD Ponizszy plik wejsciowy opisuje zestaw domyslnych klawiszy edycji wiersza uzywany przez less: #line-edit \t forw-complete \17 back-complete \e\t back-complete ^L expand ^V literal ^A literal \el right \kr right \eh left \kl left \eb word-left \e\kl word-left \ew word-right \e\kr word-right \ei insert \ex delete \kx delete \eX word-delete \ekx word-delete \e\b word-backspace \e0 home \kh home \e$ end \ke end \ek up \ku up \ej down ^G abort ZMIENNE SRODOWISKA LESS Sekcja zmiennych srodowiska rozpoczyna sie wierszem #env Po nim wystepuje lista przypisan wartosci dla zmiennych srodowiskowych. Kazdy wiersz sklada sie z nazwy zmiennej srodowiska, znaku rownosci (=) oraz wartosci, jaka ma zostac przypisana tej zmiennej. Zmienne przypisane w ten sposob widoczne sa wylacznie dla less. Jezeli dana zmienna okreslona jest w srodowisku systemowym i rownoczesnie w pliku lesskey, to pierwszenstwo ma jej wartosc z pliku lesskey. Jesli po nazwie zmiennej wystapi += zamiast =, lancuch jest doklejany do istniejacej wartosci zmiennej. Dziala to obecnie jedynie, gdy wiersze += wystepuja natychmiast po pierwotnej definicji danej zmiennej (za pomoca wiersza z =), bez przeplatania ich definicjami innych zmiennych. Doklejac mozna tylko do zmiennej zdefiniowanej wczesniej w pliku; nie da sie tego zrobic w stosunku do zmiennej ze srodowiska systemowego. Lancuch jest doklejany literalnie, bez dodawania zadnego bialego znaku, zatem jesli jest on oczekiwany, nalezy go dodac na koncu poprzedzajacego wiersza (nie mozna go dodac na poczatku lancucha +=, poniewaz spacja po znaku rownosci jest ignorowana, jak wskazano powyzej). W lancuchu po znaku =, podlancuch w postaci ${NAZWA} jest zastepowany wartoscia zmiennej srodowiskowej ,,NAZWA". Wartosc zmiennej moze pochodzic z: srodowiska systemu, wczesniejszego pliku lesskey albo wczesniejszej definicji w biezacym pliku lesskey. Proste zastepowanie tekstowe mozna wykonac za pomoca skladni ${NAZWA/LANCUCH/ZASTEPNIK}. W ten sposob zastapione zostana wszystkie wystapienia ,,LANCUCHA", w danej zmiennej srodowiskowej, tekstem ,,ZASTEPNIK". LANCUCH jest dopasowywany za pomoca prostego porownania tekstu; nie sa obslugiwane metaznaki. Wystapienie ukosnika lub prawego nawiasu klamrowego w LANCUCHU lub ZASTEPNIKU musza zostac zacytowane za pomoca dwoch odwrotnych ukosnikow. Jesli ZASTEPNIK jest lancuchem pustym, wszystkie wystapienia LANCUCHA sa usuwane. Ukosnik wystepujacy bezposrednio przed prawym nawiasem klamrowym mozna pominac. Zastapienia wielokrotne mozna wykonac za pomoca skladni ${NAZWA/LANCUCH1/ZASTEPNIK1/LANCUCH2/ZASTEPNIK2} itd. KONFIGURACJA WARUNKOWA Jesli wiersza zaczyna sie od: #version po ktorym nastepuje operator i numer wersji, pozostala czesc wiersza jest przetwarzana wtedy i tylko wtedy, gdy dzialajaca wersja less (lub lesskey) zostanie dopasowana przez operator. Moze byc to uzyteczne, gdy z danego pliku lesskey korzystaja rozne wersje programu less. Przyjmijmy na przyklad, ze w wersji 777 programu less dodano polecenie o nazwie 'sideways-search'. Ponizszy wiersz przypisalby polecenie do klawisza Q, ale tylko w wersjach less ktore to obsluguja. Wiersz zostalby zignorowany przez wersje wczesniejsze niz 777. #version >= 777 Q sideways-search Obslugiwane jest szesc ponizszych operatorow: > Wieksze niz < Mniejsze niz >= Wieksze lub rowne <= Mniejsze lub rowne = Rowne != Rozne od Funkcja #version nie jest obslugiwana w programach less i lesskey przed wersja 594. W tych starszych wersjach, ignorowane sa wszystkie wiersze #version. PRZYKLAD Ponizszy plik wejsciowy ustawia opcje -i i -S gdy dziala less oraz, w wersji 595 lub wyzszej, dodaje opcje --color. #env ## (Prosze zauwazyc, ze na koncu nastepnego wiersza musi byc ## spacja, aby oddzielic opcje --color od opcji -S.) LESS = -i -S #version >= 595 LESS += --color=Hkc ZOBACZ TAKZE less(1) OSTRZEZENIA W systemach MS-DOS i OS/2 pewne klawisze wysylaja sekwencje rozpoczynajace sie od znaku NUL (0). Taki znak NUL w pliku lesskey powinien byc reprezentowany przez \340. PRAWA AUTORSKIE Copyright (C) 1984-2024 Mark Nudelman less jest czescia projektu GNU i stanowi wolne oprogramowanie. Mozna go rozprowadzac dalej i/lub modyfikowac na warunkach albo (1) Powszechnej Licencji Publicznej GNU, wydanej przez Fundacje Wolnego Oprogramowania, albo (2) Licencji Less. Szczegoly dotyczace rozprowadzania znajduja sie w pliku README pakietu dystrybucyjnego less. Wraz z less powinienes otrzymac egzemplarz Powszechnej Licencji Publicznej GNU (GNU General Public License) - zobacz plik COPYING. Jesli nie - napisz do Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Powinienes takze otrzymac kopie Licencji Less - zobacz plik LICENSE. less rozpowszechniany jest z nadzieja, iz bedzie uzyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyslnej gwarancji PRZYDATNOSCI HANDLOWEJ albo PRZYDATNOSCI DO OKRESLONYCH ZASTOSOWAN. W celu uzyskania blizszych informacji siegnij do Powszechnej Licencji Publicznej GNU. AUTOR Mark Nudelman Bledy prosimy zglaszac pod adresem https://github.com/gwsw/less/issues TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Wojtek Kotwica , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Version 661: 29 Jun 2024 LESSKEY(1)