less beta release (part 2 of 5)
Mark Nudelman
mark at unix386.Convergent.COM
Fri Sep 15 08:23:33 AEST 1989
#! /bin/sh
# This is a shell archive.
# Remove anything before this line, then unpack it
# by saving it into a file and typing "sh file".
echo shar: Extracting \"linstall\"
sed "s/^X//" >'linstall' <<'END_OF_FILE'
X#! /bin/sh
X# Installation script for less.
X# This script prompts the operator for various information
X# and constructs a makefile.
X
Xecho "This script will build a makefile for less."
Xecho "If you already have a file called \"makefile\" it will be overwritten."
Xecho "Press RETURN to continue."
Xread ans
X
Xecho "I will ask you some questions about your system."
Xecho "If you do not know the answer to any question,"
Xecho "just press RETURN and I will choose a default for you."
Xecho "Press RETURN now."
Xread ans
X
XECHO=./vecho
Xif [ ! -f $ECHO ]
Xthen
X echo "One moment..."
X cc -o $ECHO vecho.c
X echo ""
Xfi
X
X$ECHO "Most Unix systems are derived from either System V"
X$ECHO "or Berkeley BSD 4.1, 4.2, 4.3, etc."
X$ECHO ""
X$ECHO "Is your system closest to:"
X$ECHO " 1. System V"
X$ECHO " 2. BSD 4.1"
X$ECHO " 3. BSD 4.2 or later"
X$ECHO " 4. Xenix"
X$ECHO "Enter a number, or just RETURN if you don't know: \c"
Xread ans
Xxenix=0
Xcase "X$ans" in
XX1) sys=sys5; sysname="System V" ;;
XX2) sys=bsd; bsd41=1; sysname="BSD 4.1" ;;
XX3) sys=bsd; bsd41=0; sysname="BSD 4.2" ;;
XX4) sys=sys5; xenix=1; sysname="Xenix" ;;
X*) sys=unknown ;;
Xesac
X$ECHO ""
X
XDATE=`date`
Xcat >makefile <<EOF
X# Makefile for "less"
X# Generated $DATE by $0.
XEOF
X
Xcat >>makefile <<"EOF"
X#
X# Invoked as:
X# make all
X# or make install
X# Plain "make" is equivalent to "make all".
X#
X# If you add or delete functions, remake funcs.h by doing:
X# make newfuncs
X# This depends on the coding convention of function headers looking like:
X# " \t public <function-type> \n <function-name> ( ... ) "
X#
X# Also provided:
X# make lint # Runs "lint" on all the sources.
X# make clean # Removes "less" and the .o files.
X# make clobber # Pretty much the same as make "clean".
X
XSHELL = /bin/sh
X
XEOF
X
Xcat >defines.h <<EOF
X/* Definition file for less */
X/* Generated $DATE by $0. */
X
XEOF
X
Xcat >>defines.h <<EOF
X/*
X * Define XENIX if running under XENIX 3.0.
X */
X#define XENIX $xenix
X
XEOF
X$ECHO ""
X
X
X
Xif [ "X$sys" = "Xunknown" ]
Xthen
X alldefault=0
Xelse
X def=yes
X alldefault=1
X $ECHO "Do you want to use ALL the defaults for $sysname?"
X $ECHO " Enter \"yes\" if you have a STANDARD $sysname."
X $ECHO " Enter \"no\" if you want to change any of the defaults. [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) alldefault=1 ;;
X X[nN]*) alldefault=0 ;;
X esac
X $ECHO ""
Xfi
X
Xif [ $alldefault = 0 ]
Xthen
X alloptional=0
Xelse
X def=yes
X alloptional=1
X $ECHO "Do you want to use all the optional features of less?"
X $ECHO " Less has several features which you may or may not"
X $ECHO " wish to include, such as shell escapes."
X $ECHO " Enter \"yes\" if you want to include ALL the optional features."
X $ECHO " Enter \"no\" if you want to select individual features. [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) alloptional=1 ;;
X X[nN]*) alloptional=0 ;;
X esac
X $ECHO ""
Xfi
X
X
X
Xdef=yes
Xx=1
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Does your C compiler support the \"void\" type? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * VOID is 1 if your C compiler supports the "void" type,
X * 0 if it does not.
X */
X#define VOID $x
X
XEOF
X
X
X
Xdef=long
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "What type is the \"offset\" argument to lseek? [$def] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X def=$ans
X fi
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * offset_t is the type which lseek() returns.
X * It is also the type of lseek()'s second argument.
X */
X#define offset_t $def
X
XEOF
X
X
X
X
Xdef=yes; x=1
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Most Unix systems provide the stat() function."
X $ECHO "Does your system have stat()? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * STAT is 1 if your system has the stat() call.
X */
X#define STAT $x
X
XEOF
X
X
X
X
Xdef=yes; x=1
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Most Unix systems provide the perror() function."
X $ECHO "Does your system have perror()? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * PERROR is 1 if your system has the perror() call.
X * (Actually, if it has sys_errlist, sys_nerr and errno.)
X */
X#define PERROR $x
X
XEOF
X
X
X
X
Xdef=yes; x=1
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Most Unix systems provide the time() function."
X $ECHO "Does your system have time()? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * GET_TIME is 1 if your system has the time() call.
X */
X#define GET_TIME $x
X
XEOF
X
Xif [ $x = 0 ]
Xthen
X $ECHO "What is the APPROXIMATE performance of your"
X $ECHO "machine, as a percentage of a Vax 11/750?"
X $ECHO "(Enter 100 if your machine is as fast as a Vax,"
X $ECHO " 50 if it is half as fast, 200 if it is twice as fast, etc.)"
X $ECHO "The accuracy of this information is not critical."
X while :
X do
X $ECHO "Percent of Vax 11/750 [100]: \c"
X read ans
X if [ "X$ans" = "X" ]
X then
X ans=100
X fi
X longloop=`expr "$ans" "*" 3`
X if [ $? = 0 ]
X then
X break
X fi
X $ECHO "Enter a number please!"
X done
X $ECHO ""
X
X cat >>defines.h <<EOF
X/*
X * LONGLOOP is the number of lines we should process in the line number
X * scan before displaying a warning that it will take a while.
X */
X#define LONGLOOP ($longloop)
XEOF
Xfi
X
X
X
X
Xif [ "$sys" = "bsd" ]
Xthen
X def=no; x=0
Xelse
X def=yes; x=1
Xfi
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Most System V systems have termio.h, while most"
X $ECHO "Berkeley-derived systems have sgtty.h."
X $ECHO "Does your system have termio.h? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * TERMIO is 1 if your system has /usr/include/termio.h.
X * This is normally the case for System 5.
X * If TERMIO is 0 your system must have /usr/include/sgtty.h.
X * This is normally the case for BSD.
X */
X#define TERMIO $x
X
XEOF
X
X
X
X
Xif [ "$sys" = "bsd" -a "$bsd41" = "0" ]
Xthen
X def=yes; x=1
Xelse
X def=no; x=0
Xfi
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Most BSD 4.2 and 4.3 systems have the sigsetmask() call."
X $ECHO "Most System V and BSD 4.1 systems do not."
X $ECHO "Does your system have sigsetmask()? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * SIGSETMASK is 1 if your system has the sigsetmask() call.
X * This is normally the case only for BSD 4.2,
X * not for BSD 4.1 or System 5.
X */
X#define SIGSETMASK $x
X
XEOF
X
X
X
Xif [ "$sys" = "bsd" ]
Xthen
X def=2; REGCMP=0;RECOMP=1
Xelse
X def=1; REGCMP=1;RECOMP=0
Xfi
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "Most System V systems have the regcmp() function."
X $ECHO "Most Berkeley-derived systems have the re_comp() function."
X $ECHO "Does your system have:"
X $ECHO " 1. regcmp"
X $ECHO " 2. re_comp"
X $ECHO " 3. neither [$def] \c"
X read ans
X case "X$ans" in
X X1) REGCMP=1;RECOMP=0 ;;
X X2) REGCMP=0;RECOMP=1 ;;
X X3) REGCMP=0;RECOMP=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * REGCMP is 1 if your system has the regcmp() function.
X * This is normally the case for System 5.
X * RECOMP is 1 if your system has the re_comp() function.
X * This is normally the case for BSD.
X * If neither is 1, pattern matching is supported, but without metacharacters.
X */
X#define REGCMP $REGCMP
X#define RECOMP $RECOMP
X
XEOF
X
X
X
X
Xdef=yes
Xx=1
Xif [ $alloptional = 0 ]
Xthen
X $ECHO "Do you wish to allow shell escapes? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * SHELL_ESCAPE is 1 if you wish to allow shell escapes.
X * (This is possible only if your system supplies the system() function.)
X */
X#define SHELL_ESCAPE $x
X
XEOF
X
X
X
Xdef=yes
Xx=1
Xedname="vi"
Xif [ $alloptional = 0 ]
Xthen
X $ECHO "Do you wish to allow editor escapes? [$def] \c"
X read ans
X case "X$ans" in
X X[nN]*) x=0; edname="" ;;
X X[yY]*) x=1
X $ECHO "What is the pathname of the default editor? [$edname] \c"
X read ans
X if [ "x$ans" != "x" ]
X then
X edname=$ans
X fi
X ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * EDITOR is 1 if you wish to allow editor invocation (the "v" command).
X * (This is possible only if your system supplies the system() function.)
X * EDIT_PGM is the name of the (default) editor to be invoked.
X */
X#define EDITOR $x
X#define EDIT_PGM "$edname"
X
XEOF
X
X
X
X
Xdef=yes
Xx=1
Xif [ $alloptional = 0 ]
Xthen
X $ECHO "Do you wish to support \"tag\" files? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * TAGS is 1 if you wish to support tag files.
X */
X#define TAGS $x
X
XEOF
X
X
X
Xdef=yes
Xx=1
Xif [ $alloptional = 0 ]
Xthen
X $ECHO "Do you wish to allow user-defined key definitions? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
XUSERFILE=$x
Xcat >>defines.h <<EOF
X/*
X * USERFILE is 1 if you wish to allow a .less file to specify
X * user-defined key bindings.
X */
X#define USERFILE $x
X
XEOF
X
X
X
Xdef=yes
Xx=1
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "If your system provides the popen() function and"
X $ECHO "the \"echo\" shell command, you may allow shell metacharacters"
X $ECHO "to be expanded in filenames."
X $ECHO "Do you wish to allow shell metacharacters in filenames? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * GLOB is 1 if you wish to have shell metacharacters expanded in filenames.
X * This will generally work if your system provides the "popen" function
X * and the "$ECHO" shell command.
X */
X#define GLOB $x
X
XEOF
X
X
X
Xdef=yes
Xx=1
Xif [ $alloptional = 0 ]
Xthen
X $ECHO "Do you wish to allow log files (-l option)? [$def] \c"
X read ans
X case "X$ans" in
X X[yY]*) x=1 ;;
X X[nN]*) x=0 ;;
X esac
X $ECHO ""
Xfi
Xcat >>defines.h <<EOF
X/*
X * LOGFILE is 1 if you wish to allow the -l option (to create log files).
X */
X#define LOGFILE $x
X
XEOF
X
Xcat >>defines.h <<EOF
X/*
X * ONLY_RETURN is 1 if you want RETURN to be the only input which
X * will continue past an error message.
X * Otherwise, any key will continue past an error message.
X */
X#define ONLY_RETURN 0
X
XEOF
X
Xcat >>makefile <<EOF
X
X##########################################################################
X# Compilation environment.
X##########################################################################
X
XEOF
X
X
X
Xif [ "$xenix" = "1" ]
Xthen
X LIBS="-ltermlib"
Xelif [ "$sys" = "bsd" ]
Xthen
X LIBS="-ltermcap"
Xelse
X LIBS="-lcurses -ltermcap -lPW"
Xfi
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "To build \"less\", you must link with libraries supplied by your system."
X $ECHO "(If this needs to be changed later, edit the makefile"
X $ECHO "and change the definition of LIBS.)"
X $ECHO "What libraries should be used [$LIBS] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X LIBS="$ans"
X fi
X $ECHO ""
Xfi
Xcat >>makefile <<EOF
X# LIBS is the list of libraries needed.
XLIBS = $LIBS
X
XEOF
X
X
X
XINSTALL_LESS="/usr/local/bin/less"
XINSTALL_KEY="/usr/local/bin/lesskey"
XINSTALL_HELP="/usr/local/bin/less.help"
XINSTALL_LESSMAN="/usr/man/man1/less.1"
XINSTALL_KEYMAN="/usr/man/man1/lesskey.1"
XLESS_MANUAL="less.nro"
XKEY_MANUAL="lesskey.nro"
Xif [ $alldefault = 0 ]
Xthen
X $ECHO "What is the name of the \"public\" (installed) version of less?"
X $ECHO " [$INSTALL_LESS] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X INSTALL_LESS="$ans"
X fi
X $ECHO "What is the name of the \"public\" (installed) version of lesskey?"
X $ECHO " [$INSTALL_KEY] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X INSTALL_KEY="$ans"
X fi
X $ECHO "What is the name of the \"public\" (installed) version of the help file?"
X $ECHO " [$INSTALL_HELP] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X INSTALL_HELP="$ans"
X fi
X $ECHO "What is the name of the \"public\" (installed) version of the less manual page?"
X $ECHO " [$INSTALL_LESSMAN] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X INSTALL_LESSMAN="$ans"
X fi
X $ECHO "What is the name of the \"public\" (installed) version of the lesskey manual page?"
X $ECHO " [$INSTALL_KEYMAN] \c"
X read ans
X if [ "X$ans" != "X" ]
X then
X INSTALL_KEYMAN="$ans"
X fi
X $ECHO ""
Xfi
Xcat >>makefile <<EOF
X# INSTALL_LESS is a list of the public versions of less.
X# INSTALL_KEY is a list of the public versions of lesskey.
X# INSTALL_HELP is a list of the public version of the help file.
X# INSTALL_LESSMAN is a list of the public versions of the less manual page.
X# INSTALL_KEYMAN is a list of the public versions of the lesskey manual page.
XINSTALL_LESS = \$(ROOT)$INSTALL_LESS
XINSTALL_KEY = \$(ROOT)$INSTALL_KEY
XINSTALL_HELP = \$(ROOT)$INSTALL_HELP
XINSTALL_LESSMAN = \$(ROOT)$INSTALL_LESSMAN
XINSTALL_KEYMAN = \$(ROOT)$INSTALL_KEYMAN
XLESS_MANUAL = $LESS_MANUAL
XKEY_MANUAL = $KEY_MANUAL
XHELPFILE = $INSTALL_HELP
X
X
XEOF
X
X
X
Xcat >>makefile <<"EOF"
X# OPTIM is passed to the compiler and the loader.
X# It is normally "-O" but may be, for example, "-g".
XOPTIM = -O
X
XCFLAGS = $(OPTIM)
X
X
X
X##########################################################################
X# Files
X##########################################################################
X
XSRC1 = ch.c command.c decode.c help.c input.c line.c
XSRC2 = linenum.c main.c option.c optfunc.c opttbl.c os.c output.c position.c handle.c
XSRC3 = prim1.c prim2.c prompt.c screen.c signal.c tags.c ttyin.c version.c
X
XSRC = $(SRC1) $(SRC2) $(SRC3)
X
XOBJ = ch.o command.o decode.o help.o input.o line.o linenum.o main.o \
X option.o optfunc.o opttbl.o os.o output.o position.o prim1.o prim2.o \
X handle.o prompt.o screen.o signal.o tags.o ttyin.o version.o
X
X
X##########################################################################
X# Rules for building stuff
X##########################################################################
X
XEOF
X
Xif [ "$USERFILE" = "1" ]
Xthen
X cat >>makefile <<"EOF"
Xall: less lesskey
Xinstall: install_less install_help install_key install_lman install_kman
XEOF
Xelse
X cat >>makefile <<"EOF"
Xall: less
Xinstall: install_less install_help install_lman
XEOF
Xfi
X
Xcat >>makefile <<"EOF"
X
Xless: $(OBJ)
X $(CC) $(LDFLAGS) $(OPTIM) -o less $(OBJ) $(LIBS) $(LDLIBS)
X
Xlesskey: lesskey.o
X $(CC) $(LDFLAGS) $(OPTIM) -o lesskey lesskey.o $(LDLIBS)
X
X# help.o depends on makefile for the definition of HELPFILE
Xhelp.o: makefile
X $(CC) $(CFLAGS) -c -DHELPFILE=\"$(HELPFILE)\" help.c
X
Xinstall_less: less
X for f in $(INSTALL_LESS); do rm -f $$f; cp less $$f; done
X touch install_less
X
Xinstall_key: lesskey
X for f in $(INSTALL_KEY); do rm -f $$f; cp lesskey $$f; done
X touch install_key
X
Xinstall_help: less.help
X for f in $(INSTALL_HELP); do rm -f $$f; cp less.help $$f; done
X touch install_help
X
Xinstall_lman: $(LESS_MANUAL)
X for f in $(INSTALL_LESSMAN); do rm -f $$f; cp $(LESS_MANUAL) $$f; done
X touch install_lman
X
Xinstall_kman: $(KEY_MANUAL)
X for f in $(INSTALL_KEYMAN); do rm -f $$f; cp $(KEY_MANUAL) $$f; done
X touch install_kman
X
X##########################################################################
X# Maintenance
X##########################################################################
X
Xlint:
X lint -hp $(SRC)
X
Xnewfuncs funcs.h:
X if [ -f funcs.h ]; then mv funcs.h funcs.h.OLD; fi
X awk -f mkfuncs.awk $(SRC) >funcs.h
X
Xclean:
X rm -f $(OBJ) lesskey.o less lesskey vecho
X
Xclobber:
X rm -f *.o less lesskey vecho install_less install_key \
X install_help install_lman install_kman
X
Xshar:
X shar -v README CHANGES less.nro lesskey.nro \
X vecho.c mkfuncs.awk less.help \
X less.h position.h funcs.h cmd.h option.h \
X lesskey.c > less1.shr
X shar -v linstall less.man lesskey.man > less2.shr
X shar -v $(SRC1) > less3.shr
X shar -v $(SRC2) > less4.shr
X shar -v $(SRC3) > less5.shr
X
X
X##########################################################################
X# Dependencies
X##########################################################################
X
X$(OBJ): less.h funcs.h defines.h position.h
Xcommand.o decode.o: cmd.h
Xoption.o opttbl.o optfunc.o: option.h
X
Xlesskey.o: less.h funcs.h defines.h cmd.h
X
XEOF
X$ECHO ""
X
X$ECHO "The makefile has been built."
X$ECHO "You should check it to make sure everything is as you want it to be."
X$ECHO "When you are satisfied with the makefile, just type \"make\""
X$ECHO "and \"less\" will be built."
END_OF_FILE
echo shar: Extracting \"less.man\"
sed "s/^X//" >'less.man' <<'END_OF_FILE'
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X NNNNAAAAMMMMEEEE
X less - opposite of more
X
X SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
X lllleeeessssssss ----????
X lllleeeessssssss [[[[----[[[[++++]]]]aaaaAAAABBBBccccCCCCddddeeeeEEEEffffggggiiiimmmmMMMMnnnnNNNNqqqqQQQQrrrruuuuUUUUsssswwww]]]] [[[[----bbbb_N]]]] [[[[----hhhh_N]]]] [[[[----xxxx_N]]]] [[[[----[[[[zzzz]]]]_N]]]]
X [[[[----PPPP[[[[mmmmMMMM====]]]]_s_t_r_i_n_g]]]] [[[[----[[[[llllLLLL]]]]_l_o_g_f_i_l_e]]]] [[[[----kkkk_k_e_y_f_i_l_e]]]]
X [[[[++++_c_m_d]]]] [[[[----tttt_t_a_g]]]] [[[[_f_i_l_e_n_a_m_e]]]]............
X
X
X DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
X _L_e_s_s is a program similar to _m_o_r_e (1), but which allows
X backwards movement in the file as well as forward movement.
X Also, _l_e_s_s does not have to read the entire input file
X before starting, so with large input files it starts up
X faster than text editors like _v_i (1). _L_e_s_s uses termcap (or
X terminfo on some systems), so it can run on a variety of
X terminals. There is even limited support for hardcopy
X terminals. (On a hardcopy terminal, lines which should be
X printed at the top of the screen are prefixed with an up-
X arrow.)
X
X Commands are based on both _m_o_r_e and _v_i. Commands may be
X preceded by a decimal number, called N in the descriptions
X below. The number is used by some commands, as indicated.
X
X
X CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
X In the following descriptions, ^X means control-X. ESC
X stands for the ESCAPE key; for example ESC-v means the two
X character sequence "ESCAPE", then "v".
X
X h or H
X Help: display a summary of these commands. If you
X forget all the other commands, remember this one.
X
X SPACE or ^V or f or ^F
X Scroll forward N lines, default one window (see option
X -z below). If N is more than the screen size, only the
X final screenful is displayed. Warning: some systems
X use ^V as a special literalization character.
X
X z Like SPACE, but if N is specified, it becomes the new
X window size.
X
X RETURN or ^N or e or ^E or j or ^J
X Scroll forward N lines, default 1. The entire N lines
X are displayed, even if N is more than the screen size.
X
X d or ^D
X Scroll forward N lines, default one half of the screen
X size. If N is specified, it becomes the new default
X
X
X
X Page 1 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X for subsequent d and u commands.
X
X b or ^B or ESC-v
X Scroll backward N lines, default one window (see option
X -z below). If N is more than the screen size, only the
X final screenful is displayed.
X
X w Like ESC-v, but if N is specified, it becomes the new
X window size.
X
X y or ^Y or ^P or k or ^K
X Scroll backward N lines, default 1. The entire N lines
X are displayed, even if N is more than the screen size.
X Warning: some systems use ^Y as a special job control
X character.
X
X u or ^U
X Scroll backward N lines, default one half of the screen
X size. If N is specified, it becomes the new default
X for subsequent d and u commands.
X
X r or ^R or ^L
X Repaint the screen.
X
X R Repaint the screen, discarding any buffered input.
X Useful if the file is changing while it is being
X viewed.
X
X g or < or ESC-<
X Go to line N in the file, default 1 (beginning of
X file). (Warning: this may be slow if N is large.)
X
X G or > or ESC->
X Go to line N in the file, default the end of the file.
X (Warning: this may be slow if N is large, or if N is
X not specified and standard input, rather than a file,
X is being read.)
X
X p Go to a position N percent into the file. N should be
X between 0 and 100. (This works if standard input is
X being read, but only if _l_e_s_s has already read to the
X end of the file. It is always fast, but not always
X useful.)
X
X % If a bracket appears in the top line displayed on the
X screen, the % command will go to the matching bracket.
X A "bracket" is one of the characters "{ } [ ] ( )".
X
X { If a left curly bracket appears in the top line
X displayed on the screen, the { command will go to the
X matching right curly bracket. If there is more than
X one left curly bracket on the top line, a number N may
X
X
X
X Page 2 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X be used to specify the N-th bracket on the line.
X
X } If a right curly bracket appears in the top line
X displayed on the screen, the } command will go to the
X matching left curly bracket. If there is more than one
X right curly bracket on the top line, a number N may be
X used to specify the N-th bracket on the line.
X
X ( Like {, but applies to parentheses rather than curly
X brackets.
X
X ) Like }, but applies to parentheses rather than curly
X brackets.
X
X [ Like {, but applies to square brackets rather than
X curly brackets.
X
X ] Like }, but applies to square brackets rather than
X curly brackets.
X
X m Followed by any lowercase letter, marks the current
X position with that letter.
X
X ' (Single quote.) Followed by any lowercase letter,
X returns to the position which was previously marked
X with that letter. Followed by another single quote,
X returns to the position at which the last "large"
X movement command was executed. Marks are preserved
X when a new file is examined, so the ' command can be
X used to switch between input files.
X
X ^X^X Same as single quote.
X
X /pattern
X Search forward in the file for the N-th line containing
X the pattern. N defaults to 1. The pattern is a
X regular expression, as recognized by _e_d. The search
X starts at the second line displayed (but see the -a
X option, which changes this).
X
X ?pattern
X Search backward in the file for the N-th line
X containing the pattern. The search starts at the line
X immediately before the top line displayed.
X
X ESC-/pattern
X Search the entire file for the N-th line containing the
X pattern. The search starts at the first line in the
X file, regardless of what is displayed or the setting of
X the -a option.
X
X /!pattern
X
X
X
X Page 3 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X Like /, but the search is for the N-th line which does
X NOT contain the pattern.
X
X ?!pattern
X Like ?, but the search is for the N-th line which does
X NOT contain the pattern.
X
X ESC-/!pattern
X Like ESC-/, but the search is for the N-th line which
X does NOT contain the pattern.
X
X n Repeat previous search, for N-th line containing the
X last pattern (or NOT containing the last pattern, if
X the previous search was /! or ?!).
X
X ESC-n
X Repeat previous search, but in the reverse direction.
X
X E [filename]
X Examine a new file. If the filename is missing, the
X "current" file (see the N and P commands below) from
X the list of files in the command line is re-examined.
X A percent sign (%) in the filename is replaced by the
X name of the current file. A pound sign (#) is replaced
X by the name of the previously examined file.
X
X ^X^V or :e
X Same as E. Warning: some systems use ^V as a special
X literalization character.
X
X N or :n
X Examine the next file (from the list of files given in
X the command line). If a number N is specified (not to
X be confused with the command N), the N-th next file is
X examined.
X
X P or :p
X Examine the previous file. If a number N is specified,
X the N-th previous file is examined.
X
X = or ^G or :f
X Prints some information about the file being viewed,
X including its name and the line number and byte offset
X of the bottom line being displayed. If possible, it
X also prints the length of the file, the number of lines
X in the file and the percent of the file above the last
X displayed line.
X
X - Followed by one of the command line option letters (see
X below), this will change the setting of that option and
X print a message describing the new setting. If the
X option letter has a numeric value (such as -b or -h),
X
X
X
X Page 4 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X or a string value (such as -P or -t), a new value may
X be entered after the option letter.
X
X _ (Underscore.) Followed by one of the command line
X option letters (see below), this will print a message
X describing the current setting of that option. The
X setting of the option is not changed.
X
X +cmd Causes the specified cmd to be executed each time a new
X file is examined. For example, +G causes _l_e_s_s to
X initially display each file starting at the end rather
X than the beginning.
X
X V Prints the version number of _l_e_s_s being run.
X
X q or :q or :Q or ZZ
X Exits _l_e_s_s.
X
X The following two commands may or may not be valid,
X depending on your particular installation.
X
X v Invokes an editor to edit the current file being
X viewed. The editor is taken from the environment
X variable EDITOR, or defaults to "vi". See also the
X discussion of EDITPROTO under the section on PROMPTS
X below.
X
X ! shell-command
X Invokes a shell to run the shell-command given. A
X percent sign (%) in the command is replaced by the name
X of the current file. A pound sign (#) is replaced by
X the name of the previously examined file. "!!" repeats
X the last shell command. "!" with no shell command
X simply invokes a shell. In all cases, the shell is
X taken from the environment variable SHELL, or defaults
X to "sh".
X
X OOOOPPPPTTTTIIIIOOOONNNNSSSS
X Command line options are described below. Most options may
X be changed while _l_e_s_s is running, via the "-" command.
X
X Options are also taken from the environment variable "LESS".
X For example, to avoid typing "less -options ..." each time
X _l_e_s_s is invoked, you might tell _c_s_h:
X
X setenv LESS "-options"
X
X or if you use _s_h:
X
X LESS="-options"; export LESS
X
X The environment variable is parsed before the command line,
X
X
X
X Page 5 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X so command line options override the LESS environment
X variable. If an option appears in the LESS variable, it can
X be reset to its default on the command line by beginning the
X command line option with "-+".
X
X A dollar sign ($) may be used to signal the end of an option
X string. This is important only for options like -P which
X take a following string.
X
X -? This option displays a summary of the commands accepted
X by _l_e_s_s (the same as the h command). If this option is
X given, all other options are ignored, and _l_e_s_s exits
X after the help screen is viewed. (Depending on how
X your shell interprets the question mark, it may be
X necessary to quote the question mark, thus: "-\?".)
X
X -a Normally, forward searches start just after the top
X displayed line (that is, at the second displayed line).
X Thus, forward searches include the currently displayed
X screen. The -a option causes forward searches to start
X just after the bottom line displayed, thus skipping the
X currently displayed screen.
X
X -A The -A option causes searches to start at the second
X SCREEN line displayed, as opposed to the default which
X is to start at the second REAL line displayed. For
X example, suppose a long real line occupies the first
X three screen lines. The default search will start at
X the second real line (the fourth screen line), while
X the -A option will cause the search to start at the
X second screen line (in the midst of the first real
X line). (This option is rarely useful.)
X
X -b The -b_n option tells _l_e_s_s to use a non-standard number
X of buffers. Buffers are 1K, and normally 10 buffers
X are used (except if data in coming from standard input;
X see the -B option). The number _n specifies a different
X number of buffers to use.
X
X -B Normally, when data is coming from standard input,
X buffers are allocated automatically as needed, to avoid
X loss of data. The -B option disables this feature, so
X that only the default number of buffers are used. If
X more data is read than will fit in the buffers, the
X oldest data is discarded.
X
X -c Normally, _l_e_s_s will repaint the screen by scrolling
X from the bottom of the screen. If the -c option is
X set, when _l_e_s_s needs to change the entire display, it
X will paint from the top line down.
X
X -C The -C option is like -c, but the screen is cleared
X
X
X
X Page 6 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X before it is repainted.
X
X -d Normally, _l_e_s_s will complain if the terminal is dumb;
X that is, lacks some important capability, such as the
X ability to clear the screen or scroll backwards. The
X -d option suppresses this complaint (but does not
X otherwise change the behavior of the program on a dumb
X terminal).
X
X -e Normally the only way to exit _l_e_s_s is via the "q"
X command. The -e option tells _l_e_s_s to automatically
X exit the second time it reaches end-of-file.
X
X -E The -E flag causes _l_e_s_s to exit the first time it
X reaches end-of-file.
X
X -f Normally, _l_e_s_s will refuse to open a non-regular file
X (that is, a file which is a directory or a device
X special file). The -f flag forces _l_e_s_s to open such
X files.
X
X -g Force input characters to 7 bits (that is, mask off the
X high order bit). The default is to use full 8 bit
X characters.
X
X -h Normally, _l_e_s_s will scroll backwards when backwards
X movement is necessary. The -h option specifies a
X maximum number of lines to scroll backwards. If it is
X necessary to move backwards more than this many lines,
X the screen is repainted in a forward direction. (If
X the terminal does not have the ability to scroll
X backwards, -h0 is implied.)
X
X -i The -i option causes searches to ignore case; that is,
X uppercase and lowercase are considered identical.
X Also, text which is overstruck or underlined can be
X searched for.
X
X -k The -k option, followed immediately by a filename, will
X cause _l_e_s_s to open and interpret the file as a _l_e_s_s_k_e_y
X (1) file. Multiple -k options may be specified. If a
X file called .less exists in the user's home directory,
X this file is also used as a _l_e_s_s_k_e_y file.
X
X -l The -l option, followed immediately by a filename, will
X cause _l_e_s_s to copy its input to the named file as it is
X being viewed. This applies only when the input file is
X a pipe, not an ordinary file. If the file already
X exists, _l_e_s_s will ask for confirmation before
X overwriting it.
X
X -L The -L option is like -l, but it will overwrite an
X
X
X
X Page 7 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X existing file without asking for confirmation.
X
X If no log file has been specified, the -l and -L
X options can be used from within _l_e_s_s to specify a log
X file. Without a file name, they will simply report the
X name of the log file. The "s" command is equivalent to
X specifying -l from within _l_e_s_s.
X
X -m Normally, _l_e_s_s prompts with a colon. The -m option
X causes _l_e_s_s to prompt verbosely (like _m_o_r_e), with the
X percent into the file.
X
X -M The -M option causes _l_e_s_s to prompt even more verbosely
X than _m_o_r_e.
X
X -n The -n flag suppresses line numbers. The default (to
X use line numbers) may cause _l_e_s_s to run more slowly in
X some cases, especially with a very large input file.
X Suppressing line numbers with the -n flag will avoid
X this problem. Using line numbers means: the line
X number will be displayed in the verbose prompt and in
X the = command, and the v command will pass the current
X line number to the editor (see also the discussion of
X EDITPROTO in PROMPTS below).
X
X -N The -N flag causes a line number to be displayed at the
X beginning of each line in the display.
X
X -P The -P option provides a way to tailor the three prompt
X styles to your own preference. You would normally put
X this option in your LESS environment variable, rather
X than type it in with each _l_e_s_s command. Such an option
X must either be the last option in the LESS variable, or
X be terminated by a dollar sign. -P followed by a
X string changes the default (short) prompt to that
X string. -Pm changes the medium (-m) prompt to the
X string, and -PM changes the long (-M) prompt. Also,
X -P= changes the message printed by the = command to the
X given string. All prompt strings consist of a sequence
X of letters and special escape sequences. See the
X section on PROMPTS for more details.
X
X -q Normally, if an attempt is made to scroll past the end
X of the file or before the beginning of the file, the
X terminal bell is rung to indicate this fact. The -q
X option tells _l_e_s_s not to ring the bell at such times.
X If the terminal has a "visual bell", it is used
X instead.
X
X -Q Even if -q is given, _l_e_s_s will ring the bell on certain
X other errors, such as typing an invalid character. The
X -Q option tells _l_e_s_s to be quiet all the time; that is,
X
X
X
X Page 8 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X never ring the terminal bell. If the terminal has a
X "visual bell", it is used instead.
X
X -r Normally, control character are displayed using a carat
X and the equivalent non-control character. For example,
X a control-A (octal 001) is displayed as "^A". If the
X -r flag is set, "raw" control characters are displayed,
X without this translation. Warning: when this flag is
X used, _l_e_s_s cannot keep track of the actual appearance
X of the screen (since this depends on how the screen
X responds to each type of control character). Thus,
X various display problems may result, such as long lines
X being split in the wrong place.
X
X -s The -s option causes consecutive blank lines to be
X squeezed into a single blank line. This is useful when
X viewing _n_r_o_f_f output.
X
X -t The -t option, followed immediately by a TAG, will edit
X the file containing that tag. For this to work, there
X must be a file called "tags" in the current directory,
X which was previously built by the _c_t_a_g_s (1) command.
X This option may also be specified from within _l_e_s_s
X (using the - command) as a way of examining a new file.
X For _v_i compatibility, the command ":ta" is equivalent
X to specifying -t from within _l_e_s_s.
X
X -u If the -u option is given, backspaces are treated as
X printable characters; that is, they are sent to the
X terminal when they appear in the input.
X
X -U If the -U option is given, backspaces are printed as
X the two character sequence "^H".
X
X If neither -u nor -U is given, backspaces which appear
X adjacent to an underscore character are treated
X specially: the underlined text is displayed using the
X terminal's hardware underlining capability. Also,
X backspaces which appear between two identical
X characters are treated specially: the overstruck text
X is printed using the terminal's hardware boldface
X capability. Other backspaces are deleted, along with
X the preceding character.
X
X -w Normally, _l_e_s_s uses a tilde character to represent
X lines past the end of the file. The -w option causes
X blank lines to be used instead.
X
X -x The -x_n option sets tab stops every _n positions. The
X default for _n is 8.
X
X -[z] When given a backwards or forwards window command, _l_e_s_s
X
X
X
X Page 9 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X will by default scroll backwards or forwards one
X screenful of lines. The -z_n option changes the default
X scrolling window size to _n lines. The z and w commands
X can also be used to change the window size. Note that
X the "z" in "-z_n" is optional for compatibility with
X _m_o_r_e.
X
X + If a command line option begins with ++++, the remainder
X of that option is taken to be an initial command to
X _l_e_s_s. For example, +G tells _l_e_s_s to start at the end of
X the file rather than the beginning, and +/xyz tells it
X to start at the first occurrence of "xyz" in the file.
X As a special case, +<number> acts like +<number>g; that
X is, it starts the display at the specified line number
X (however, see the caveat under the "g" command above).
X If the option starts with ++++++++, the initial command
X applies to every file being viewed, not just the first
X one. The + command described previously may also be
X used to set (or change) an initial command for every
X file.
X
X
X KKKKEEEEYYYY BBBBIIIINNNNDDDDIIIINNNNGGGGSSSS
X You may define your own _l_e_s_s commands by using the program
X _l_e_s_s_k_e_y (1) to create a file called ".less" in your home
X directory. This file specifies a set of command keys and an
X action associated with each key. See the _l_e_s_s_k_e_y manual
X page for more details.
X
X
X PPPPRRRROOOOMMMMPPPPTTTTSSSS
X The -P option allows you to tailor the prompt to your
X preference. The string given to the -P option replaces the
X specified prompt string. Certain characters in the string
X are interpreted specially. The prompt mechanism is rather
X complicated to provide flexibility, but the ordinary user
X need not understand the details of constructing personalized
X prompt strings.
X
X A percent sign followed by a single character is expanded
X according to what the following character is:
X
X %bX Replaced by the byte offset into the current input
X file. The b is followed by a single character (shown
X as X above) which specifies the line whose byte offset
X is to be used. If the character is a "t", the byte
X offset of the top line in the display is used, an "m"
X means use the middle line, a "b" means use the bottom
X line, and a "B" means use the line just after the
X bottom line.
X
X %E Replaced by the name of the editor (from the EDITOR
X
X
X
X Page 10 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X environment variable). See the discussion of the
X EDITPROTO feature below.
X
X %f Replaced by the name of the current input file.
X
X %i Replaced by the index of the current file in the list
X of input files.
X
X %lX Replaced by the line number of a line in the input
X file. The line to be used is determined by the X, as
X with the %b option.
X
X %L Replaced by the line number of the last line in the
X input file.
X
X %m Replaced by the total number of input files.
X
X %pX Replaced by the percent into the current input file.
X The line used is determined by the X as with the %b
X option.
X
X %s Replaced by the size of the current input file.
X
X %t Causes any trailing spaces to be removed. Usually used
X at the end of the string, but may appear anywhere.
X
X %x Replaced by the name of the next input file in the
X list.
X
X If any item is unknown (for example, the file size if input
X is a pipe), a question mark is printed instead.
X
X The format of the prompt string can be changed depending on
X certain conditions. A question mark followed by a single
X character acts like an "IF": depending on the following
X character, a condition is evaluated. If the condition is
X true, any characters following the question mark and
X condition character, up to a period, are included in the
X prompt. If the condition is false, such characters are not
X included. A colon appearing between the question mark and
X the period can be used to establish an "ELSE": any
X characters between the colon and the period are included in
X the string if and only if the IF condition is false.
X Condition characters (which follow a question mark) may be:
X
X ?a True if any characters have been included in the prompt
X so far.
X
X ?bX True if the byte offset of the specified line is known.
X
X ?e True if at end-of-file.
X
X
X
X
X Page 11 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X ?f True if there is an input filename (that is, if input
X is not a pipe).
X
X ?lX True if the line number of the specified line is known.
X
X ?L True if the line number of the last line in the file is
X known.
X
X ?m True if there is more than one input file.
X
X ?n True if this is the first prompt in a new input file.
X
X ?pX True if the percent into the current input file of the
X specified line is known.
X
X ?s True if the size of current input file is known.
X
X ?x True if there is a next input file (that is, if the
X current input file is not the last one).
X
X Any characters other than the special ones (question mark,
X colon, period, percent, and backslash) become literally part
X of the prompt. Any of the special characters may be
X included in the prompt literally by preceding it with a
X backslash.
X
X Some examples:
X
X ?f%f:Standard input.
X
X This prompt prints the filename, if known; otherwise the
X string "Standard input".
X
X ?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...
X
X This prompt would print the filename, if known. The
X filename is followed by the line number, if known, otherwise
X the percent if known, otherwise the byte offset if known.
X Otherwise, a dash is printed. Notice how each question mark
X has a matching period, and how the % after the %pt is
X included literally by escaping it with a backslash.
X
X ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t
X
X This prints the filename if this is the first prompt in a
X file, followed by the "file N of N" message if there is more
X than one input file. Then, if we are at end-of-file, the
X string "(END)" is printed followed by the name of the next
X file, if there is one. Finally, any trailing spaces are
X truncated. This is the default prompt. For reference, here
X are the defaults for the other two prompts (-m and -M
X respectively). Each is broken into two lines here for
X
X
X
X Page 12 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X readability only.
X
X ?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:
X ?pB%pB\%:byte %bB?s/%s...%t
X
X ?f%f .?n?m(file %i of %m) ..?ltline %lt?L/%L. :byte %bB?s/%s. .
X ?e(END) ?x- Next\: %x.:?pB%pB\%..%t
X
X And here is the default message produced by the = command:
X
X ?f%f .?m(file %i of %m) .?ltline %lt?L/%L. .
X byte %bB?s/%s. ?e(END) :?pB%pB\%..%t
X
X The prompt expansion features are also used for another
X purpose: if an environment variable EDITPROTO is defined, it
X is used as the command to be executed when the v command is
X invoked. The EDITPROTO string is expanded in the same way
X as the prompt strings. The default value for EDITPROTO is:
X %E ?lm+%lm. %f
X Note that this expands to the editor name, followed by a +
X and the line number, followed by the file name. If your
X editor does not accept the "+linenumber" syntax, or has
X other differences in invocation syntax, the EDITPROTO
X variable can be changed to modify this default.
X
X
X EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS
X EDITOR
X The name of the editor (used for the v command).
X
X EDITPROTO
X Editor prototype string (used for the v command). See
X discussion under PROMPTS.
X
X HOME Name of the user's home directory (used to find a .less
X file).
X
X LESS Flags which are passed to _l_e_s_s automatically.
X
X SHELL
X The shell used to execute the ! command, as well as to
X expand filenames.
X
X TERM The type of terminal on which _l_e_s_s is being run.
X
X
X SSSSEEEEEEEE AAAALLLLSSSSOOOO
X lesskey(1)
X
X
X WWWWAAAARRRRNNNNIIIINNNNGGGGSSSS
X The = command and prompts (unless changed by -P) report the
X
X
X
X Page 13 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSS((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSS((((1111))))
X
X
X
X line number of the line at the top of the screen, but the
X byte and percent of the line at the bottom of the screen.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Page 14 (printed 9/14/89)
X
X
X
END_OF_FILE
echo shar: Extracting \"lesskey.man\"
sed "s/^X//" >'lesskey.man' <<'END_OF_FILE'
X
X
X
X LLLLEEEESSSSSSSSKKKKEEEEYYYY((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSSKKKKEEEEYYYY((((1111))))
X
X
X
X NNNNAAAAMMMMEEEE
X lesskey - specify key bindings for less
X
X SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
X lllleeeesssssssskkkkeeeeyyyy [[[[----oooo oooouuuuttttppppuuuutttt]]]] [[[[iiiinnnnppppuuuutttt]]]]
X
X DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
X _L_e_s_s_k_e_y is used to specify a set of key bindings to be used
X by _l_e_s_s. The input file is a text file which describes the
X key bindings, and the output file is a binary file which is
X used by _l_e_s_s. If no input file is specified, standard input
X is used. If no output file is specified, $HOME/.less is
X used.
X
X The input file consists of lines of the form:
X
X string <whitespace> action <newline>
X
X Whitespace is any sequence of one or more spaces and/or
X tabs. The "string" is the command key(s) which invoke the
X action. The string may be a single command key, or a
X sequence of up to 15 keys. The "action" is the name of the
X less action, from the list below. The characters in the
X "string" may appear literally, or be prefixed by a carat to
X indicate a control key. A backslash may be used to cause
X the following character to be taken literally. Characters
X which must be preceded by backslash include carat, space,
X tab and the backslash itself. A backslash followed by one
X to three octal digits may be used to specify a character by
X its octal value. Blank lines and lines which start with a
X pound sign (#) are ignored.
X
X A special case is the "toggle-option" action. This action
X may be followed by a single letter indicating the option to
X be toggled. See the ":ta" command in the example below.
X
X As an example, the following input file describes the set of
X default command keys used by less:
X
X k back-line
X y back-line
X ^K back-line
X ^Y back-line
X ^P back-line
X b back-screen
X ^B back-screen
X \33v back-screen
X u back-scroll
X ^U back-scroll
X ? back-search
X w back-window
X { bracket-{
X
X
X
X Page 1 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSSKKKKEEEEYYYY((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSSKKKKEEEEYYYY((((1111))))
X
X
X
X } bracket-}
X ( bracket-(
X ) bracket-)
X [ bracket-[
X ] bracket-]
X % bracket-any
X E examine
X :e examine
X ^X^V examine
X \33/ file-search
X + first-cmd
X e forw-line
X j forw-line
X ^E forw-line
X ^J forw-line
X ^M forw-line
X ^N forw-line
X f forw-screen
X ^F forw-screen
X \40 forw-screen
X ^V forw-screen
X d forw-scroll
X ^D forw-scroll
X / forw-search
X z forw-window
X G goto-end
X > goto-end
X \33> goto-end
X g goto-line
X < goto-line
X \33< goto-line
X ' goto-mark
X ^X^X goto-mark
X h help
X H help
X N next-file
X :n next-file
X p percent
X P prev-file
X :p prev-file
X q quit
X :q quit
X :Q quit
X ZZ quit
X ^L repaint
X ^R repaint
X r repaint
X R flush-repaint
X n repeat-search
X \33n reverse-search
X m set-mark
X ! shell
X
X
X
X Page 2 (printed 9/14/89)
X
X
X
X
X
X
X LLLLEEEESSSSSSSSKKKKEEEEYYYY((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 LLLLEEEESSSSSSSSKKKKEEEEYYYY((((1111))))
X
X
X
X = status
X ^G status
X :f status
X - toggle-option
X :ta toggle-option t
X s toggle-option l
X _ display-option
X V version
X v visual
X
X
X Commands specified by _l_e_s_s_k_e_y take precedence over the
X default commands. A default command key may be disabled by
X including it in the key file with the action "invalid".
X
X
X SSSSEEEEEEEE AAAALLLLSSSSOOOO
X less(1)
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Page 3 (printed 9/14/89)
X
X
X
END_OF_FILE
More information about the Alt.sources
mailing list