LESSKEY(1)

NAZWA
lesskey - określ przypisanie klawiszy dla less

SKŁADNIA
lesskey [-o output] [--] [input]
lesskey [--output=output] [--] [input]
lesskey -V
lesskey --version

OPIS
Lesskey służy do przypisanie zastawu klawiszy, jakie będą używane przez less. Tekstowy plik wejściowy input opisuje przypisania klawiszy. Jeśli jako nazwę tego pliku podano "-", to odczytywane jest standardowe wejście. Jeżeli nie podano pliku wejściowego, to zostanie wzięta standardowa nazwa pliku wejścia, zależna o używanego systemu: na systemach Unixowych jest to $HOME/.lesskey; na systemach MS-DOS jest to $HOME/_lesskey; na systemach OS/2 jest to $HOME/lesskey.ini, lub $INIT/lesskey.ini, jeśli nie zdefiniowano $HOME. Plik wyjściowy (wynikowy) output jest plikiem binarnym, którym posługuje się less. Jeżeli nie podano pliku wyjściowego, a określona jest zmienna środowiskowa LESSKEY, to jej wartość jest używana jako nazwa pliku wynikowego. W przeciwnym wypadku zostanie wzięta standardowa nazwa pliku wyjścia, zależna od używanego systemu: na systemach Unixowych oraz OS-9 jest to $HOME/.less; na systemach MS-DOS jest to $HOME/_less; zaś na systemach OS/2 jest to $HOME/less.ini, lub $INIT/less.ini, jeśli nie zdefiniowano $HOME. Jeżeli plik wynikowy już istnieje, to lesskey nadpisze go.

Opcja -V lub --version powoduje, że lesskey wyświetla swój numer wersji i natychmiast kończy działanie. Jeśli wystąpi opcja -V lub --version, to inne opcje i argumenty są ignorowane.

Plik wejściowy składa się z jednej lub więcej sekcji sekcji. Każda sekcja zaczyna się od wiersza identyfikującego jej typ. Możliwymi sekcjami są:

#command
    Definiuje nowe klawisze komend.

#line-edit
    Definiuje nowe klawisze edycji wiersza.

#env
    Definiuje zmienne środowiska.

