A parancsok a more és a vi parancsain alapulnak. A parancsokat egy decimális szám (továbbiakban `N') előzheti meg, melyet a parancsok argumentumként használhatnak.
Néhány karakternek speciális jelentése van, ha a `minta' elején szerepel; a keresés típusát módosítják, és nem magát a karaktert jelentik:
A `/'-hez hasonlóan itt is néhány karakternek speciális jelentése van, ha a `minta' elején szerepel:
A megadott fájlnév a parancssori fájlnévlistába beillesztésre kerül, így a későbbi `:n' és `:p' parancsok ezt is elérik. Amennyiben a fájlnév több fájlt ad meg, mindegyik neve beillesztésre kerül, és a vizsgálat az elsővel folytatódik.
Ha egy opciónak argumentuma is van (pl. `-b' és `-h' esetén numerikus, vagy `-P' és `-t' esetén string), az opció betűje után beírható. Ha nincs új érték megadva, az aktuális beállítás íródik ki, és változás nem tórténik.
A következő 4 opció érvényessége az aktuális installációtól függ.
A ``LESS'' környezeti változó értékei is opcióként kerülnek feldolgozásra, azaz pl. ha nem akarjuk mindig beírni, hogy "less -opciók ..." minden egyes less híváskor, tehetjük a következőket: csh esetén:
setenv LESS "-opciók"
vagy sh esetén:
LESS="-opciók"; export LESS
A környezeti változó a parancssor előtt kerül feldolgozásra, így a parancssori opciók felülbírálhatják a ``LESS'' értékét. Ha egy opció megjelenik a ``LESS'' tartalmában, vissza lehet állítani az alapértékét a "-+" parancssori opcióval.
A string argumentumú opciók (pl. `-P') esetén egy dollárjel ($) használható a string végének jelölésére.
Amennyiben a `-j' opció használatban van, a keresések a célsor után kezdődnek. Pl. "-j4" esetén a célsor a képernyő negyedik sora, és a keresés az ötödik sortól kezdődik.
Ha nem lett `log fájl' megadva, a `-o' és `-O' opció a less belsejéből is használható log fájl megadására. Az "s" parancs egyenértékű a `-o' less -en belüli megadásával.
Alapértelmezés szerint, amikor is sem `-u' sem `-U' nem adott, az aláhúzásjelek melletti visszatörlések speciálisan kerülnek értelmezésre: a terminál lehetőségeit használva aláhúzott szöveg jelenik meg. Hasonlóan: két azonos karakter közti visszatörlés ``felülütött'' szöveget jelent, amit a terminál vastagon jelenít meg (ha tud). A többi visszatörlés alapértelmezés szerint törlődik az előtte levő karakterrel együtt.
Az újsor (newline) utáni kocsivissza-jelek törlődnek, a többi kocsivissza-jel a `-r'-nek megfelelően kerül értelmezésre.
Felülütött és aláhúzott szövegekre is vonatkozik a keresés, ha `-u' vagy `-U' nincs mekapcsolva.
Amennyiben az opció `++'-szal kezdődik, a parancsok minden vizsgált fájlra vonatkozni fognak, nemcsak az elsőre. A korábban leírt `+' parancs is használható az összes fájl bevezető parancsainak beállítására vagy megváltoztatására.
Ha a `LESSKEY' környezeti változó létezik, a less azt fogja a `lesskey' fájl neveként használni. Másképpen a less standard helyeken keresi a `lesskey' fájlt: Unix alatt a "$HOME/.less", MS_DOS alatt a "$HOME/_less" vagy ha ez nem található, a "_less" fájlt használja, ha ilyen létezik a `PATH' környezeti változó által tartalmazott könyvtárak valamelyikében. OS/2 alatt a less a "$HOME/less.ini"-ben keresi a `lesskey' fájt, illetve ha ez nem található, az `INIT' tartalmában felsorolt könyvtárkban keres egy "less.ini" fájlt. Ha ott sem talált, akkor a `PATH' által megadott könyvtárakban folytatja a keresést. Lásd még a lesskey kézikönyv lapját.
A bemeneti előfeldolgozó egyetlen argumentumot kell fogadjon, az eredeti fájl nevét, ahogy azt a felhasználó megadta. Ezután létrehozza a helyettesítő fájt, és ennek nevét a standard kimenetre kell írja. Ha az előfeldolgozó nem adja meg a helyettesítő fájl nevét, a less az eredeti fáljt használja.
A bemeneti előfeldolgozó nem kerül meghívásra a standard bemenet nézésekor.
A bemeneti előfeldolgozó beállítására a `LESSOPEN' környezeti változó használható, amely az előfeldolgozó meghívásának parancssorát kell tartalmazza. Ezen parancssornak tartalmaznia a kell a "%s" stringet, melyet a less az eredeti fájlnévvel helyettesít, amikor az előfeldolgozót meghívja.
Amikor a less olyan fájlt zár be, amely megnézéséhez bemeneti előfeldolgozó lett használva, egy bemeneti utófeldolgozó (postprocessor) is meghívásra kerül, amely feltehetően néhány kívánatos takarítási műveletet (mint pl. az előbbi helyettesítő fájl törlése) végez. Ez az utófeldolgozó két argumentumot kap: az eredeti és a helyettesítő fájl nevét.
Utófeldolgozó beállításához a `LESSCLOSE' környezeti változónak kell értéket adni, mely az utófeldolgozót meghívó parancssort definiálja. Ez a parancssor kétszer tartalmazhatja a "%s" stringet, melyek közül az első az eredeti, a második a helyettesítő fájl nevével lesz helyettesítve.
Például a legtöbb Unix rendszeren a következő két szkript megengedi, hogy a fájlokat tömörített formában tárolhassuk, de a less közvetlenül megmutassa őket:
lessopen.sh:
#! /bin/sh
case "$1" in
*.Z) uncompress -c $1 >/tmp/less.$$ 2>/dev/null
if [ -s /tmp/less.$$ ]; then
echo /tmp/less.$$
else
rm -f /tmp/less.$$
fi
;;
esac
lessclose.sh:
#! /bin/sh
rm $2
Ezen szkriptek használatához olyan helyre kell őket tenni, ahol végrehajthatók, és alkalmazni kell a LESSOPEN="lessopen.sh %s" illetve LESSCLOSE="lessclose.sh %s %s" beállításokat. Ehhez hasonlóan persze bonyolultabb szkriptek is írhatók pl. más típusú tömörített fájlok kezelésére.
A bemeneti előfeldolgozót úgy is beállíthatjuk, hogy a fájl adatait átcsövezze a less -nek aheleyett, hogy az adatokat egy helyettesítő fájlba tenné le. Ez például megóvhat attól, hogy a teljes fájl kitömörítését megvárjuk, mielőtt a fájl elejét megláthatnánk. Az ilyen bemeneti előfeldolgozót bemeneti csőnek nevezzük. A bemeneti cső a helyettesítő fájl nevének stabndard kimenetre írása helyett a helyettesítő fájl teljes tartalmát írja ki a standard kimenetére. Ha a bemeneti csőnem ír egyetlen karaktert sem a standard kimenetére, akkor a less az eredeti fájlt mutatja meg.
A bemeneti cső használatához a LESSOPEN tartalmának első karaktere a függőleges vonal (`|'-jel) kell legyen.
Például a legtöbb Unix rendszeren a következő szkript az előző példához hasonlóan fog működni:
lesspipe.sh:
!# /bin/sh
case "$1" in
*.Z) uncompress -c $1 2>/dev/null
;;
esac
Ezen szkript használatához a szkriptet olyan helyre kell tenni, ahol végrehajtható és a LESSOPEN="|lesspipe.sh %s" beállítást kell használni. Bemeneti cső használata esetén értelemszeűen nem szükséges az utófeldolgozó használata, hisz nincs helyettesítő fájl. Ebben az esetben a LESSCLOSE által megadott utófeldolgozónak "-" lesz átadva, mint a helyettesítő fájl neve.
Egy "karakterkészlet" egyszerűen azt adja meg, mely karaktereket kell normális-, vezérlő- illetve bináris karakternek tekinteni. A `LESSCHARSET' környezeti változóhasználható a karakterkészlet beállítására. Ennek lehetséges értékei:
Különleges esetekben a less testreszabott karakterkészlettel is használható. Ebben az esetben a `LESSCHARDEF' környezeti változót kell használni a karakterkészlet definíciójához. Ez egy olyan stringet kell tartalmazzon, melynek minden karaktere egy karaktert reprezentál a karakterkészletből. A "." jelenti a normális, a "c" a vezérlő, a "b" a bináris karaktereket. Ismétlés jelzésére decimális számokat használhatunk. Például "bccc4b." azt jelenti, hogy a 0 kódú karakter bináris, az 1, 2 és 3 kódúak vezérlő-, a 4, 5, 6 és 7 kódúak bináris-, a 8-as pedig normális karakter. Az utolsó karatker látal megadott típus érvényes a további karakterkódokra is, azaz példánkban a 9-től 255-ig eső karakterek is normálisként lesznek kezelve. (Ez a példa természetesen nem feltétlenül egy valódi karakterkészletet reprezentál.)
A következő táblázat azon `LESSCHARDEF' értékeket jeleníti meg, melyek a `LESSCHARSET' lehetséges értékeinek felelnek meg.
ascii 8bcccbcc18b95.b
latin1 8bcccbcc18b95.33b.
dos 8bcccbcc12bc5b95.b.
koi8-r 8bcccbcc18b95.b128.
next 8bcccbcc18b95.bb125.bb
Ha sem a LESSCHARSET, sem a LESSCHARDEF nem rendelkezik értékkel, de a rendszer biztosítja a setlocale interfészt, a less a `setlocale'-t használja a karakterkészlet megállapítására. (A setlocale-t a LANG vagy az LC_TYPE környezeti változó érétkén keresztül vezérelhetjük.)
A vezérlő- és a bináris karaktereket kiemelve (inverz állapotban) jelzi ki a less. Minden ilyen karaktert lehetőleg a `^'-jelöléssel (caret notation) jelenít meg a program, ha tud, azaz pl. `^A' jelenti `control-A'-t. Ezt a jelölést akkor használja, ha a 0100 bit invertálása nyomtatható karaktert eredményez. Másképp a karakter hexadecimálisan, `<' és '>' zárójelek közt jelenik meg.
Ez a formátum megváltoztatható a `LESSBINFMT' környezeti változóval. A `LESSBINFMT' egy `*' jellel és egy kijelzési jellemzőt jelentő karkaterrel kezdődhet: "*k" a villogó, "*d" a vastag, "*u" az aláhúzott, "*s" a kiemelt, és "*n" a normális. Ha a LESSBINFMT nem `*'-gal kezdődik, normál kijelzést tételez fel. A LESSBINFMT maradék része egy string, mely egy `printf' stílusú escape-sorozatot tartalmazhat, azaz egy `%' jelet, melyet x, X, o, d stb. követ. Például ha a LESSBINFMT értéke "*u[%x]", a bináris karakterek aláhúzva, hezadecimálisan, szögletes zárójelben jelenenk meg. Ha a LESSBINFMT nem létezik, az alapértelmezett megadás "*d<%X>".
A %<karakter> kombináció a karakter értékétől függően lesz kifejtve. A használható karakterek:
Ha egy tag ismeretlen (pl. ha a bemenet egy cső, akkor nem adható meg a méret), kérdőjel jelenik meg a megfelelő helyen.
A prompt string formátuma bizonyos feltételektől függően megváltoztatható. Egy kérdőjel és egy azt követő karakter "IF"-hez hasonlóan működik: a következő karaktertől függően egy feltételt értékel ki. Ha a feltétel igaz, minden ezutáni karakter a következő kettőspontig a propmt része lesz. Ha a feltétel hamis, ezek a karakterek figyelmen kívül lesznek hagyva. A kérdőjel és a kettőspont közti vessző jelentése "ELSE" (különben); az ezt követő karakterek a következő kettőspontig a feltétel hamissága esetén kerülnek be a promptba. A feltételkarakterek (a kérdőjel után) az alábbiak lehetnek:
A speciális karakterektől különböző karakterek egyszerűen betű szerint kiíródnak a propmt-ra. A speciális karaktereket értelmezés nélkül kiirathatjuk egy bevezető fordított törtvonal segítségével. (Pl. `\?' egy kérdőjelet ad.)
Néhány példa:
?f%f:Standard input.
megjeleníti a fájlnevet ha az ismert, különben a "Standard input" stringet.
?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...
Ez a prompt kiírja a fájlnevet ha az ismert, majd a sorszámot (ha ismert). Végül a százalékban vett pozíciót is kiírja, ha az meghatározható. Ha nem, a bájt offset-et írja ki, ha tudja. Ha ez sem megadható, akkor egy `-'-t ír ki. Figyeljük meg, hogy minden kérdőjelnek van egy megfelelő kettőspontja, és hogy íródik ki a százalékjel a `%pt' után.
?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t
Kiírja a fájlnevet, ha ez az első prompt a fájlon belül. Ezt egy "file N of N" üzenet követi, ha egynél több bemeneti fájl van. Ezután, ha elérjük a fájl végét, az "(END)" string, és a következő fájl neve írődik ki (ha olyan létezik). Végül a követő szóközöket levágja.
Ez az alapértelmezett prompt. Hivatkozásul itt megadjuk a másik két prompt (`-m' és `-M') alapértelmezett értékét is. Az olvashatóság kedvéért mindegyiket két sorra törtük szét.
Továbbá az `=' parancs által adott alapértelmezett üzenet:?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.: ?pB%pB\%:byte %bB?s/%s...%t
?f%f .?n?m(file %i of %m) ..?ltline %lt?L/%L. :byte %bB?s/%s. . ?e(END) ?x- Next\: %x.:?pB%pB\%..%t
?f%f .?m(file %i of %m) .?ltline %lt?L/%L. . byte %bB?s/%s. ?e(END) :?pB%pB\%..%t
A promp kifejtési lehetőségeket más célra is használja a less: ha a `LESSEDIT' környezeti változó definiált, ezt használja, mint a `v' parancskor végrehajtandó utasítást. A `LESSEDIT' string hasonlóan kerül kifejtésre, mint a promt stringek. Az alapértelmezett érték:
Figyeljük meg, hogy ennek kifejtése: a szövegszerkesztő neve, majd egy `+' után a sorszám, végül a fájl neve. Ha a szövegszerkesztő nem fogadja el a `+sorszám' formát, vagy egyéb okból kíván más meghívást, a LESSEDIT értéke értelemszerűen megváltoztatható.%E ?lm+%lm. %f
A less úgy is lefordítható, hogy állandóan biztonsági módban legyen.
Ha az `:e' paranccsal egynél több fájlt nevezünk meg, és az egyik fájlt korábban már néztük, az új fájlok váratlan sorrendben kerülhetnek a listába.
Néhány régi (ún. "magic cookie") terminálon a keresés utáni kiemelés hibás kijelzéshez vezethet. Ilyen terminálokon a kiemelés alapértelmezés szerint tiltva van.
Néhány esetben, ha a keresés utáni kiemelés engedélyezett és a keresési minta `^'-jellel kezdődik, az egyező stringnél hosszabb rész is kiemelésre kerülhet.
Néhány rendszeren a setlocale azt igényli, hogy a 0-31 tartománybeli karakterek vezérlőkarakterként, és nem bináris karakterként kerüljenek értelmezésre. Ez azt eredményezheti, hogy a less néhány bináris fájlt rendesnek vesz. Ezen probléma kikerülhető, ha a `LESSCHARSET' értékét `ascii'-ra, vagy az épp megfelelő értékre állítjuk.