{
    "mode": "man",
    "parameter": "lesskey",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/lesskey/1/json",
    "generated": "2026-06-10T16:10:24Z",
    "sections": {
        "NAME": {
            "content": "lesskey - specify key bindings for less\n",
            "subsections": [
                {
                    "name": "SYNOPSIS (deprecated)",
                    "content": ""
                },
                {
                    "name": "lesskey [-o output] [--] [input]",
                    "content": ""
                },
                {
                    "name": "lesskey [--output=output] [--] [input]",
                    "content": ""
                },
                {
                    "name": "lesskey -V",
                    "content": ""
                },
                {
                    "name": "lesskey --version",
                    "content": ""
                }
            ]
        },
        "SCOPE": {
            "content": "This  document describes the format of the lesskey source file, which is used by less version\n582 and later.  In previous versions of less, a separate program called lesskey was  used  to\ncompile  the  lesskey source file into a format understood by less.  This compilation step is\nno longer required and the lesskey program is therefore deprecated although the  file  format\nremains supported by less itself.\n",
            "subsections": []
        },
        "FILE FORMAT": {
            "content": "The  input file consists of one or more sections.  Each section starts with a line that iden‐\ntifies the type of section.  Possible sections are:\n\n#command\nDefines new command keys.\n\n#line-edit\nDefines new line-editing keys.\n\n#env   Defines environment variables.\n\nBlank lines and lines which start with a pound sign (#) are ignored, except for  the  special\nsection header lines.\n",
            "subsections": []
        },
        "COMMAND SECTION": {
            "content": "The command section begins with the line\n\n#command\n\nIf  the command section is the first section in the file, this line may be omitted.  The com‐\nmand section consists of lines of the form:\n\nstring <whitespace> action [extra-string] <newline>\n\nWhitespace is any sequence of one or more spaces and/or tabs.   The  string  is  the  command\nkey(s)  which invoke the action.  The string may be a single command key, or a sequence of up\nto 15 keys.  The action is the name of the less action, from the list below.  The  characters\nin  the  string may appear literally, or be prefixed by a caret to indicate a control key.  A\nbackslash followed by one to three octal digits may be used to specify a character by its oc‐\ntal value.  A backslash followed by certain characters specifies input characters as follows:\n\n\\b     BACKSPACE\n\n\\e     ESCAPE\n\n\\n     NEWLINE\n\n\\r     RETURN\n\n\\t     TAB\n\n\\ku    UP ARROW\n\n\\kd    DOWN ARROW\n\n\\kr    RIGHT ARROW\n\n\\kl    LEFT ARROW\n\n\\kU    PAGE UP\n\n\\kD    PAGE DOWN\n\n\\kh    HOME\n\n\\ke    END\n\n\\kx    DELETE\n\nA  backslash  followed  by any other character indicates that character is to be taken liter‐\nally.  Characters which must be preceded by backslash include caret, space, tab and the back‐\nslash itself.\n\nAn action may be followed by an \"extra\" string.  When such a command is entered while running\nless, the action is performed, and then the extra string is parsed, just as if it were  typed\nin  to less.  This feature can be used in certain cases to extend the functionality of a com‐\nmand.  For example, see the \"{\" and \":t\" commands in the example below.  The extra string has\na  special  meaning  for the \"quit\" action: when less quits, the first character of the extra\nstring is used as its exit status.\n",
            "subsections": []
        },
        "EXAMPLE": {
            "content": "The following input file sets the -i option whenever less is run, and specifies the character\nset to be \"latin1\":\n\n#env\nLESS = -i\nLESSCHARSET = latin1\n\n",
            "subsections": []
        },
        "PRECEDENCE": {
            "content": "Commands specified by lesskey take precedence over the default commands.  A  default  command\nkey  may  be  disabled by including it in the input file with the action \"invalid\".  Alterna‐\ntively, a key may be defined to do nothing by using the  action  \"noaction\".   \"noaction\"  is\nsimilar  to \"invalid\", but less will give an error beep for an \"invalid\" command, but not for\na \"noaction\" command.  In addition, ALL default commands may be disabled by adding this  con‐\ntrol line to the input file:\n\n#stop\n\nThis  will  cause all default commands to be ignored.  The #stop line should be the last line\nin that section of the file.\n\nBe aware that #stop can be dangerous.  Since all default commands are disabled, you must pro‐\nvide sufficient commands before the #stop line to enable all necessary actions.  For example,\nfailure to provide a \"quit\" command can lead to frustration.\n",
            "subsections": []
        },
        "LINE EDITING SECTION": {
            "content": "The line-editing section begins with the line:\n\n#line-edit\n\nThis section specifies new key bindings for the line editing commands, in a manner similar to\nthe  way key bindings for ordinary commands are specified in the #command section.  The line-\nediting section consists of a list of keys and actions, one per line as in the example below.\n",
            "subsections": []
        },
        "LESS ENVIRONMENT VARIABLES": {
            "content": "The environment variable section begins with the line\n\n#env\n\nFollowing this line is a list of environment variable assignments.  Each line consists of  an\nenvironment variable name, an equals sign (=) and the value to be assigned to the environment\nvariable.  White space before and after the equals sign is ignored.   Variables  assigned  in\nthis  way are visible only to less.  If a variable is specified in the system environment and\nalso in a lesskey file, the value in the lesskey file takes precedence.  Although the lesskey\nfile  can be used to override variables set in the environment, the main purpose of assigning\nvariables in the lesskey file is simply to have all less configuration information stored  in\none file.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "less(1)\n",
            "subsections": []
        },
        "WARNINGS": {
            "content": "On MS-DOS and OS/2 systems, certain keys send a sequence of characters which start with a NUL\ncharacter (0).  This NUL character should be represented as \\340 in a lesskey file.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright (C) 1984-2021  Mark Nudelman\n\nless  is part of the GNU project and is free software.  You can redistribute it and/or modify\nit under the terms of either (1) the GNU General Public License  as  published  by  the  Free\nSoftware  Foundation;  or (2) the Less License.  See the file README in the less distribution\nfor more details regarding redistribution.  You should have received a copy of the  GNU  Gen‐\neral  Public  License along with the source for less; see the file COPYING.  If not, write to\nthe Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA  02111-1307,  USA.   You\nshould also have received a copy of the Less License; see the file LICENSE.\n\nless  is  distributed  in  the hope that it will be useful, but WITHOUT ANY WARRANTY; without\neven the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR  PURPOSE.   See  the\nGNU General Public License for more details.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Mark Nudelman\nReport bugs at https://github.com/gwsw/less/issues.\n\n\n\nVersion 590: 03 Jun 2021                            LESSKEY(1)",
            "subsections": []
        }
    },
    "summary": "lesskey - specify key bindings for less",
    "flags": [],
    "examples": [
        "The following input file describes the set of default command keys used by 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",
        "\\eU        clear-search",
        "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"
    ],
    "see_also": [
        {
            "name": "less",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/less/1/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Customize keybindings for `less`.",
        "examples": [
            {
                "description": "Compile key bindings from a source file",
                "command": "lesskey {{path/to/lesskey_file}}"
            },
            {
                "description": "Compile key bindings and write to a specific output file",
                "command": "lesskey {{-o|--output}} {{path/to/output}} {{path/to/lesskey_file}}"
            },
            {
                "description": "Display version",
                "command": "lesskey {{-V|--version}}"
            }
        ]
    }
}