Wiersze puste i rozpoczynające się od znaku krzyżyka (#) są ignorowane, z wyjątkiem specjalnych wierszy nagłówkowych sekcji.

SEKCJA KOMEND
Sekcja komend rozpoczyna się od wiersza

#command

Jeżeli sekcja komend jest pierwszą sekcją w pliku, to wiersz ten może zostać pominięty. Sekcja komend składa się z wierszy o postaci:

    łańcuch <białaspacja> akcja [extra-łańcuch] <newline>

Biała spacja jest dowolnym ciągiem jednego lub więcej znaków spacji i/lub tabulacji. łańcuch jest klawiszem (klawiszami) wywołującym daną akcję. łańcuch może być pojedynczym klawiszem komendy lub sekwencją co najwyżej 15 klawiszy. akcja jest nazwą akcji less, z poniżej podanej listy. Znaki łańcucha mogą występować dosłownie albo być poprzedzone znakiem daszku (^) wskazującym na klawisz sterujący (złożenie z Ctrl). Do zapisu znaku poprzez jego wartość ósemkową można posłużyć się znakiem odwrotnego ukośnika (backslash " trzech cyfr ósemkowych. Odwrotny ukośnik w połączeniu z pewnymi znakami określa następujące znaki wejściowe:

\b  BACKSPACE

\e  ESCAPE

\n  NEWLINE (znak nowej linii)

\r  RETURN (powrót karetki)

\t  TAB (znak tabulacji)

\ku UP ARROW (strzałka w górę)

\kd DOWN ARROW (strzałka w dół)

\kr RIGHT ARROW (strzałka w prawo)

\kl LEFT ARROW (strzałka w lewo)

\kU PAGE UP (strona w górę)

\kD PAGE DOWN (strona w dół)

\kh HOME

\ke END

\kx DELETE

Odwrotny ukośnik poprzedzający dowolny inny znak oznacza, że znak ten powinien zostać potraktowany dosłownie. Wśród znaków, które muszą być poprzedzone odwrotnym ukośnikiem występują daszek (^), spacja, znak tabulacji i sam odwrotny ukośnik.

Po akcji może wystąpić "dodatkowy" (extra) łańcuch. Jeśli wprowadzona zostanie taka komenda podczas pracy z less, to wykonywana jest akcja, a następnie analizowany jest podany dodatkowy łańcuch, tak jak gdyby został on naciśnięty (wpisany do less). Właściwość ta może posłużyć w pewnych przypadkach do poszerzenia funkcjonalności komendy. Obejrzyj komendy "{" i ":t" w przykładzie poniżej. Dla akcji "quit" dodatkowy łańcuch ma znaczenie specjalne: gdy less kończy pracę, pierwszy znak tego dodatkowego łańcucha używany jest jako kod zakończenia (exit status).

  PRZYKŁAD
Poniższy plik wejściowy opisuje zestaw domyślnych klawiszy komend używany przez less:

	#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
	R		repaint-flush
	r		repaint
	^R		repaint
	^L		repaint
	\eu		undo-hilite
	g		goto-line
	\kh	goto-line
	<		goto-line
	\e<		goto-line
	p		percent
	%		percent
	\e[		left-scroll
	\e]		right-scroll
	\e(		left-scroll
	\e)		right-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
	=		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
	m		set-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
	_		display-option
	|		pipe
	v		visual
	!		shell
	+		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 określone przez lesskey mają pierwszeństwo przed komendami domyślnymi. Domyślny klawisz komendy może zostać wyłączony przez zawarcie go w pliku wejściowym z przypisaną akcją "invalid" (niepoprawny). Alternatywnie, można zdefiniować, by klawisz nie robić niczego, przypisując mu akcję "noaction" (bez akcji). "noaction" jest podobne do "invalid", lecz less będzie sygnalizował dźwiękiem błąd dla "niepoprawnej" komendy, czego nie czyni dla komendy "bez akcji". Dodatkowo, można wyłączyć WSZYSTKIE domyślne komendy włączając do pliku wejściowego taką linię sterującą:

#stop

Spowoduje to, że wszystkie komendy domyślne będą ignorowane. Wiersz #stop powinien być ostatnim wierszem w tej sekcji pliku.

Bądź świadom tego, że #stop może być niebezpieczne. Ponieważ wyłączone są wszystkie domyślne komendy, musisz zapewnić wystarczający zestaw komend przed wierszem #stop, tak by udostępnić wszelkie niezbędne akcje. Na przykład, zaniedbanie dostarczenia komendy "quit" może prowadzić do frustracji.

SEKCJA EDYCJI WIERSZA
Sekcja edycji wiersza rozpoczyna się wierszem:

#line-edit

Sekcja ta określa nowe przypisania klawiszy dla komend edycji wiersza, w sposób podobny do przypisań klawiszy do zwykłych komend w sekcji #command. Sekcja edycji wiersza składa się z listy klawiszy i akcji, po jednej parze na wiersz, tak jak w przykładzie poniżej.

  PRZYKŁAD
Poniższy plik wejściowy opisuje zestaw domyślnych klawiszy edycji wiersza używany 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

ZMIENNE ŚRODOWISKA LESS
Sekcja zmiennych środowiska rozpoczyna się wierszem

#env

Po nim występuje lista przypisań wartości dla zmiennych środowiskowych. Każdy wiersz składa się z nazwy zmiennej środowiska, znaku równości (=) oraz wartości, jaka ma zostać przypisana tej zmiennej. Zmienne przypisane w ten sposób widoczne są wyłącznie dla less. Jeżeli dana zmienna określona jest w środowisku systemowym i równocześnie w pliku lesskey, to pierwszeństwo ma jej wartość z pliku lesskey. Mimo, że plik lesskey może służyć do nadpisywania zestawu zmiennych ze środowiska systemu, to głównym celem nadawania wartości zmiennym w lesskey jest po prostu przechowywanie całej informacji konfiguracyjnej dla less w jednym pliku.

  PRZYKŁAD
Poniższy plik wejściowy ustawia opcję -i podczas uruchamiania less oraz podaje, że używanym zestawem znaków ma być "latin1"
[od tłum.: ustawienie "latin1" jest niezbędne dla prawidłowej obsługi polskich znaków]:

	#env
	LESS = -i
	LESSCHARSET = latin1

ZOBACZ TAKŻE
less(1).

OSTRZEŻENIA
Określenie klawiszy specjalnych, takich jak strzałka w górę, w sposób niezależny od klawiatury jest niemożliwe. Jedyną metodą określenia takich klawiszy jest podanie sekwencji specjalnej, jaką wysyła konkretna klawiatura przy naciśnięciu żądanego klawisza.

W systemach MS-DOS i OS/2 pewne klawisze wysyłają sekwencje rozpoczynające się od znaku NUL (0). Taki znak NUL w pliku lesskey powinien być reprezentowany przez \340.

COPYRIGHT
Copyright (c) 2000 Mark Nudelman

lesskey jest częścią projektu GNU i stanowi wolne oprogramowanie. Możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2 tej Licencji lub (według twojego wyboru) którejś z późniejszych wersji.

lesskey rozpowszechniany jest z nadzieją, iż będzie użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania bliższych informacji sięgnij do Powszechnej Licencji Publicznej GNU.

Wraz z lesskey powinieneś otrzymać egzemplarz Powszechnej Licencji Publicznej GNU (GNU General Public License) - zobacz plik COPYING. Jeśli nie - napisz do Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

AUTOR

Mark Nudelman <markn@greenwoodsoftware.com>
Zgłoszenia błędów lub komentarze proszę przesyłać na powyższy adres albo do bug-less@gnu.org.