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 przypisania zestawu klawiszy, które 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 uniksowych 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 uniksowych oraz OS-9 jest to $HOME/.less, na systemach MS-DOS jest to $HOME/_less, a 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 |
||||
\eF |
forw-until-hilite |
||||
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 |
||||
\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 |
||||
& |
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 |
||||
_ |
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 | |||
^G |
abort |
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"
#env | |
LESS = -i | |
LESSCHARSET = latin1 |
ZOBACZ TAKŻE
OSTRZEŻENIA
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.
PRAWA AUTORSKIE
Copyright (C) 1984-2019 Mark Nudelman
less jest częścią projektu GNU i stanowi wolne oprogramowanie. Można go rozprowadzać dalej i/lub modyfikować na warunkach albo (1) Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania, albo (2) Licencji Less. Szczegóły dotyczące rozprowadzania znajdują się w pliku README pakietu dystrybucyjnego less. Wraz z less 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. Powinieneś także otrzymać kopię Licencji Less - zobacz plik LICENSE.
less 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.
AUTOR
Mark Nudelman
Zgłoszenia błędów lub komentarze
prosimy przesyłać pod adresem
<bug-less [AT] gnu.org>.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica [AT] post.pl> i Robert Luberda <robert [AT] debian.org>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres <manpages-pl-list [AT] lists.net>.