| Commit | Line | Data |
|---|---|---|
| a9adbba3 | 1 | .TH LESSKEY 1 "Version 436: 07 Jul 2009" |
| 131ccf9c PA |
2 | .SH NAME |
| 3 | lesskey \- specify key bindings for less | |
| 4 | .SH SYNOPSIS | |
| 5 | .B "lesskey [-o output] [--] [input]" | |
| 6 | .br | |
| 7 | .B "lesskey [--output=output] [--] [input]" | |
| 8 | .br | |
| 9 | .B "lesskey -V" | |
| 10 | .br | |
| 11 | .B "lesskey --version" | |
| 12 | .SH DESCRIPTION | |
| 13 | .I Lesskey | |
| 14 | is used to specify a set of key bindings to be used by | |
| 15 | .I less. | |
| 16 | The input file is a text file which describes the key bindings, | |
| 17 | If the input file is "-", standard input is read. | |
| 18 | If no input file is specified, a standard filename is used | |
| 19 | as the name of the input file, which depends on the system being used: | |
| 20 | On Unix systems, $HOME/.lesskey is used; | |
| 21 | on MS-DOS systems, $HOME/_lesskey is used; | |
| 22 | and on OS/2 systems $HOME/lesskey.ini is used, | |
| 23 | or $INIT/lesskey.ini if $HOME is undefined. | |
| 24 | The output file is a binary file which is used by | |
| 25 | .I less. | |
| 26 | If no output file is specified, | |
| 27 | and the environment variable LESSKEY is set, | |
| 28 | the value of LESSKEY is used as the name of the output file. | |
| 29 | Otherwise, a standard filename is used as the name of the output file, | |
| 30 | which depends on the system being used: | |
| 31 | On Unix and OS-9 systems, $HOME/.less is used; | |
| 32 | on MS-DOS systems, $HOME/_less is used; | |
| 33 | and on OS/2 systems, $HOME/less.ini is used, | |
| 34 | or $INIT/less.ini if $HOME is undefined. | |
| 35 | If the output file already exists, | |
| 36 | .I lesskey | |
| 37 | will overwrite it. | |
| 38 | .PP | |
| 39 | The -V or --version option causes | |
| 40 | .I lesskey | |
| 41 | to print its version number and immediately exit. | |
| 42 | If -V or --version is present, other options and arguments are ignored. | |
| 43 | .PP | |
| 44 | The input file consists of one or more | |
| 45 | .I sections. | |
| 46 | Each section starts with a line that identifies the type of section. | |
| 47 | Possible sections are: | |
| 48 | .IP #command | |
| 49 | Defines new command keys. | |
| 50 | .IP #line-edit | |
| 51 | Defines new line-editing keys. | |
| 52 | .IP #env | |
| 53 | Defines environment variables. | |
| 54 | .PP | |
| 55 | Blank lines and lines which start with a pound sign (#) are ignored, | |
| 56 | except for the special section header lines. | |
| 57 | ||
| 58 | .SH "COMMAND SECTION" | |
| 59 | The command section begins with the line | |
| 60 | .sp | |
| 61 | #command | |
| 62 | .sp | |
| 63 | If the command section is the first section in the file, | |
| 64 | this line may be omitted. | |
| 65 | The command section consists of lines of the form: | |
| 66 | .sp | |
| 67 | \fIstring\fP <whitespace> \fIaction\fP [extra-string] <newline> | |
| 68 | .sp | |
| 69 | Whitespace is any sequence of one or more spaces and/or tabs. | |
| 70 | The \fIstring\fP is the command key(s) which invoke the action. | |
| 71 | The \fIstring\fP may be a single command key, or a sequence of up to 15 keys. | |
| 72 | The \fIaction\fP is the name of the less action, from the list below. | |
| 73 | The characters in the \fIstring\fP may appear literally, or be | |
| 74 | prefixed by a caret to indicate a control key. | |
| 75 | A backslash followed by one to three octal digits may be used to | |
| 76 | specify a character by its octal value. | |
| 77 | A backslash followed by certain characters specifies input | |
| 78 | characters as follows: | |
| 79 | .IP \eb | |
| 80 | BACKSPACE | |
| 81 | .IP \ee | |
| 82 | ESCAPE | |
| 83 | .IP \en | |
| 84 | NEWLINE | |
| 85 | .IP \er | |
| 86 | RETURN | |
| 87 | .IP \et | |
| 88 | TAB | |
| 89 | .IP \eku | |
| 90 | UP ARROW | |
| 91 | .IP \ekd | |
| 92 | DOWN ARROW | |
| 93 | .IP \ekr | |
| 94 | RIGHT ARROW | |
| 95 | .IP \ekl | |
| 96 | LEFT ARROW | |
| 97 | .IP \ekU | |
| 98 | PAGE UP | |
| 99 | .IP \ekD | |
| 100 | PAGE DOWN | |
| 101 | .IP \ekh | |
| 102 | HOME | |
| 103 | .IP \eke | |
| 104 | END | |
| 105 | .IP \ekx | |
| 106 | DELETE | |
| 107 | .PP | |
| 108 | A backslash followed by any other character indicates that character is | |
| 109 | to be taken literally. | |
| 110 | Characters which must be preceded by backslash include | |
| 111 | caret, space, tab and the backslash itself. | |
| 112 | .PP | |
| 113 | An action may be followed by an "extra" string. | |
| 114 | When such a command is entered while running | |
| 115 | .I less, | |
| 116 | the action is performed, and then the extra | |
| 117 | string is parsed, just as if it were typed in to | |
| 118 | .I less. | |
| 119 | This feature can be used in certain cases to extend | |
| 120 | the functionality of a command. | |
| 121 | For example, see the "{" and ":t" commands in the example below. | |
| 122 | The extra string has a special meaning for the "quit" action: | |
| 123 | when | |
| 124 | .I less | |
| 125 | quits, first character of the extra string is used as its exit status. | |
| 126 | ||
| 127 | .SH EXAMPLE | |
| 128 | The following input file describes the set of | |
| 129 | default command keys used by less: | |
| 130 | .sp | |
| 131 | .nf | |
| 132 | #command | |
| 133 | \er forw-line | |
| 134 | \en forw-line | |
| 135 | e forw-line | |
| 136 | j forw-line | |
| 137 | \ekd forw-line | |
| 138 | ^E forw-line | |
| 139 | ^N forw-line | |
| 140 | k back-line | |
| 141 | y back-line | |
| 142 | ^Y back-line | |
| 143 | ^K back-line | |
| 144 | ^P back-line | |
| 145 | J forw-line-force | |
| 146 | K back-line-force | |
| 147 | Y back-line-force | |
| 148 | d forw-scroll | |
| 149 | ^D forw-scroll | |
| 150 | u back-scroll | |
| 151 | ^U back-scroll | |
| 152 | \e40 forw-screen | |
| 153 | f forw-screen | |
| 154 | ^F forw-screen | |
| 155 | ^V forw-screen | |
| 156 | \ekD forw-screen | |
| 157 | b back-screen | |
| 158 | ^B back-screen | |
| 159 | \eev back-screen | |
| 160 | \ekU back-screen | |
| 161 | z forw-window | |
| 162 | w back-window | |
| 163 | \ee\e40 forw-screen-force | |
| 164 | F forw-forever | |
| 165 | R repaint-flush | |
| 166 | r repaint | |
| 167 | ^R repaint | |
| 168 | ^L repaint | |
| 169 | \eeu undo-hilite | |
| 170 | g goto-line | |
| 171 | \ekh goto-line | |
| 172 | < goto-line | |
| 173 | \ee< goto-line | |
| 174 | p percent | |
| 175 | % percent | |
| 176 | \ee[ left-scroll | |
| 177 | \ee] right-scroll | |
| 178 | \ee( left-scroll | |
| 179 | \ee) right-scroll | |
| 180 | { forw-bracket {} | |
| 181 | } back-bracket {} | |
| 182 | ( forw-bracket () | |
| 183 | ) back-bracket () | |
| 184 | [ forw-bracket [] | |
| 185 | ] back-bracket [] | |
| 186 | \ee^F forw-bracket | |
| 187 | \ee^B back-bracket | |
| 188 | G goto-end | |
| 189 | \ee> goto-end | |
| 190 | > goto-end | |
| 191 | \eke goto-end | |
| 192 | = status | |
| 193 | ^G status | |
| 194 | :f status | |
| 195 | / forw-search | |
| 196 | ? back-search | |
| 197 | \ee/ forw-search * | |
| 198 | \ee? back-search * | |
| 199 | n repeat-search | |
| 200 | \een repeat-search-all | |
| 201 | N reverse-search | |
| 202 | \eeN reverse-search-all | |
| 8be36e5b | 203 | & filter |
| 131ccf9c PA |
204 | m set-mark |
| 205 | ' goto-mark | |
| 206 | ^X^X goto-mark | |
| 207 | E examine | |
| 208 | :e examine | |
| 209 | ^X^V examine | |
| 210 | :n next-file | |
| 211 | :p prev-file | |
| 212 | t next-tag | |
| 213 | T prev-tag | |
| 214 | :x index-file | |
| 215 | :d remove-file | |
| 216 | - toggle-option | |
| 217 | :t toggle-option t | |
| 218 | s toggle-option o | |
| 219 | _ display-option | |
| 220 | | pipe | |
| 221 | v visual | |
| 222 | ! shell | |
| 223 | + firstcmd | |
| 224 | H help | |
| 225 | h help | |
| 226 | V version | |
| 227 | 0 digit | |
| 228 | 1 digit | |
| 229 | 2 digit | |
| 230 | 3 digit | |
| 231 | 4 digit | |
| 232 | 5 digit | |
| 233 | 6 digit | |
| 234 | 7 digit | |
| 235 | 8 digit | |
| 236 | 9 digit | |
| 237 | q quit | |
| 238 | Q quit | |
| 239 | :q quit | |
| 240 | :Q quit | |
| 241 | ZZ quit | |
| 242 | .fi | |
| 243 | .sp | |
| 244 | .SH PRECEDENCE | |
| 245 | Commands specified by | |
| 246 | .I lesskey | |
| 247 | take precedence over the default commands. | |
| 248 | A default command key may be disabled by including it in the | |
| 249 | input file with the action "invalid". | |
| 250 | Alternatively, a key may be defined | |
| 251 | to do nothing by using the action "noaction". | |
| 252 | "noaction" is similar to "invalid", but | |
| 253 | .I less | |
| 254 | will give an error beep for an "invalid" command, | |
| 255 | but not for a "noaction" command. | |
| 256 | In addition, ALL default commands may be disabled by | |
| 257 | adding this control line to the input file: | |
| 258 | .sp | |
| 259 | #stop | |
| 260 | .sp | |
| 261 | This will cause all default commands to be ignored. | |
| 262 | The #stop line should be the last line in that section of the file. | |
| 263 | .PP | |
| 264 | Be aware that #stop can be dangerous. | |
| 265 | Since all default commands are disabled, | |
| 266 | you must provide sufficient commands before the #stop line | |
| 267 | to enable all necessary actions. | |
| 268 | For example, failure to provide a "quit" command can lead to frustration. | |
| 269 | ||
| 270 | .SH "LINE EDITING SECTION" | |
| 271 | The line-editing section begins with the line: | |
| 272 | .sp | |
| 273 | #line-edit | |
| 274 | .sp | |
| 275 | This section specifies new key bindings for the line editing commands, | |
| 276 | in a manner similar to the way key bindings for | |
| 277 | ordinary commands are specified in the #command section. | |
| 278 | The line-editing section consists of a list of keys and actions, | |
| 279 | one per line as in the example below. | |
| 280 | ||
| 281 | .SH EXAMPLE | |
| 282 | The following input file describes the set of | |
| 283 | default line-editing keys used by less: | |
| 284 | .sp | |
| 285 | .nf | |
| 286 | #line-edit | |
| 287 | \et forw-complete | |
| 288 | \e17 back-complete | |
| 289 | \ee\et back-complete | |
| 290 | ^L expand | |
| 291 | ^V literal | |
| 292 | ^A literal | |
| 293 | \eel right | |
| 294 | \ekr right | |
| 295 | \eeh left | |
| 296 | \ekl left | |
| 297 | \eeb word-left | |
| 298 | \ee\ekl word-left | |
| 299 | \eew word-right | |
| 300 | \ee\ekr word-right | |
| 301 | \eei insert | |
| 302 | \eex delete | |
| 303 | \ekx delete | |
| 304 | \eeX word-delete | |
| 305 | \eekx word-delete | |
| 306 | \ee\eb word-backspace | |
| 307 | \ee0 home | |
| 308 | \ekh home | |
| 309 | \ee$ end | |
| 310 | \eke end | |
| 311 | \eek up | |
| 312 | \eku up | |
| 313 | \eej down | |
| 314 | .fi | |
| 315 | .sp | |
| 316 | ||
| 317 | .SH "LESS ENVIRONMENT VARIABLES" | |
| 318 | The environment variable section begins with the line | |
| 319 | .sp | |
| 320 | #env | |
| 321 | .sp | |
| 322 | Following this line is a list of environment variable assignments. | |
| 323 | Each line consists of an environment variable name, an equals sign (=) | |
| 324 | and the value to be assigned to the environment variable. | |
| 325 | White space before and after the equals sign is ignored. | |
| 326 | Variables assigned in this way are visible only to | |
| 327 | .I less. | |
| 328 | If a variable is specified in the system environment and also in a | |
| 329 | lesskey file, the value in the lesskey file takes precedence. | |
| 330 | Although the lesskey file can be used to override variables set in the | |
| 331 | environment, the main purpose of assigning variables in the lesskey file | |
| 332 | is simply to have all | |
| 333 | .I less | |
| 334 | configuration information stored in one file. | |
| 335 | ||
| 336 | .SH EXAMPLE | |
| 337 | The following input file sets the -i option whenever | |
| 338 | .I less | |
| 339 | is run, and specifies the character set to be "latin1": | |
| 340 | .sp | |
| 341 | .nf | |
| 342 | #env | |
| 343 | LESS = -i | |
| 344 | LESSCHARSET = latin1 | |
| 345 | .fi | |
| 346 | .sp | |
| 347 | ||
| 348 | .SH "SEE ALSO" | |
| 349 | less(1) | |
| 350 | ||
| 351 | .SH WARNINGS | |
| 352 | It is not possible to specify special keys, such as uparrow, | |
| 353 | in a keyboard-independent manner. | |
| 354 | The only way to specify such keys is to specify the escape sequence | |
| 355 | which a particular keyboard sends when such a key is pressed. | |
| 356 | .PP | |
| 357 | On MS-DOS and OS/2 systems, certain keys send a sequence of characters | |
| 358 | which start with a NUL character (0). | |
| 359 | This NUL character should be represented as \e340 in a lesskey file. | |
| 360 | ||
| 361 | .SH COPYRIGHT | |
| a9adbba3 | 362 | Copyright (C) 2000-2009 Mark Nudelman |
| 131ccf9c PA |
363 | .PP |
| 364 | lesskey is part of the GNU project and is free software; | |
| 365 | you can redistribute it and/or modify it | |
| 366 | under the terms of the GNU General Public License as published by | |
| 367 | the Free Software Foundation; | |
| 368 | either version 2, or (at your option) any later version. | |
| 369 | .PP | |
| 370 | lesskey is distributed in the hope that it will be useful, but | |
| 371 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 372 | or FITNESS FOR A PARTICULAR PURPOSE. | |
| 373 | See the GNU General Public License for more details. | |
| 374 | .PP | |
| 375 | You should have received a copy of the GNU General Public License | |
| 376 | along with lesskey; see the file COPYING. | |
| 377 | If not, write to the Free Software Foundation, 59 Temple Place, | |
| 378 | Suite 330, Boston, MA 02111-1307, USA. | |
| 379 | ||
| 380 | .SH AUTHOR | |
| 381 | .PP | |
| 382 | Mark Nudelman <markn@greenwoodsoftware.com> | |
| 383 | .br | |
| 384 | Send bug reports or comments to the above address or to bug-less@gnu.org. | |
| 385 |