File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / readline / doc / rluserman.dvi
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 01:01:01 2021 UTC (3 years, 9 months ago) by misho
Branches: readline, MAIN
CVS tags: v8_2p0, v8_1p0, HEAD
readline 8.1

÷ƒ’À;è TeX output 2020.10.30:1007‹ÿÿÿÿŸòŽ ƒ33 þšà‘GóKÂÖN ¼jcmbx12ëKGNU–ÆqReadline“Library“User“In‘ÿZterfaceŽŽ‘GŸ0‰±ž¸Ÿšª’Ï€Úó6Kñ`y
ó3
cmr10áEdition–¦f8.1,“for“ó7ßê<x
ó3
cmtt10âReadline“Library“áV‘ÿeersion“8.1.ŽŸ
’qiOctobMÞer‘¦f2020Ž õzó]ÂÖN ffcmbx12ë]Chet–ffRamey›þ¦f,“Case“W˜estern“ReservšŒÌe“Univ˜ersit˜yŽŸBrian–ffF›þ¦foŒÌx,“F˜ree“Soft•ŒÌw“are‘ffF˜oundationŽŸÌ̉±ž¸ŽŒ‹*ŸòŽ ƒ33Ÿfh‘GáThis–¦ymanš²!ual“describMÞes‘¦xthe“end“user“in˜terface›¦xof“the“GNU‘¦7Readline˜Library“(v²!ersion“8.1,Ž¤
33‘G29–!WOctobMÞer›!V2020),‘@a“library˜whic²!h“aids˜in“the“consistency˜of“user“in²!terface˜across“discreteŽ¡‘Gprograms–¦fwhicš²!h“pro˜vide“a“command“line“in˜terface.Ž¤33‘GCop•²!yrigh“t‘±ž«‚cŽŽŽ‘¦fó?!",š
ó3
cmsy10ê
ŽŽŽŽ‘@á1988{2020–¦fF›ÿeree“Soft•²!w“are–¦fF˜oundation,“Inc.Ž¡‘.ùœP•²!ermission›t#is‘t"gran“ted˜to›t"cop“y‘ÿe,‘±ddistribute˜and/or–t#moMÞdify˜this“doMÞcumen²!t˜under“theŽ¤
33‘.ùœterms–
~of“the“GNU‘
WF›ÿeree“DoMÞcumen²!tation“License,‘)­V˜ersion“1.3“or“anš²!y“later“v˜ersionŽ¡‘.ùœpublished–^õbš²!y“the“F‘ÿeree“Soft˜w˜are“F‘ÿeoundation;‘;<with“no“In˜v‘ÿdDarian˜t“Sections,‘ÍnoŽ¡‘.ùœF›ÿeron•²!t-Co“v“er–xfT˜exts,‘™and›xeno“Bac•²!k-Co“v“er˜T‘ÿeexts.‘ΈA‘xZcop“y–xfof˜the“license˜is“includedŽ¡‘.ùœin–¦fthe“section“enš²!titled“\GNU“F‘ÿeree“DoMÞcumen˜tation“License".ŽŽŒ‹ÿÿÿÿðŸò’À¥TáiŽŽŽ ƒ33 ý ÌÍ‘GóTÂÖN G®cmbx12ëTT‘þaGable–z³of“Con–ÿuÂten“tsŽŽŸ*33‘Gë]1‘32Command–ffLine“Editing‘çh‘32óe·ág£ffcmmi12ëe:Ž–Q‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž‘	Üßë]1ŽŽŸÿ‘!Gá1.1‘
ó5In²!troMÞduction–¦fto“Line“Editing‘ð‘é˜ó> b>
ó3
cmmi10é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘š7á1ŽŽ¤
33‘!G1.2‘
ó5Readline‘¦fIn²!teraction‘Rd‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Ô«á1ŽŽ¡‘0G1.2.1‘
ó5Readline–¦fBare“Essen²!tials‘.¶‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘°ýá1ŽŽ¡‘0G1.2.2‘
ó5Readline›¦fMo•²!v“emen“t˜Commands‘B"‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Äiá2ŽŽ¡‘0G1.2.3‘
ó5Readline–¦fKilling“Commands1ž‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘³æá2ŽŽ¡‘0G1.2.4‘
ó5Readline‘¦fArgumen²!ts‘³‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘5cá3ŽŽ¡‘0G1.2.5‘
ó5Searc²!hing–¦ffor“Commands“in“the“History‘i‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ëKá3ŽŽ¡‘!G1.3‘
ó5Readline–¦fInit“File‘§‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘)aá4ŽŽ¡‘0G1.3.1‘
ó5Readline–¦fInit“File“Syn²!tax‘ ‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘¢]á4ŽŽ¡‘0G1.3.2‘
ó5Conditional–¦fInit“Constructs‘ü‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘~Xá12ŽŽ¡‘0G1.3.3‘
ó5Sample–¦fInit“File‘¾Î‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Aá13ŽŽ¡‘!G1.4‘
ó5Bindable–¦fReadline“Commands‘¯Â‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘2	á16ŽŽ¡‘0G1.4.1‘
ó5Commands–¦fF‘ÿeor“Mo²!ving‘>H‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Àá16ŽŽ¡‘0G1.4.2‘
ó5Commands–¦fF‘ÿeor“Manipulating“The“History‘iò‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ì9á17ŽŽ¡‘0G1.4.3‘
ó5Commands–¦fF›ÿeor“Changing“T˜ext{’‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ýÚá18ŽŽ¡‘0G1.4.4‘
ó5Killing–¦fAnd“Y‘ÿeanking‘šÇ‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘á20ŽŽ¡‘0G1.4.5‘
ó5SpMÞecifying–¦fNumeric“Argumen²!ts‘^V‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘àá21ŽŽ¡‘0G1.4.6‘
ó5Letting–¦fReadline“T²!ypMÞe“F›ÿeor“Y˜ou‘ºÒ‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘=á21ŽŽ¡‘0G1.4.7‘
ó5KeybMÞoard‘¦fMacrosdI‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘æ‘á22ŽŽ¡‘0G1.4.8‘
ó5Some–¦fMiscellaneous“Commands‘ø&‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘zná22ŽŽ¡‘!G1.5‘
ó5Readline–¦fvi“MoMÞdeE‘é˜é:Ž–ÝÛ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘È
á24ŽŽŸ33‘Gë]Apps3endix‘ffAŽ‘wL‹GNU‘œÈF‘þ¦free–œûDos3cumenŒÌtation“License‘È“‘32ëe:Ž‘Q‘32:Ž‘	@ë]25ŽŽŽŒ‹÷Ÿò’¾6eá1ŽŽŽ ƒ33 ý ÌÍ‘GëT1‘	¸QCommand–z³Line“EditingŽŽŸn‘GáThis–¦fcš²!hapter“describMÞes“the“basic“features“of“the“ó<Œ-ø
ó3
cmcsc10çgnu“ácommand“line“editing“in˜terface.ŽŸ¸ä‘Gë]1.1‘™InŒÌtros3duction–f@to“Line“EditingŽŽŸ33‘GáThe–¦ffolloš²!wing“paragraphs“describMÞe“the“notation“used“to“represen˜t“k˜eystrok˜es.Ž¤¥‘!GThe–Yútext›Yùó=ßê<x
ó3
cmsltt10èC-k“áis“read˜as“`Con²!trol-K'‘YËand“describMÞes“the˜c²!haracter“proMÞduced“when˜the“âkŽ©
33‘Gákš²!ey–¦fis“pressed“while“the“Con˜trol“k˜ey“is“depressed.Ž¡‘!GThe–Ôztext›Ô{èM-k“áis“read˜as“`Meta-K'‘Ôoand“describMÞes“the˜c²!haracter“proMÞduced“when˜the“MetaŽ¦‘Gk•²!ey›ø°(if‘ø¯y“ou˜ha“v“e˜one)–ø¯is˜depressed,‘
Band“the˜âk˜ák²!ey“is˜pressed.‘ÔºThe“Meta˜k²!ey˜is“labMÞeled˜âALTŽ¦‘Gáon›Ž~man•²!y‘Ž}k“eybMÞoards.‘ÕåOn˜k“eybMÞoards‘Ž}with˜t“w“o‘Ž}k“eys˜labMÞeled˜âALT–Ž}á(usually˜to“either˜side“of˜theŽ¦‘Gspace–™Èbar),‘œOthe“âALT›™Éáon“the˜left“side˜is“generally“set˜to“w²!ork˜as“a˜Meta“k²!ey‘ÿe.‘Ù©The“âALT˜ák²!ey“onŽ¦‘Gthe–CÃrighš²!t“ma˜y“also“bMÞe“congured“to“w˜ork“as“a“Meta“k˜ey“or“ma˜y“bMÞe“congured“as“some“otherŽ¦‘GmošMÞdier,–¦fsuc²!h“as“a“Comp˜ose“kš²!ey“for“t˜yping“accen˜ted“c˜haracters.ŽŸ¦‘!GIf–î"yš²!ou“do“not“ha˜v˜e“a“Meta“or“âALT“ák˜ey‘ÿe,‘üor“another“k˜ey“w˜orking“as“a“Meta“k˜ey‘ÿe,‘üthe“iden˜ticalŽ¦‘Gk•²!eystrok“e–jåcan›jæbMÞe“generated˜bš²!y“t˜yping›jæâESC“ó9ý':
ó3
cmti10ärstá,‘vÌand˜then“t²!yping˜âká.‘ÊEither“proMÞcess˜is“kno²!wnŽ¦‘Gas–¦fó:p®0J
ó3
cmsl10åmetafying‘–~áthe“âk“ák²!ey‘ÿe.Ž¡‘!GThe–Ùàtext›ÙßèM-C-k“áis˜read“as˜`Meta-Con²!trol-k'“and˜describMÞes“the˜c²!haracter“proMÞduced˜b²!yŽ¦‘Gåmetafying‘–~èC-ká.Ž¡‘!GIn›Tóaddition,‘€–sev•²!eral‘Tòk“eys˜ha“v“e˜their˜o“wn˜names.‘éƒSpMÞecically‘ÿe,–€–âDELá,“âESCá,‘€•âLFDá,“âSPCá,“âRETá,Ž¦‘Gand–$CâTAB“áall“stand›$Dfor“themselv²!es“when“seen“in“this˜text,‘Cºor“in“an“init˜le“(see“Section“1.3Ž¦‘G[Readline–úInit“File],‘”vpage›û4).‘ÖcIf“y•²!our˜k“eybMÞoard›úlac“ks˜a˜âLFD˜ák“ey‘ÿe,‘”vt“yping‘ûâC-j˜áwill˜proMÞduce˜theŽ¦‘Gdesired–¦fcš²!haracter.‘ÝÝThe“âRET“ák˜ey“ma˜y“bšMÞe“lab˜eled“âReturn“áor“âEnter“áon“some“k²!eyb˜oards.ŽŸ¸ä‘Gë]1.2‘™Readline‘f@InŒÌteractionŽŽŸ33‘GáOften–é3during“an“in•²!teractiv“e›é3session‘é2y“ou˜t“ypMÞe˜in˜a˜long˜line˜of˜text,‘ùåonly˜to˜notice˜that˜theŽ¦‘Grst–ãÒw²!ord“on›ãÓthe“line“is“misspMÞelled.‘–"The“Readline“library˜givš²!es“y˜ou“a“set‘ãÓof“commands“forŽ¦‘Gmanipulating–“¡the›“ text“as“y•²!ou˜t“ypMÞe–“¡it“in,‘—ballo•²!wing˜y“ou–“¡to“just˜x“yš²!our“t˜ypMÞo,‘—band‘“ not“forcingŽ¦‘Gyš²!ou–`ùto“ret˜ypMÞe“the‘`øma‘›»jorit˜y“of“the“line.‘ƹUsing‘`øthese“editing“commands,‘nÛy˜ou“mo˜v˜e“the“cursorŽ¦‘Gto–the“place›that“needs“correction,‘;Zand“delete“or“insert˜the“text“of“the“corrections.‘CZThen,Ž¦‘Gwhen–ý£yš²!ou“are“satised“with‘ý¤the“line,‘cy˜ou‘ý¤simply“press“âRETá.‘¥œY‘ÿeou“do“not“ha˜v˜e‘ý¤to“bMÞe“at“the“endŽ¦‘Gof–ÿÕthe“line“to›ÿÔpress“âRETá;‘,the˜en²!tire“line“is“accepted“regardless“of“the˜loMÞcation“of“the“cursorŽ¦‘Gwithin–¦fthe“line.ŽŸ¸å‘GógÂÖN 
#×cmbx12ëg1.2.1‘d(Readline–íMBare“Essen–átialsŽŽŸ³3‘GáIn–Üorder›Üto“en•²!ter˜c“haracters‘Üin“to˜the‘Üline,‘ézsimply˜t“ypšMÞe–Üthem.‘~ÚThe“t•²!yp˜ed‘Üc“haracter‘Üapp˜earsŽ¦‘Gwhere–æNthe“cursor›æOw²!as,‘öHand“then“the“cursor˜mo•²!v“es–æNone“space“to˜the“righ•²!t.‘•If˜y“ou›æNmist“ypMÞe˜aŽ¦‘Gc•²!haracter,›¦fy“ou˜can˜use˜y“our˜erase˜c“haracter˜to˜bac“k˜up˜and˜delete˜the˜mist“ypMÞed˜c“haracter.Ž¡‘!GSometimes›³ly•²!ou‘³mma“y˜mist“ypMÞe‘³ma˜c“haracter,‘¶®and˜not–³mnotice˜the˜error“un•²!til˜y“ou‘³mha“v“e˜t“ypMÞedŽ¦‘Gsevš²!eral–wøother“c˜haracters.‘ÎcIn“that“case,‘By˜ou“can“t˜ypMÞe“èC-b“áto“mo˜v˜e“the“cursor‘wùto“the“left,‘AandŽ¦‘Gthen–¦fcorrect“yš²!our“mistak˜e.‘ÝÝAfterw˜ards,“y˜ou“can“mo˜v˜e“the“cursor“to“the“righ˜t“with“èC-fá.Ž¡‘!GWhen–é"y²!ou›é!add“text“in“the˜middle“of“a˜line,‘ùÑy²!ou“will˜notice“that“c²!haracters“to˜the“righ²!tŽ¦‘Gof–q”the“cursor“are“`pushed‘q“o•²!v“er'–q”to“makš²!e“roMÞom“for“the“text“that“y˜ou‘q“ha˜v˜e“inserted.‘ÌBLik˜ewise,Ž¦‘Gwhen–‚ùy²!ou›‚ødelete“text“bMÞehind˜the“cursor,‘ºc²!haracters˜to“the“righ²!t˜of“the“cursor˜are“`pulledŽŽŒ‹#<Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH2ŽŽŽ ƒ33 ý ÌÍ‘Gbacš²!k'–¹Õto“ll“in“the“blank“space“created“b˜y“the“remo˜v‘ÿdDal“of“the‘¹Ötext.‘A‘¹™list“of“the“bare“essen˜tialsŽ©
33‘Gfor–¦fediting“the“text“of“an“input“line“follo²!ws.ŽŸˆ‘GèC-b‘(‘õáMo•²!v“e›¦fbac“k˜one˜c“haracter.Ž¤kÊ‘GèC-f‘(‘õáMo•²!v“e›¦fforw“ard˜one˜c“haracter.Ž¡‘GâDEL–¦fáor“âBackspaceŽ¦‘Kâ:áDelete–¦fthe“c²!haracter“to“the“left“of“the“cursor.ŽŸkË‘GèC-d‘(‘õáDelete–¦fthe“c²!haracter“underneath“the“cursor.Ž¡‘GPrin•²!ting‘¦fc“haractersŽŽ¦‘Kâ:Insert–¦fthe“cš²!haracter“in˜to“the“line“at“the“cursor.Ž¡‘GèC-_–¦fáor“èC-x“C-uŽ¦‘Kâ:áUndo–jthe“last“editing“command.‘÷éY‘ÿeou“can‘iundo“all“the“w•²!a“y›jbac“k˜to˜an˜empt“yŽ¦‘Kâ:line.Ž¤ˆ‘G(DepMÞending–Œron“yš²!our“conguration,‘‘£the‘ŒsâBackspace“ák˜ey“bMÞe“set“to“delete‘Œsthe“c˜haracter“to“theŽ¦‘Gleft–Z‘of“the“cursor“and“the‘Z’âDEL“ákš²!ey“set“to“delete“the“c˜haracter“underneath“the“cursor,‘‡œlik˜eŽ¦‘GèC-dá,–¦frather“than“the“c²!haracter“to“the“left“of“the“cursor.)ŽŸ8—‘Gëg1.2.2‘d(Readline›íMMo•–áv“emen“t˜CommandsŽŽŸ³3‘GáThe›S©abMÞo•²!v“e–S¨table˜describMÞes“the˜most“basic˜k•²!eystrok“es‘S¨that˜y“ou˜need–S¨in˜order“to˜do“editing˜ofŽ¦‘Gthe–öinput‘öline.‘ÌÎF‘ÿeor“yš²!our“con˜v˜enience,‘	ôman˜y“other“commands‘öha˜v˜e“bMÞeen“added‘öin“additionŽ¦‘Gto›2XèC-bá,–UUèC-fá,“èC-dá,‘UTand–2YâDELá.‘´Here˜are“some˜commands˜for“mo²!ving˜more˜rapidly“abMÞout˜theŽ¦‘Gline.Ž¡‘GèC-a‘(‘õáMo•²!v“e–¦fto“the“start“of“the“line.ŽŸkË‘GèC-e‘(‘õáMo•²!v“e–¦fto“the“end“of“the“line.Ž¤kÊ‘GèM-f‘(‘õáMo•²!v“e›¦fforw“ard˜a˜w“ord,˜where˜a˜w“ord˜is˜compMÞosed˜of˜letters˜and˜digits.Ž¡‘GèM-b‘(‘õáMo•²!v“e›¦fbac“kw“ard˜a˜w“ord.Ž¡‘GèC-l‘(‘õáClear–¦fthe“screen,“reprinš²!ting“the“curren˜t“line“at“the“top.ŽŸˆ‘!GNotice–ôKhoš²!w‘ôLèC-f“ámo˜v˜es“forw˜ard“a‘ôLc˜haracter,‘êwhile“èM-f“ámo˜v˜es‘ôLforw˜ard“a“w˜ord.‘¢It“is‘ôLa“loMÞoseŽ¦‘Gcon•²!v“en“tion–—†that“conš²!trol“k˜eystrok˜es“opMÞerate“on‘—…c˜haracters“while“meta“k˜eystrok˜es“opMÞerate“onŽ¦‘Gw²!ords.ŽŸ8—‘Gëg1.2.3‘d(Readline–íMKilling“CommandsŽŽŸ³3‘GåKilling‘ àátext–0Èmeans›0Çto“delete“the“text˜from“the“line,‘HNbut“to˜sa•²!v“e–0Èit“a•²!w“a“y–0Èfor˜later“use,‘HNusuallyŽ¦‘Gb•²!y›<åy“anking‘,á(re-inserting)˜it˜bac“k‘<in“to˜the˜line.‘ºe(`Cut'˜and˜`paste'‘<are˜more˜recen“t‘<jargon˜forŽ¦‘G`kill'–¦fand“`y²!ank'.)ŽŸkË‘!GIf–¡°the“description›¡¯for“a“command“sa²!ys“that˜it“`kills'“text,‘¢¡then“y²!ou“can“bMÞe˜sure“that“y²!ouŽ¦‘Gcan–¦fget“the“text“bacš²!k“in“a“dieren˜t“(or“the“same)“place“later.ŽŸkÊ‘!GWhen–Ê›y²!ou›Êœuse“a“kill˜command,‘öthe˜text“is“sa•²!v“ed˜in–Ê›a“åkill-ringá.‘”šAnš²!y“n˜um˜bMÞer‘Êœof“consecutiv˜eŽ¦‘Gkills›¸$sa•²!v“e–¸#all˜of˜the˜killed“text˜together,‘¼“so˜that˜when“y•²!ou˜y“ank˜it˜bac“k,‘¼“y“ou‘¸#get˜it˜all.‘TheŽ¦‘Gkill–âèring›âçis“not˜line“spMÞecic;‘(the“text“that˜y²!ou“killed˜on“a“previously˜t²!ypMÞed“line˜is“a²!v‘ÿdDailableŽ¦‘Gto–¦fbMÞe“y•²!ank“ed›¦fbac“k˜later,˜when˜y“ou˜are˜t“yping˜another˜line.ŽŽŒ‹4yŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH3ŽŽŽ ƒ33 ý ÌÍ‘!GHere–¦fis“the“list“of“commands“for“killing“text.Ž¤ø°‘GèC-k‘(‘õáKill–¦fthe“text“from“the“curren²!t“cursor“pMÞosition“to“the“end“of“the“line.Ž¡‘GèM-d‘(‘õáKill–)šfrom“the›)™cursor“to“the“end“of“the˜currenš²!t“w˜ord,‘Bor,‘Bif“bMÞet˜w˜een“w˜ords,‘Bto“theŽ©
33‘Kâ:end–¦fof“the“next“wš²!ord.‘ÝÝW‘ÿeord“bMÞoundaries“are“the“same“as“those“used“b˜y“èM-fá.Ž¡‘GèM-DEL‘¡áKill–«ofrom“the›«ncursor“the“start“of˜the“currenš²!t“w˜ord,–¬±or,“if‘«obMÞet˜w˜een‘«nw˜ords,“to‘«otheŽ¦‘Kâ:start–of“the›previous“w²!ord.‘ÁáW‘ÿeord˜bMÞoundaries“are“the“same“as˜those“used“b²!yŽ¦‘Kâ:èM-bá.Ž¡‘GèC-w‘(‘õáKill–4Ufrom›4Vthe“cursor˜to“the˜previous“whitespace.‘‡«This˜is“dieren²!t˜than“èM-DELŽ¦‘Kâ:ábšMÞecause–¦fthe“w²!ord“b˜oundaries“dier.Ž¡‘!GHere–ýáis“hoš²!w“to“åy˜ank‘§äáthe“text“bac˜k“in˜to“the“line.‘äNY‘ÿeanking‘ýàmeans“to“cop˜y“the“most-Ž¦‘Grecen²!tly-killed–¦ftext“from“the“kill“buer.Ž¡‘GèC-y‘(‘õáY‘ÿeank–¦fthe“most“recenš²!tly“killed“text“bac˜k“in˜to“the“buer“at“the“cursor.Ž¡‘GèM-y‘(‘õáRotate–'!the“kill-ring,‘GPand“y²!ank“the“new“top.‘`Y‘ÿeou“can‘'"only“do“this“if“the“priorŽ¦‘Kâ:command–¦fis“èC-y“áor“èM-yá.Ž¤Å}‘Gëg1.2.4‘d(Readline‘íMArgumen–átsŽŽŸ³3‘GáY‘ÿeou–±‰can›±ˆpass“n•²!umeric˜argumen“ts–±‰to“Readline˜commands.‘ÿESometimes“the˜argumen²!t“actsŽ¦‘Gas–Ѥa“repMÞeat›Ñ£coun²!t,‘sother“times“it“is˜the“äsign‘¨¯áof“the˜argumenš²!t“that“is“signican˜t.‘_–If“y˜ouŽ¦‘Gpass–a‘negativš²!e“argumen˜t“to“a‘command“whic˜h“normally“acts‘in“a“forw˜ard“direction,‘ìthatŽ¦‘Gcommand–=Üwill“act“in“a›=Ûbac•²!kw“ard–=Üdirection.‘¤?F‘ÿeor“example,‘c¹to“kill“text˜bac²!k“to“the“start“ofŽ¦‘Gthe–¦fline,“yš²!ou“migh˜t“t˜ypMÞe“`âM--“C-ká'.ŽŸò‘!GThe›bOgeneral‘bPw•²!a“y˜to‘bPpass˜n“umeric‘bPargumen“ts˜to–bPa˜command“is˜to“t²!ypMÞe˜meta“digits˜bMÞeforeŽ¦‘Gthe–´command.‘RIf‘´Žthe“rst“`digit'“tš²!ypMÞed“is“a“min˜us“sign–´Ž(`â-á'),‘¸then“the–´sign“of“the“argumen˜tŽ¦‘Gwill––ŠbMÞe‘–‰negativš²!e.‘®HOnce“y˜ou“ha˜v˜e‘–‰t˜ypMÞed“one“meta›–‰digit“to“get˜the“argumenš²!t“started,‘Ò’y˜ouŽ¦‘Gcan–vòt²!ypMÞe›vñthe“remainder“of“the˜digits,‘€pand“then˜the“command.‘ÎF‘ÿeor˜example,‘€pto“giv²!e˜the“èC-dŽ¦‘Gácommand–~Gan‘~Hargumenš²!t“of“10,‘´@y˜ou“could‘~Ht˜ypMÞe“`âM-1–¦f0“C-dá',‘´?whic˜h›~Hwill–~Gdelete“the˜next“tenŽ¦‘Gc²!haracters–¦fon“the“input“line.Ž¡‘Gëg1.2.5‘d(Searc–áhing–íMfor“Commands“in“the“HistoryŽŽŸ³3‘GáReadline–ŽÆpro²!vides›ŽÇcommands“for˜searc²!hing“through˜the“command˜history“for˜lines“con²!tainingŽ¦‘Ga–¦fspMÞecied“string.‘ÝÝThere“are“t•²!w“o›¦fsearc“h˜moMÞdes:‘ÝÝåincremen“tal‘¸áand˜ånon-incremen“talá.ŽŸñ‘!GIncremen•²!tal›¸searc“hes‘·b•MÞegin˜b“efore–·the˜user“has˜nished˜t²!yping“the˜searc²!h“string.‘­£As˜eac²!hŽ¦‘Gcš²!haracter–@|of“the“searc˜h“string“is“t˜ypMÞed,‘gReadline“displa˜ys“the“next“en˜try“from“the“historyŽ¦‘Gmatcš²!hing–â+the“string“t˜ypMÞed‘â*so“far.‘œtAn“incremen˜tal“searc˜h“requires“only‘â*as“man˜y“c˜haracters“asŽ¦‘Gneeded–tõto›tônd“the˜desired“history˜en²!try–ÿe.‘ÍbT“o˜searc•²!h‘tõbac“kw“ard˜in–tõthe˜history“for˜a“particularŽ¦‘Gstring,‘0t•²!ypMÞe›‰cèC-rá.‘Ô1T“yping˜èC-s˜ásearc“hes‘‰bforw“ard˜through˜the–‰bhistory‘ÿe.‘Ô2The“c•²!haracters˜presen“tŽ¦‘Gin–^the“v›ÿdDalue‘_of“the“âisearch-terminators“áv˜ariable“are“used‘_to“terminate“an“incremen²!talŽ¦‘Gsearc²!h.‘tIf–Østhat“v›ÿdDariable“has“not“bMÞeen“assigned“a“v˜alue,‘$öthe“âESC“áand“èC-J“ác²!haracters“willŽ¦‘Gterminate–Can“incremenš²!tal“searc˜h.‘	3uèC-g“áwill“abMÞort“an“incremen˜tal‘Dsearc˜h“and“restore“theŽ¦‘Goriginal–xÓline.‘άWhen“the“searcš²!h“is“terminated,‘ñthe“history“en˜try“con˜taining“the“searc˜h“stringŽ¦‘GbMÞecomes–¦fthe“curren²!t“line.ŽŸò‘!GT‘ÿeo–¹¾nd‘¹½other“matcš²!hing“en˜tries“in‘¹½the“history“list,‘¾“t˜ypMÞe“èC-r“áor‘¹½èC-s“áas“appropriate.‘äThisŽ¦‘Gwill›#“searc•²!h‘#”bac“kw“ard˜or˜forw“ard–#”in˜the˜history“for˜the˜next“en•²!try˜matc“hing˜the‘#”searc“h˜stringŽŽŒ‹@èŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH4ŽŽŽ ƒ33 ý ÌÍ‘Gt•²!ypMÞed‘ˆ5so›ˆ4far.‘ƒIAn“y˜other‘ˆ5k“ey˜sequence–ˆ5bMÞound˜to“a˜Readline“command˜will“terminate˜theŽ¤
33‘Gsearcš²!h–and“execute“that–žcommand.‘«DF‘ÿeor“instance,‘,øa–âRET“áwill“terminate‘žthe“searc˜h“and“acceptŽ¡‘Gthe–…©line,‘Œ6thereb²!y“executing“the›…ªcommand“from“the˜history“list.‘ÒóA‘…¡mo•²!v“emen“t˜command‘…©willŽ¡‘Gterminate–¦fthe“searcš²!h,“mak˜e“the“last“line“found“the“curren˜t“line,“and“bMÞegin“editing.ŽŸô^‘!GReadline–.”rememš²!bMÞers“the‘.•last“incremen˜tal“searc˜h“string.‘vhIf“t˜w˜o“èC-rás‘.•are“t˜ypMÞed“withoutŽ¡‘Gan•²!y›aèin“terv“ening˜c“haracters‘aédening˜a˜new˜searc“h‘aéstring,‘Èan“y˜remem“bMÞered‘aésearc“h˜string˜isŽ¡‘Gused.Ž©ô]‘!GNon-incremen•²!tal›–searc“hes˜read˜the˜en“tire˜searc“h‘—string˜bMÞefore˜starting˜to˜searc“h˜forŽ¡‘Gmatcš²!hing–Àhistory‘¿lines.‘	FêThe“searc˜h“string‘¿ma˜y“bMÞe“t˜ypMÞed‘¿b˜y“the“user›¿or“bMÞe“part˜of“theŽ¡‘Gcon•²!ten“ts–¦fof“the“curren²!t“line.ŽŸ¡À‘Gë]1.3‘™Readline–f@Init“FileŽŽŸ33‘GáAlthough–AÉthe“Readline“library›AÈcomes“with“a“set“of“Emacs-lik•²!e˜k“eybindings–AÉinstalled“b²!yŽ¡‘Gdefault,‘it–øKis“pMÞossible“to“use“a“dierenš²!t‘øJset“of“k˜eybindings.‘£ÔAn˜y“user“can“customize“programsŽ¡‘Gthat–Tªuse“Readline“bš²!y“putting“commands“in“an“åinputrc‘þ®ále,‘À;con˜v˜en˜tionally“in“his“homeŽ¡‘Gdirectory‘ÿe.‘–(The–ÏEname“of“this“le“is“takš²!en“from“the“v‘ÿdDalue“of“the“en˜vironmen˜t“v‘ÿdDariable“âINPUTRCá.Ž¡‘GIf–ž®that“v‘ÿdDariable“is“unset,‘ :the“default“is“â~/.inputrcá.‘ÛJIf“that“le‘ž¯došMÞes“not“exist“or“cannot“b˜eŽ¡‘Gread,–¦fthe“ultimate“default“is“â/etc/inputrcá.Ž¦‘!GWhen–Ž\a›Ž[program“whic²!h˜uses“the˜Readline“library˜starts“up,‘“*the“init˜le“is˜read,‘“*and“theŽ¡‘Gk²!ey–¦fbindings“are“set.ŽŸô^‘!GIn–8âaddition,‘NÉthe›8áâC-x‘¦fC-r“ácommand˜re-reads“this“init˜le,‘NÉth²!us“incorpMÞorating˜anš²!y“c˜hangesŽ¡‘Gthat–¦fyš²!ou“migh˜t“ha˜v˜e“made“to“it.ŽŸÁ+‘Gëg1.3.1‘d(Readline–íMInit“File“Syn–átaxŽŽŸ³3‘GáThere–íoare“only›ína“few“basic“constructs“allo•²!w“ed–íoin˜the“Readline“init“le.‘²÷Blank“lines“areŽ¡‘Gignored.‘­zLines–ëšbšMÞeginning“with“a“`â#á'“are‘ë›commen²!ts.‘­yLines“b˜eginning“with‘ë›a“`â$á'“indicateŽ¡‘Gconditional–ù0constructs“(see“Section“1.3.2“[Conditional‘ù1Init“Constructs],‘Mâpage“12).‘Ö;OtherŽ¡‘Glines–¦fdenote“v‘ÿdDariable“settings“and“k²!ey“bindings.ŽŸÔò‘GV‘ÿeariable‘¦fSettingsŽ¡‘Kâ:Y‘ÿeou–Ú½can“mošMÞdify“the“run-time“b˜ehaš²!vior“of‘Ú¼Readline“b˜y“altering“the“v‘ÿdDalues“ofŽ¡‘Kâ:v‘ÿdDariables–din›eReadline“using“the“âset˜ácommand“within“the˜init“le.‘ØThe“syn²!taxŽ¡‘Kâ:is‘¦fsimple:ŽŸÉ‘hÊâset–¿ªèvariable“valueŽ©È‘Kâ:áHere,–XÞfor›E}example,“is˜ho•²!w‘E|to˜c“hange–E|from˜the“default˜Emacs-likš²!e“k˜ey‘E}binding“toŽ¡‘Kâ:use–¦fâvi“áline“editing“commands:Ž¦‘hÊâset–¿ªediting-mode“viŽ¦‘Kâ:áV‘ÿeariable–4Ynames›4Xand“v‘ÿdDalues,–WÕwhere˜appropriate,“are–4Yrecognized˜without“regardŽ¡‘Kâ:to–¦fcase.‘ÝÝUnrecognized“v‘ÿdDariable“names“are“ignored.ŽŸÉ‘Kâ:BoMÞolean–©v‘ÿdDariables›¨(those“that˜can“bMÞe“set˜to“on˜or“o‘Ú)“are˜set“to“on˜if“the˜v‘ÿdDalue“isŽ¡‘Kâ:n•²!ull›éJor‘éIempt“y‘ÿe,‘åon˜á(case-insensitiv“e),‘or˜1.‘žÓAn“y˜other˜v‘ÿdDalue–éIresults˜in“the˜v‘ÿdDariableŽ¡‘Kâ:bMÞeing–¦fset“to“o.Ž¦‘Kâ:A–¦fgreat“deal“of“run-time“bMÞehaš²!vior“is“c˜hangeable“with“the“follo˜wing“v‘ÿdDariables.ŽŽŒ‹Q`Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH5ŽŽŽ ƒ33 ý ÌÍ‘Kâ:âbell-styleŽ¤
33’…³-áCon²!trols–Fwhat›FhappMÞens“when˜Readline“w•²!an“ts˜to–Fring˜the“termi-Ž¡’…³-nal–xzbMÞell.‘TIf“set›xyto“`ânoneá',‘¬þReadline“nev²!er˜rings“the˜bMÞell.‘TIf˜set“toŽ¡’…³-`âvisibleá',‘
dReadline–öeuses›öda“visible˜bMÞell“if˜one“is˜a²!v‘ÿdDailable.‘ÍÙIf˜set“toŽ¡’…³-`âaudibleá'›Ù(the–Údefault),‘¶5Readline“attempts˜to˜ring“the˜terminal'sŽ¡’…³-bMÞell.Ž©‘Kâ:âbind-tty-special-charsŽ¡’…³-áIf–5>set›5?to“`âoná'˜(the“default),‘XôReadline“attempts˜to“bind˜the“con²!trolŽ¡’…³-cš²!haracters–{wtreated‘{vspMÞecially“b˜y“the‘{vk˜ernel's“terminal“driv˜er‘{vto“theirŽ¡’…³-Readline‘¦fequiv‘ÿdDalen²!ts.Ž¦‘Kâ:âblink-matching-parenŽ¡’…³-áIf–Yåset›Yäto“`âoná',‘†ÄReadline˜attempts“to˜brie
y“mo•²!v“e˜the–Yåcursor˜to“anŽ¡’…³-opMÞening–Âparenš²!thesis‘Áwhen“a“closing“paren˜thesis‘Áis“inserted.‘òðTheŽ¡’…³-default–¦fis“`âoffá'.ŽŸ‘Kâ:âcolored-completion-prefixŽ¡’…³-áIf–‡set“to“`âoná',›Wwhen‘‡listing“completions,˜Readline“displa²!ys“the“com-Ž¡’…³-mon–¤prex›£of“the˜set“of˜pMÞossible“completions˜using“a˜dieren²!t“color.Ž¡’…³-The–Ícolor“denitions“are“tak²!en“from“the“v‘ÿdDalue“of“the“âLS_COLORSŽ¡’…³-áen•²!vironmen“t–¦fv‘ÿdDariable.‘ÝÝThe“default“is“`âoffá'.Ž¦‘Kâ:âcolored-statsŽ¡’…³-áIf–0*set›0+to“`âoná',‘GÐReadline“displa²!ys˜pMÞossible“completions˜using“dieren²!tŽ¡’…³-colors–´•to›´”indicate“their˜le“t²!ypMÞe.‘iThe˜color“denitions˜are“tak²!enŽ¡’…³-from–õ;the›õ<v‘ÿdDalue“of“the“âLS_COLORS˜áen•²!vironmen“t–õ;v‘ÿdDariable.‘¢ÏThe“defaultŽ¡’…³-is‘¦f`âoffá'.Ž¦‘Kâ:âcomment-beginŽ¡’…³-áThe–}3string›}4to“insert˜at“the˜bMÞeginning“of˜the“line˜when“theŽ¡’…³-âinsert-comment–¦fácommand“is“executed.‘ÝÝThe“default“v‘ÿdDalue“is“â"#"á.Ž¦‘Kâ:âcompletion-display-widthŽ¡’…³-áThe›ÿn•²!um“bMÞer˜of–ÿscreen˜columns˜used˜to“displa•²!y˜pMÞossible˜matc“hesŽ¡’…³-when–{»pMÞerforming›{ºcompletion.‘ϤThe“v‘ÿdDalue“is˜ignored“if“it“is˜less“thanŽ¡’…³-0–%8or“greater“than›%9the“terminal“screen“width.‘²ÎA‘%v‘ÿdDalue˜of“0“will“causeŽ¡’…³-matcš²!hes–¦fto“bMÞe“displa˜y˜ed“one“pMÞer“line.‘ÝÝThe“default“v‘ÿdDalue“is“-1.ŽŸ‘Kâ:âcompletion-ignore-caseŽ¡’…³-áIf–IÓset›IÔto“`âoná',‘\WReadline˜pMÞerforms“lename“matc²!hing˜and“completionŽ¡’…³-in–¦fa“case-insensitiv²!e“fashion.‘ÝÝThe“default“v‘ÿdDalue“is“`âoffá'.Ž¦‘Kâ:âcompletion-map-caseŽ¡’…³-áIf–©ûset‘©úto“`âoná',›Üvand“åcompletion-ignore-case‘Gáis“enabled,˜Readline“treatsŽ¡’…³-hš²!yphens–´e(`â-á')“and“underscores“(`â_á')“as“equiv‘ÿdDalen˜t“when“pMÞerformingŽ¡’…³-case-insensitiv•²!e›ZÑlename‘ZÒmatc“hing˜and‘ZÒcompletion.‘	ûThe˜defaultŽ¡’…³-v‘ÿdDalue–¦fis“`âoffá'.Ž¦‘Kâ:âcompletion-prefix-display-lengthŽ¡’…³-áThe–ÂŒlength›‹in“c²!haracters˜of“the˜common“prex˜of“a˜list“of˜pMÞossibleŽ¡’…³-completions–Sthat›Ris“displa•²!y“ed–Swithout“moMÞdication.‘ÖWhen“set˜to“aŽŽŒ‹_`Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH6ŽŽŽ ƒ33 ý ÌÍ’…³-v‘ÿdDalue–ègreater›éthan“zero,‘0hcommon˜prexes“longer˜than“this˜v‘ÿdDalue“areŽ¤
33’…³-replaced–¦fwith“an“ellipsis“when“displa²!ying“pMÞossible“completions.Ž©Ûo‘Kâ:âcompletion-query-itemsŽ¡’…³-áThe›%Ðn•²!um“b•MÞer‘%Ïof˜p“ossible˜completions–%Ïthat˜determines˜when“the˜userŽ¡’…³-is–
ask²!ed›whether“the˜list“of˜pšMÞossibilities“should“b˜e‘displa•²!y“ed.‘	AÓIfŽ¡’…³-the›|1n•²!um“b•MÞer‘|2of˜p“ossible˜completions˜is–|2greater˜than˜or˜equal“to˜thisŽ¡’…³-v‘ÿdDalue,‘^<Readline›Fwill–Eask“whether“or“not“the˜user“wishes“to“viewŽ¡’…³-them;‘åóotherwise,‘Û\they›ÐÅare–ÐÄsimply“listed.‘\ùThis“v‘ÿdDariable“m²!ust˜bMÞe“setŽ¡’…³-to–›Yan››Zin²!teger“v‘ÿdDalue˜greater“than˜or“equal˜to“0.‘¼¸A‘›negativ²!e“v‘ÿdDalueŽ¡’…³-means–¦fReadline“should“nev²!er“ask.‘ÝÝThe“default“limit“is“â100á.ŽŸÛn‘Kâ:âconvert-metaŽ¡’…³-áIf–¦set“to›¦ž`âoná',‘ÙÅReadline“will˜con•²!v“ert›¦c“haracters˜with˜the‘¦žeigh“th˜bit˜setŽ¡’…³-to–Óùan“çasci>Ki“ákš²!ey“sequence“b˜y“stripping“the“eigh˜th“bit“and“prexingŽ¡’…³-an–íÎâESC“ác•²!haracter,‘¹con“v“erting–íÎthem“to‘íÍa“meta-prexed“k²!ey“sequence.Ž¡’…³-The–N½default›N¾v‘ÿdDalue“is“`âoná',‘`Fbut“will“bMÞe˜set“to“`âoffá'˜if“the“loMÞcale˜is“oneŽ¡’…³-that–¦fconš²!tains“eigh˜t-bit“c˜haracters.Ž¦‘Kâ:âdisable-completionŽ¡’…³-áIf–gset“to–g`âOná',‘—?Readline“will–ginhibit“w²!ord“completion.‘èCompletionŽ¡’…³-cš²!haracters–!Ÿwill“bMÞe‘!žinserted“in˜to“the“line“as“if‘!žthey“had“bšMÞeen“mapp˜edŽ¡’…³-to–¦fâself-insertá.‘ÝÝThe“default“is“`âoffá'.Ž¦‘Kâ:âecho-control-charactersŽ¡’…³-áWhen–¡îset›¡ïto“`âoná',‘¢Óon˜opMÞerating“systems˜that“indicate˜they“suppMÞortŽ¡’…³-it,‘Òýreadline‘Êecš²!hoMÞes–Êa“c˜haracter›ÊcorrespMÞonding“to“a˜signal“generatedŽ¡’…³-from–¦fthe“k²!eybMÞoard.‘ÝÝThe“default“is“`âoná'.Ž¦‘Kâ:âediting-modeŽ¡’…³-áThe–rÖâediting-mode“áv‘ÿdDariable“conš²!trols“whic˜h‘r×default“set“of“k˜ey“bind-Ž¡’…³-ings›?is–>used.‘§&By“default,‘#Readline˜starts˜up“in˜Emacs“editing˜moMÞde,Ž¡’…³-where›~«the‘~ªk•²!eystrok“es˜are–~ªmost˜similar˜to“Emacs.‘ПThis“v‘ÿdDariable˜canŽ¡’…³-bMÞe–¦fset“to“either“`âemacsá'“or“`âviá'.ŽŸÛn‘Kâ:âemacs-mode-stringŽ¡’…³-áIf–·the›¶åsho²!w-moMÞde-in-prompt‘I·áv‘ÿdDariable“is˜enabled,‘&Kthis“string˜is“dis-Ž¡’…³-pla•²!y“ed–ÃRimmediately›ÃQbMÞefore“the˜last“line“of˜the“primary˜prompt“whenŽ¡’…³-emacs–™Tediting›™UmoMÞde“is˜activ²!e.‘„,The˜v‘ÿdDalue“is“expanded˜lik²!e“a˜k²!ey“bind-Ž¡’…³-ing,‘,êso–Šthe›‹standard“set˜of“meta-˜and“con²!trol˜prexes“and˜bac²!kslashŽ¡’…³-escapšMÞe–Þ?sequences“is“a²!v‘ÿdDailable.‘›&Use“the“`â\1á'“and‘Þ@`â\2á'“escap˜es“to“b˜eginŽ¡’…³-and–„end›„sequences“of˜non-prinš²!ting“c˜haracters,‘»‰whic˜h“can‘„bMÞe“usedŽ¡’…³-to–zÕem²!bMÞed›zÔa“terminal˜conš²!trol“sequence“in˜to›zÔthe“moMÞde˜string.‘[)TheŽ¡’…³-default–¦fis“`â@á'.Ž¦‘Kâ:âenable-bracketed-pasteŽ¡’…³-áWhen–ò€set“to“`âOná',‘{Readline“will“congure“the‘òterminal“in“a“w•²!a“y‘ò€thatŽ¡’…³-will–g"enable“it“to“insert“eacš²!h“paste‘g#in˜to“the“editing“buer“as“a“singleŽ¡’…³-string–ëàof“cš²!haracters,‘ý>instead“of“treating“eac˜h‘ëßc˜haracter“as“if“it“hadŽ¡’…³-bšMÞeen–ýread‘ýfrom“the“k²!eyb˜oard.‘á¿This“can“prev•²!en“t‘ýpasted‘ýc“haractersŽ¡’…³-from–¦fbMÞeing“in²!terpreted“as“editing“commands.‘ÝÝThe“default“is“`âOná'.ŽŽŒ‹kLŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH7ŽŽŽ ƒ33 ý ÌÍ‘Kâ:âenable-keypadŽ¤
33’…³-áWhen–Ìïset“to“`âoná',‘ømReadline“will“try‘Ìîto“enable“the“application“k²!eypadŽ¡’…³-when–1Ûit›1Üis“called.‘·Some“systems“need˜this“to˜enable“the˜arroš²!w“k˜eys.Ž¡’…³-The–¦fdefault“is“`âoffá'.Ž©Ûo‘Kâ:âenable-meta-keyŽ¡’…³-áWhen–ÇJset›ÇIto“`âoná',‘‚Readline˜will“try“to˜enable“an²!y˜meta“moMÞdierŽ¡’…³-k²!ey–Ÿthe› terminal“claims“to˜suppMÞort“when“it“is˜called.‘û‰On“man²!yŽ¡’…³-terminals,‘^=the–9ymeta“kš²!ey“is“used“to“send“eigh˜t-bit“c˜haracters.‘—TheŽ¡’…³-default–¦fis“`âoná'.ŽŸÛn‘Kâ:âexpand-tildeŽ¡’…³-áIf–Pset“to›P`âoná',‘a[tilde“expansion“is“pMÞerformed˜when“Readline“attemptsŽ¡’…³-w²!ord–¦fcompletion.‘ÝÝThe“default“is“`âoffá'.Ž¦‘Kâ:âhistory-preserve-pointŽ¡’…³-áIf–œset“to›`âoná',‘Zéthe“history“coMÞde“attempts“to“place˜the“pMÞoin²!t“(theŽ¡’…³-curren²!t–;kcursor›;jpMÞosition)“at˜the“same“loMÞcation˜on“eac²!h˜history“lineŽ¡’…³-retriev²!ed–^Éwith“âprevious-history“áor‘^Êânext-historyá.‘The“defaultŽ¡’…³-is‘¦f`âoffá'.Ž¦‘Kâ:âhistory-sizeŽ¡’…³-áSet–°ÿthe“maxim•²!um‘°þn“um“bMÞer–°ÿof“history“enš²!tries“sa˜v˜ed‘°þin“the“historyŽ¡’…³-list.‘óIf–mset“to“zero,‘(oanš²!y“existing“history“en˜tries“are‘ndeleted“and“noŽ¡’…³-new–Ïqenš²!tries“are–Ïpsa˜v˜ed.‘XþIf“set–Ïqto“a“v‘ÿdDalue‘Ïpless“than“zero,‘Ù³the“n˜um˜bMÞerŽ¡’…³-of–ª»history›ª¼en²!tries“is˜not“limited.‘êÝBy˜default,‘«Ñthe“n•²!um“bMÞer˜of‘ª»historyŽ¡’…³-en²!tries–ôbis“not›ôalimited.‘ÇÑIf“an˜attempt“is“made“to˜set“åhistory-size‘‘iátoŽ¡’…³-a–ÿònon-nš²!umeric“v‘ÿdDalue,‘Vthe“maxim˜um“n˜um˜bMÞer“of‘ÿóhistory“en˜tries“willŽ¡’…³-bMÞe–¦fset“to“500.Ž¦‘Kâ:âhorizontal-scroll-modeŽ¡’…³-áThis–NËv‘ÿdDariable›NÌcan“bMÞe“set“to˜either“`âoná'“or“`âoffá'.‘×
Setting“it˜to“`âoná'Ž¡’…³-means–$jthat“the“text“of“the‘$ilines“bMÞeing“edited“will“scroll“horizon²!tallyŽ¡’…³-on–ÎÁa›ÎÂsingle“screen“line˜when“they“are“longer˜than“the“width˜of“theŽ¡’…³-screen,‘V·instead–BËof“wrapping“on²!to‘BÌa“new“screen“line.‘¼ªThis“v‘ÿdDariable“isŽ¡’…³-automatically–‚“set“to›‚’`âoná'“for“terminals“of˜heigh²!t“1.‘ÑìBy“default,‘‰½thisŽ¡’…³-v‘ÿdDariable–¦fis“set“to“`âoffá'.ŽŸÛn‘Kâ:âinput-metaŽ¡’…³-áIf–¾Ìset›¾Ëto“`âoná',‘ÄåReadline˜will“enable˜eigh²!t-bit“input˜(it“will˜not“clearŽ¡’…³-the–Ã"eighš²!th“bit“in‘Ã!the“c˜haracters“it“reads),‘
Pregardless“of“what“theŽ¡’…³-terminal–C-claims“it“can“suppMÞort.‘	´3The“default“v‘ÿdDalue“is“`âoffá',‘ª^butŽ¡’…³-Readline–Û‚will“set“it“to“`âoná'‘Ûif“the“loMÞcale“conš²!tains“eigh˜t-bit“c˜haracters.Ž¡’…³-The–¦fname“âmeta-flag“áis“a“synon²!ym“for“this“v‘ÿdDariable.Ž¦‘Kâ:âisearch-terminatorsŽ¡’…³-áThe–5Ñstring›5Òof“c²!haracters˜that“should“terminate˜an“incremen²!talŽ¡’…³-searcš²!h–ú|without“subsequen˜tly“executing“the“c˜haracter“as“a“commandŽ¡’…³-(see–Z±Section“1.2.5“[Searc²!hing],‘ÇÃpage“3).‘	ú¿If“this“v‘ÿdDariable“has“notŽ¡’…³-bMÞeen–Bggivš²!en“a“v‘ÿdDalue,‘igthe“c˜haracters‘BfâESC“áand“èC-J“áwill“terminate“anŽ¡’…³-incremen•²!tal‘¦fsearc“h.ŽŽŒ‹yŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH8ŽŽŽ ƒ33 ý ÌÍ‘Kâ:âkeymap‘R÷áSets–¿TReadline's“idea“of“the‘¿Ucurrenš²!t“k˜eymap“for“k˜ey“bindingŽ¤
33’…³-commands.‘‚¨Built-in–ÝTâkeymap›ÝUánames“are˜âemacsá,‘+âemacs-standardá,Ž¡’…³-âemacs-metaá,–0âemacs-ctlxá,“âviá,‘0âvi-moveá,“âvi-commandá,“andŽ¡’…³-âvi-insertá.‘
2âvi–aØáis“equiv‘ÿdDalen²!t“to“âvi-command“á(âvi-move‘a×áis“also“aŽ¡’…³-synon•²!ym);‘úaâemacs›‰áis‘‰
equiv‘ÿdDalen“t˜to‘‰
âemacs-standardá.‘…ÔApplicationsŽ¡’…³-ma²!y–ºadd›ºadditional“names.‘èThe“default“v‘ÿdDalue˜is“âemacsá.‘èThe“v‘ÿdDalueŽ¡’…³-of–¦fthe“âediting-mode“áv‘ÿdDariable“also“aects“the“default“k²!eymap.Ž©Ûo‘Kâ:âkeyseq-timeoutŽ¡’…³-áSpMÞecies–„the“duration“Readline“will“wš²!ait‘…for“a“c˜haracter“when“read-Ž¡’…³-ing–—Ían‘—Ìamš²!biguous“k˜ey“sequence›—Ì(one“that˜can“form“a˜complete“k²!eyŽ¡’…³-sequence–ý-using›ý.the“input˜read“so“far,‘ßor˜can“tak²!e˜additional“inputŽ¡’…³-to–óKcomplete“a“longer“kš²!ey“sequence).‘ÄŒIf“no“input“is“receiv˜ed“withinŽ¡’…³-the–*átimeout,‘‹ÿReadline›*àwill“use“the“shorter“but˜complete“k²!ey“se-Ž¡’…³-quence.‘«éReadline›‹uses–Šthis“v‘ÿdDalue“to˜determine“whether“or˜not“inputŽ¡’…³-is–­«a²!v‘ÿdDailable›­ªon“the˜curren²!t“input˜source“(ârl_instream˜áb²!y“default).Ž¡’…³-The–	˜v›ÿdDalue“is“spMÞecied“in“milliseconds,‘(ôso“a“v˜alue“of“1000“means“thatŽ¡’…³-Readline–®Äwill›®Ãw²!ait“one˜second“for“additional˜input.‘‹RIf“this˜v‘ÿdDariable“isŽ¡’…³-set–Yàto›Yßa“v‘ÿdDalue˜less“than˜or“equal“to˜zero,‘i.or˜to“a˜non-n²!umeric“v‘ÿdDalue,Ž¡’…³-Readline–ƒûwill‘ƒúwš²!ait“un˜til“another“k˜ey›ƒúis“pressed“to“decide˜whicš²!h“k˜eyŽ¡’…³-sequence–¦fto“complete.‘ÝÝThe“default“v‘ÿdDalue“is“â500á.ŽŸÛn‘Kâ:âmark-directoriesŽ¡’…³-áIf––¿set“to›–¾`âoná',‘ÒÕcompleted“directory“names“ha•²!v“e˜a––¿slash“appMÞended.Ž¡’…³-The–¦fdefault“is“`âoná'.Ž¦‘Kâ:âmark-modified-linesŽ¡’…³-áThis–N”v‘ÿdDariable,‘xŸwhen“set“to“`âoná',‘x causes“Readline“to“displa²!y“an“as-Ž¡’…³-terisk–š(`â*á')›™at“the“start˜of“history˜lines“whicš²!h“ha˜v˜e‘™bšMÞeen“mo˜died.Ž¡’…³-This–¦fv‘ÿdDariable“is“`âoffá'“b²!y“default.Ž¦‘Kâ:âmark-symlinked-directoriesŽ¡’…³-áIf–$Ôset›$Óto“`âoná',‘mcompleted“names“whic²!h˜are“sym²!bMÞolic˜links“toŽ¡’…³-directories›\Ëha•²!v“e˜a˜slash˜appMÞended‘\Ì(sub‘›»ject˜to˜the˜v‘ÿdDalue˜ofŽ¡’…³-âmark-directoriesá).‘ÝÝThe–¦fdefault“is“`âoffá'.Ž¦‘Kâ:âmatch-hidden-filesŽ¡’…³-áThis–«sv‘ÿdDariable,›Ý£when“set“to“`âoná',˜causes“Readline“to‘«rmatc²!h“les“whoseŽ¡’…³-names–MÍbšMÞegin“with“a“`â.á'“(hidden“les)“when“p˜erforming“lenameŽ¡’…³-completion.‘ÎþIf–öÆset“to–öÇ`âoffá',‘JÝthe“leading–öÆ`â.á'“mš²!ust“bMÞe‘öÇsupplied“b˜yŽ¡’…³-the–Luser›Min“the“lename“to˜bMÞe“completed.‘9This“v‘ÿdDariable“is˜`âoná'“b²!yŽ¡’…³-default.ŽŸÛn‘Kâ:âmenu-complete-display-prefixŽ¡’…³-áIf–ßset“to‘Þ`âoná',‘ýmenš²!u“completion“displa˜ys“the“common‘Þprex“of“theŽ¡’…³-list–ƒXof›ƒYpMÞossible“completions˜(whicš²!h“ma˜y‘ƒYbMÞe“empt˜y)‘ƒYbMÞefore“cyclingŽ¡’…³-through–¦fthe“list.‘ÝÝThe“default“is“`âoffá'.Ž¦‘Kâ:âoutput-metaŽ¡’…³-áIf–Aset“to“`âoná',‘gªReadline“will“displaš²!y“c˜haracters“with“the“eigh˜th“bitŽ¡’…³-set–`!directly“rather“than“as“a‘`"meta-prexed“escapMÞe“sequence.‘TheŽŽŒ‹	…‡Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’MH9ŽŽŽ ƒ33 ý ÌÍ’…³-default–kis“`âoffá',‘0Ðbut“Readline“will“set“it“to‘j`âoná'“if“the“loMÞcale“con²!tainsŽ¤
33’…³-eigh•²!t-bit‘¦fc“haracters.Ž©¾-‘Kâ:âpage-completionsŽ¡’…³-áIf–ôset“to‘ó`âoná',‘,×Readline“uses“an“inš²!ternal“âmoreá-lik˜e‘ópager“to“displa˜yŽ¡’…³-a–ã¹screenful“of“pMÞossible‘ã¸completions“at“a“time.‘•ÕThis“v‘ÿdDariable“is“`âoná'Ž¡’…³-b²!y‘¦fdefault.Ž¦‘Kâ:âprint-completions-horizontallyŽ¡’…³-áIf–àset›àto“`âoná',‘»Readline˜will“displa²!y“completions“with˜matc²!hes“sortedŽ¡’…³-horizonš²!tally–8Ôin“alphabMÞetical“order,‘orather“than“do˜wn“the“screen.Ž¡’…³-The–¦fdefault“is“`âoffá'.Ž¦‘Kâ:ârevert-all-at-newlineŽ¡’…³-áIf–Œêset“to“`âoná',‘’Readline“will“undo“all‘Œëc²!hanges“to“history“lines“bMÞeforeŽ¡’…³-returning–qXwhen›qYâaccept-line“áis˜executed.‘Ì-By˜default,‘{õhistory“linesŽ¡’…³-ma²!y–¦bšMÞe“mo˜died“and“retain“individual‘¥undo“lists“across“calls“toŽ¡’…³-âreadlineá.‘ÝÝThe–¦fdefault“is“`âoffá'.ŽŸ¾,‘Kâ:âshow-all-if-ambiguousŽ¡’…³-áThis–™]alters“the“default“bMÞeha²!vior“of“the‘™\completion“functions.‘Ù…If“setŽ¡’…³-to–L`âoná',‘^.wš²!ords“whic˜h‘L ha˜v˜e“more“than›L one“pMÞossible˜completion“causeŽ¡’…³-the–­matc²!hes“to“bšMÞe“listed“immediately‘­instead“of“ringing“the“b˜ell.Ž¡’…³-The–¦fdefault“v‘ÿdDalue“is“`âoffá'.Ž¦‘Kâ:âshow-all-if-unmodifiedŽ¡’…³-áThis–¤‰alters“the›¤Šdefault“bMÞeha²!vior“of“the“completion˜functions“in“aŽ¡’…³-fashion–€similar“to“åsho•²!w-all-if-am“biguousá.‘«If–€set“to“`âoná',‘-®wš²!ords“whic˜hŽ¡’…³-ha•²!v“e–²Ömore“than“one“pšMÞossible‘²×completion“without“an²!y“p˜ossible“par-Ž¡’…³-tial–Ãcompletion›Ä(the“pMÞossible˜completions“don't“share˜a“commonŽ¡’…³-prex)–¢cause›¢the“matc²!hes“to˜bMÞe“listed“immediately“instead˜of“ring-Ž¡’…³-ing–¦fthe“bMÞell.‘ÝÝThe“default“v‘ÿdDalue“is“`âoffá'.Ž¦‘Kâ:âshow-mode-in-promptŽ¡’…³-áIf–êset›êto“`âoná',‘¸add˜a“string“to˜the“bMÞeginning“of“the˜prompt“indicatingŽ¡’…³-the–ûûediting“moMÞde:‘‰emacs,›`vi“command,˜or“vi“insertion.‘Þ›The“moMÞdeŽ¡’…³-strings–rare‘ruser-settable“(e.g.,‘å™åemacs-moMÞde-string‘ðá).‘
BYThe“defaultŽ¡’…³-v‘ÿdDalue–¦fis“`âoffá'.Ž¦‘Kâ:âskip-completed-textŽ¡’…³-áIf–ñjset“to“`âoná',‘+this‘ñialters“the“default“completion“bMÞeha²!vior“when“in-Ž¡’…³-serting–}=a‘}<single“matcš²!h“in˜to“the‘}<line.‘Ð%It's“only“activ˜e‘}<when“pMÞerform-Ž¡’…³-ing–'écompletion›'èin“the˜middle“of˜a“w²!ord.‘bdIf“enabled,‘HHreadline“doMÞesŽ¡’…³-not–à.insert›à-c²!haracters“from˜the“completion˜that“matc•²!h˜c“haractersŽ¡’…³-after–lpMÞoinš²!t“in“the‘lžw˜ord“bšMÞeing“completed,‘ž*so‘lžp˜ortions“of“the“w²!ordŽ¡’…³-follo²!wing–Íÿthe›Íþcursor“are˜not“duplicated.‘T¦F‘ÿeor“instance,‘×äif“this˜is“en-Ž¡’…³-abled,‘*0attempting–Ü¢completion“when“the“cursor“is“after“the“`âeá'“inŽ¡’…³-`âMakefileá'–‚will›‚result“in˜`âMakefileá'“rather˜than“`âMakefilefileá',Ž¡’…³-assuming–<there“is“a“single“pMÞossible‘<completion.‘žÀThe“default“v‘ÿdDalueŽ¡’…³-is‘¦f`âoffá'.ŽŽŒ‹
’½Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®10ŽŽŽ ƒ33 ý ÌÍ‘Kâ:âvi-cmd-mode-stringŽ¤
33’…³-áIf–·the›¶åsho²!w-moMÞde-in-prompt‘I·áv‘ÿdDariable“is˜enabled,‘&Kthis“string˜is“dis-Ž¡’…³-pla•²!y“ed–ÃRimmediately›ÃQbMÞefore“the˜last“line“of˜the“primary˜prompt“whenŽ¡’…³-vi–Þ:editing“mošMÞde“is“activ²!e“and“in“command“mo˜de.‘…YThe“v‘ÿdDalue“is“ex-Ž¡’…³-panded–:mlikš²!e“a‘:lk˜ey“binding,‘Pso“the“standard“set“of‘:lmeta-“and“con˜trolŽ¡’…³-prexes–3Šand›3‰bac²!kslash“escapMÞe˜sequences“is˜a²!v‘ÿdDailable.‘…HUse˜the“`â\1á'Ž¡’…³-and–àê`â\2á'‘àëescapšMÞes“to“b˜egin“and›àëend“sequences“of˜non-prinš²!ting“c˜harac-Ž¡’…³-ters,‘³´whicš²!h–±can“bMÞe“used“to“em˜bMÞed“a“terminal“con˜trol“sequence“in˜toŽ¡’…³-the–¦fmoMÞde“string.‘ÝÝThe“default“is“`â(cmd)á'.Ž©ÌΑKâ:âvi-ins-mode-stringŽ¡’…³-áIf–·the›¶åsho²!w-moMÞde-in-prompt‘I·áv‘ÿdDariable“is˜enabled,‘&Kthis“string˜is“dis-Ž¡’…³-pla•²!y“ed–ÃRimmediately›ÃQbMÞefore“the˜last“line“of˜the“primary˜prompt“whenŽ¡’…³-vi–5Œediting›5moMÞde“is˜activ²!e“and˜in“insertion“moMÞde.‘‹QThe“v‘ÿdDalue˜is“ex-Ž¡’…³-panded–:mlikš²!e“a‘:lk˜ey“binding,‘Pso“the“standard“set“of‘:lmeta-“and“con˜trolŽ¡’…³-prexes–3Šand›3‰bac²!kslash“escapMÞe˜sequences“is˜a²!v‘ÿdDailable.‘…HUse˜the“`â\1á'Ž¡’…³-and–àê`â\2á'‘àëescapšMÞes“to“b˜egin“and›àëend“sequences“of˜non-prinš²!ting“c˜harac-Ž¡’…³-ters,‘³´whicš²!h–±can“bMÞe“used“to“em˜bMÞed“a“terminal“con˜trol“sequence“in˜toŽ¡’…³-the–¦fmoMÞde“string.‘ÝÝThe“default“is“`â(ins)á'.Ž¦‘Kâ:âvisible-statsŽ¡’…³-áIf–Ôvset“to“`âoná',‘ßúa“cš²!haracter“denoting‘Ôwa“le's“t˜ypšMÞe“is“app˜ended“to“theŽ¡’…³-lename–¦fwhen“listing“pMÞossible“completions.‘ÝÝThe“default“is“`âoffá'.Ž¦‘GKey‘¦fBindingsŽ¡‘Kâ:The–synš²!tax“for“con˜trolling‘ k˜ey“bindings“in“the“init“le“is“simple.‘		First“y˜ouŽ¡‘Kâ:need–QÓto“nd›QÔthe“name“of“the˜command“that“yš²!ou“w˜an˜t“to‘QÔc˜hange.‘Á¬The“follo˜wingŽ¡‘Kâ:sections–Ocon²!tain›Otables“of˜the“command˜name,‘yLthe˜default“kš²!eybinding,‘yMif“an˜y‘ÿe,Ž¡‘Kâ:and–¦fa“short“description“of“what“the“command“doMÞes.ŽŸ€‘Kâ:Once›P…y•²!ou‘P†kno“w˜the˜name–P†of˜the“command,‘{simply“place˜on“a˜line˜in“the˜initŽ¡‘Kâ:le–the›name“of“the˜kš²!ey“y˜ou“wish›to“bind“the“command˜to,›$'a“colon,˜and“thenŽ¡‘Kâ:the–Üÿname›Üþof“the˜command.‘§There˜can“bMÞe˜no“space˜bMÞet•²!w“een‘Üÿthe˜k“ey‘Üÿname˜andŽ¡‘Kâ:the–çcolon“{“that“will“bMÞe“inš²!terpreted“as“part“of“the“k˜ey“name.‘ŸÿThe“name“ofŽ¡‘Kâ:the–$Ûkš²!ey“can“bMÞe‘$Úexpressed“in“dieren˜t“w˜a˜ys,‘DxdepMÞending“on‘$Úwhat“y˜ou“nd“mostŽ¡‘Kâ:comfortable.ŽŸ€‘Kâ:In–SÞaddition›Sßto“command“names,‘<readline˜alloš²!ws“k˜eys“to‘SßbšMÞe“b˜ound“to‘Sßa“stringŽ¡‘Kâ:that–¦fis“inserted“when“the“k²!ey“is“pressed“(a“åmacro‘ŒÐá).Ž¦‘Kâ:åk²!eyname‘á:‘ÝÝåfunction-name‘Cmáor‘¦fåmacroŽŽ¡’…³-kš²!eyname‘jáis–tcthe“name‘tdof“a“k˜ey“spMÞelled“out“in“English.‘Í2F‘ÿeor“example:ŽŸ€’¢›‚âControl-u:‘¿ªuniversal-argumentŽ¡’¢›‚Meta-Rubout:‘¿ªbackward-kill-wordŽ¡’¢›‚Control-o:–¿ª">“output"ŽŸ€’…³-áIn–\Àthe‘\¿example“abšMÞo•²!v“e,‘
JSèC-u–\Àáis“b˜ound“to‘\¿the“functionŽ¡’…³-âuniversal-argumentá,‘|èM-DEL›
&áis–
%bMÞound“to˜the“functionŽ¡’…³-âbackward-kill-wordá,‘	šand–iLèC-o›iKáis“bMÞound˜to“run˜the“macroŽ¡’…³-expressed–~Jon“the›~Irigh²!t“hand“side“(that“is,‘ôBto“insert˜the“text“`â>Ž¡’…³-outputá'–¦fin²!to“the“line).ŽŽŒ‹Ÿ&Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®11ŽŽŽ ƒ33 ý ÌÍ’…³-A‘nbn•²!um“bšMÞer–o[of“sym²!b˜olic“c²!haracter“names“are“recognized“whileŽ¤
33’…³-proMÞcessing–Ê3this“kš²!ey“binding“syn˜tax:‘%wåDELá,–&åESCá,“åESCAPEá,“åLFDá,Ž¡’…³-åNEWLINEá,–¦fåRETá,“åRETURNá,“åRš²!UBOUTá,“åSP‘ÿeA˜CEá,“åSPCá,“and“åT‘ÿeABá.ŽŸ#בKâ:â"åk²!eyseq@æâ"á:‘ÝÝåfunction-name‘Cmáor‘¦fåmacroŽŽ¡’…³-k•²!eyseq‘ú«ádiers‘¹Äfrom›¹Ååk“eyname‘VËáabMÞo“v“e˜in˜that–¹Ästrings˜denoting“an˜en-Ž¡’…³-tire–hkš²!ey“sequence“can“b•MÞe‘gsp“ecied,‘%éb˜y‘gplacing–hthe“k˜ey“sequence“inŽ¡’…³-double–‰ôquotes.‘ÔbSome“çgnu“áEmacs“stš²!yle“k˜ey“escapšMÞes“can“b˜e“used,‘¤asŽ¡’…³-in–Ãthe›Âfollo²!wing“example,‘(Ùbut˜the“spMÞecial˜c²!haracter“names˜are“notŽ¡’…³-recognized.Ž©+…’¢›‚â"\C-u":‘¿ªuniversal-argumentŽ¡’¢›‚"\C-x\C-r":‘¿ªre-read-init-fileŽ¡’¢›‚"\e[11~":–¿ª"Function“Key“1"Ž¦’…³-áIn–Â×the“abšMÞo•²!v“e–Â×example,‘ÉòèC-u“áis“again‘ÂØb˜ound“to“the“functionŽ¡’…³-âuniversal-argument–?ßá(just“as“it“w²!as“in“the“rst‘?Þexample),‘¦=`èC-xŽ¡’…³-C-rá'–¤Öis“bMÞound“to“the“function“âre-read-init-fileá,‘¥&and“`âESC–¦f[“1“1Ž¡’…³-~á'–¦fis“bMÞound“to“insert“the“text“`âFunction“Key“1á'.Ž©#Ø‘Kâ:The–’Äfolloš²!wing“çgnu“áEmacs“st˜yle“escapMÞe‘’Åsequences“are“a˜v‘ÿdDailable“when“spMÞecifyingŽ¡‘Kâ:k²!ey‘¦fsequences:Ž¤#בKâ:è\C-‘(‘õácon²!trol‘¦fprexŽ¡‘Kâ:è\M-‘(‘õámeta‘¦fprexŽ¡‘Kâ:è\e‘.QŸáan–¦fescapMÞe“c²!haracterŽ¡‘Kâ:è\\‘.QŸábac²!kslashŽ¦‘Kâ:è\â"‘.QŸ"á,–¦fa“double“quotation“markŽ¡‘Kâ:è\'‘.QŸâ'á,–¦fa“single“quote“or“apMÞostropheŽ¡‘Kâ:In–Qaddition“to›Qthe“çgnu“áEmacs“st²!yle˜escapMÞe“sequences,‘b)a“second˜set“of“bac²!kslashŽŸ
33‘Kâ:escapMÞes–¦fis“a²!v‘ÿdDailable:Ž¡‘Kâ:â\a‘.QŸáalert‘¦f(bMÞell)Ž¡‘Kâ:â\b‘.QŸábac²!kspaceŽ¦‘Kâ:â\d‘.QŸádeleteŽ¡‘Kâ:â\f‘.QŸáform‘¦ffeedŽ¡‘Kâ:â\n‘.QŸánewlineŽ¡‘Kâ:â\r‘.QŸácarriage‘¦freturnŽ¡‘Kâ:â\t‘.QŸáhorizon²!tal‘¦ftabŽ¦‘Kâ:â\v‘.QŸáv²!ertical‘¦ftabŽ¡‘Kâ:â\ènnn‘"ÒKáthe–$«eighš²!t-bit“c˜haracter‘$ªwhose“v›ÿdDalue“is“the“oMÞctal“v˜alue‘$ªånnn“á(one“toŽ©
33’…³-three‘¦fdigits)Ž¡‘Kâ:â\xèHH‘"ÒKáthe›˜eigh•²!t-bit‘˜c“haracter˜whose˜v‘ÿdDalue–˜is˜the˜hexadecimal“v‘ÿdDalue˜åHHŽ¦’…³-á(one–¦for“t•²!w“o–¦fhex“digits)ŽŽŒ‹¬âŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®12ŽŽŽ ƒ33 ý ÌÍ‘Kâ:When–}Ëenš²!tering“the“text“of“a“macro,‘³£single“or“double“quotes“m˜ust“bMÞe“used“toŽ¤
33‘Kâ:indicate–“Ša›“‰macro“denition.‘‚?Unquoted˜text“is“assumed“to˜bMÞe“a“function˜name.‘‚?InŽ¡‘Kâ:the‘Ämacro›Åb•MÞo“dy‘ÿe,‘Ç~the˜bac²!kslash‘Äescap“es˜describ“ed‘Äab“o•²!v“e˜are‘Äexpanded.‘€ýBac“kslashŽ¡‘Kâ:will–Íquote‘Íanš²!y“other“c˜haracter›Íin“the“macro˜text,‘Éincluding“`â"á'˜and“`â'á'.‘RF‘ÿeorŽ¡‘Kâ:example,‘4 the–folloš²!wing‘Žbinding“will“mak˜e›Ž`èC-x‘¦fâ\á'“insert“a˜single“`â\á'“in²!to˜the“line:ŽŸLÍ‘hÊâ"\C-x\\":‘¿ª"\\"ŽŸ34‘Gëg1.3.2‘d(Conditional–íMInit“ConstructsŽŽŸ³3‘GáReadline–iimplemenš²!ts“a“facilit˜y“similar“in‘ispirit“to“the“conditional“compilation“features“ofŽ¡‘Gthe–¯JC‘¯HpreproMÞcessor‘¯Kwhicš²!h“allo˜ws‘¯Kk˜ey“bindings“and›¯Kv‘ÿdDariable“settings“to˜bšMÞe“p˜erformed‘¯Kas“theŽ¡‘Gresult–¦fof“tests.‘ÝÝThere“are“four“parser“directiv²!es“used.ŽŸ€‘Gâ$if‘(‘õáThe–ÃNâ$if“áconstruct“allo²!ws“bindings“to“bšMÞe‘ÃOmade“based“on“the“editing“mo˜de,‘ʈtheŽ¡‘Kâ:terminal–[êbMÞeing›[éused,‘‰Jor“the“application˜using“Readline.‘þhThe˜text“of˜the“test,Ž¡‘Kâ:after–‹\an²!y›‹[comparison“opMÞerator,‘Äextends˜to“the“end˜of“the˜line;‘”_unless“otherwiseŽ¡‘Kâ:noted,–¦fno“c²!haracters“are“required“to“isolate“it.Ž©fg‘Kâ:âmode‘"ÒKáThe–žÞâmode=›žßáform“of“the“â$if“ádirectiv²!e˜is“used“to“test˜whether“Read-Ž¡’…³-line–3½is“in‘3¼âemacs“áor“âvi“ámošMÞde.‘	…áThis“ma²!y“b˜e‘3¼used“in“conjunctionŽ¡’…³-with–º the“`âset‘¦fkeymapá'“command,–ÿfor‘º!instance,“to–º set“bindings“inŽ¡’…³-the–ÌÇâemacs-standard“áand›ÌÆâemacs-ctlx“ák²!eymaps“only“if˜Readline“isŽ¡’…³-starting–¦fout“in“âemacs“ámoMÞde.Ž¦‘Kâ:âterm‘"ÒKáThe–<âterm=“áform›<ma²!y“bMÞe“used“to“include˜terminal-spMÞecic“k²!ey“bind-Ž¡’…³-ings,‘ƒpMÞerhaps–Vîto“bind›Víthe“k²!ey˜sequences“output“b²!y˜the“terminal'sŽ¡’…³-function–Þ€kš²!eys.‘›;The“w˜ord“on‘Þthe“righ˜t“side“of“the“`â=á'‘Þis“tested“againstŽ¡’…³-bšMÞoth–šPthe“full“name“of“the‘šOterminal“and“the“p˜ortion“of“the“terminalŽ¡’…³-name–×bMÞefore›Öthe“rst˜`â-á'.‘ÿ/This“allo²!ws˜âsun“áto˜matc²!h“bMÞoth˜âsun“áandŽ¡’…³-âsun-cmdá,–¦ffor“instance.ŽŸfh‘Kâ:âversion‘“MáThe–^@âversion›^Aátest“ma²!y˜bMÞe“used˜to“pMÞerform˜comparisons“againstŽ¡’…³-spMÞecic–6Readline“vš²!ersions.‘îMThe“âversion“áexpands“to“the“curren˜tŽ¡’…³-Readline–ÞÊv²!ersion.‘›TThe“set›ÞËof“comparison“opMÞerators“includes˜`â=á'“(andŽ¡’…³-`â==á'),–âÇ`â!=á',›âÈ`â<=á',“`â>=á',˜`â<á',“and–Ö´`â>á'.‘nÇThe“vš²!ersion“n˜um˜bMÞer“supplied“onŽ¡’…³-the–ƒrigh²!t›‚side“of“the“opMÞerator˜consists“of“a“ma‘›»jor˜vš²!ersion“n˜um˜bMÞer,Ž¡’…³-an–uµoptional›u´decimal“pMÞoin²!t,‘éˆand˜an“optional“minor˜v²!ersion“(e.g.,Ž¡’…³-`â7.1á').‘ÁâIf–Ruthe›Rtminor“v²!ersion“is˜omitted,‘c?it˜is“assumed“to˜bMÞe“`â0á'.‘ÁâTheŽ¡’…³-opšMÞerator–ìma²!y“b˜e“separated“from“the‘ëstring“âversion“áand“from“theŽ¡’…³-v•²!ersion›§¯n“um“bMÞer‘§°argumen“t˜b“y˜whitespace.‘á¹The‘§°follo“wing˜exampleŽ¡’…³-sets–¦fa“v‘ÿdDariable“if“the“Readline“vš²!ersion“bMÞeing“used“is“7.0“or“new˜er:ŽŸLÍ’¢›‚â$if–¿ªversion“>=“7.0Ž¡’¢›‚set–¿ªshow-mode-in-prompt“onŽ¡’¢›‚$endifŽ¦‘Kâ:applicationŽ¡’…³-áThe–¢âåapplication“áconstruct›¢ãis“used“to“include˜application-spMÞecic“set-Ž¡’…³-tings.‘£mEac²!h–÷program“using“the‘÷Readline“library“sets“the“åapplicationŽ¡’…³-nameá,‘õwand–É<y²!ou“can›É;test“for“a˜particular“v‘ÿdDalue.‘”$This“could“bMÞe˜used“toŽ¡’…³-bind–ñDk²!ey“sequences“to“functions“useful“for‘ñCa“spMÞecic“program.‘¾wF‘ÿeorŽŽŒ‹
µìŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®13ŽŽŽ ƒ33 ý ÌÍ’…³-instance,‘Ðthe–÷‡folloš²!wing“command“adds‘÷ˆa“k˜ey“sequence‘÷ˆthat“quotesŽ¤
33’…³-the–¦fcurrenš²!t“or“previous“w˜ord“in“Bash:Ž©33’¢›‚â$if‘¿ªBashŽ¡’¢›‚#–¿ªQuote“the“current“or“previous“wordŽ¡’¢›‚"\C-xq":‘¿ª"\eb\"\ef\""Ž¡’¢›‚$endifŽŸ33‘Kâ:variable‘Ó£áThe–ùVåv‘ÿdDariable‘–]áconstruct“proš²!vides“simple‘ùUequalit˜y“tests“for“ReadlineŽ¡’…³-v–ÿdDariables›Îgand‘Îhv“alues.‘UáThe˜p•MÞermitted‘Îhcomparison˜op“erators‘Îhare˜`â=á',Ž¡’…³-`â==á',‘Û¢and–j—`â!=á'.‘
*oThe›j–v‘ÿdDariable“name˜m²!ust“bMÞe“separated˜from“theŽ¡’…³-comparison–ü&opšMÞerator“b²!y‘ü'whitespace;‘4æthe“op˜erator‘ü'ma²!y“b˜e“separatedŽ¡’…³-from–pthe›qv‘ÿdDalue“on“the˜righš²!t“hand“side“b˜y‘qwhitespace.‘!üBoth“stringŽ¡’…³-and›fb•MÞo“olean˜v‘ÿdDariables˜ma²!y˜b“e˜tested.‘nÞBo“olean˜v‘ÿdDariables˜m²!ust˜b“eŽ¡’…³-tested–jEagainst“the“v‘ÿdDalues“åon“áand“åoá.‘
)zThe“follo²!wing“example“isŽ¡’…³-equiv‘ÿdDalen²!t–¦fto“the“âmode=emacs“átest“describšMÞed“ab˜o•²!v“e:Ž¦’¢›‚â$if–¿ªediting-mode“==“emacsŽ¡’¢›‚set–¿ªshow-mode-in-prompt“onŽ¡’¢›‚$endifŽ¤33‘G$endif‘R÷áThis–£™command,‘¤(as“seen“in“the›£˜previous“example,‘¤)terminates˜an“â$if“ácommand.Ž¡‘Gâ$else‘¡áCommands–¦fin“this“brancš²!h“of“the“â$if“ádirectiv˜e“are“executed“if“the“test“fails.Ž¡‘Gâ$include‘Ó£áThis›:directiv•²!e‘:tak“es˜a˜single˜lename‘:as˜an˜argumen“t˜and‘:reads˜commandsŽ¤
33‘Kâ:and–£Ëbindings‘£Êfrom“that“le.‘ÖF‘ÿeor“example,‘ã#the“folloš²!wing“directiv˜e‘£Êreads“fromŽ¡‘Kâ:â/etc/inputrcá:Ž¦‘hÊâ$include‘¿ª/etc/inputrcŽŸ‘Gëg1.3.3‘d(Sample–íMInit“FileŽŽŸ³3‘GáHere–,ßis›,àan“example“of˜an“åinputrc‘Öäále.‘µ[This“illustrates“k•²!ey˜binding,‘E-v‘ÿdDariable˜assignmen“t,‘E-andŽ¡‘Gconditional‘¦fsyn²!tax.ŽŽŒ‹Ä‘Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®14ŽŽŽ ƒ33 ý®‘.ùœâ#–¿ªThis“file“controls“the“behaviour“of“line“input“editing“forŽ¤
33‘.ùœ#–¿ªprograms“that“use“the“GNU“Readline“library.‘TExistingŽ¡‘.ùœ#–¿ªprograms“include“FTP,“Bash,“and“GDB.Ž¡‘.ùœ#Ž¡‘.ùœ#–¿ªYou“can“re-read“the“inputrc“file“with“C-x“C-r.Ž¡‘.ùœ#–¿ªLines“beginning“with“'#'“are“comments.Ž¡‘.ùœ#Ž¡‘.ùœ#–¿ªFirst,“include“any“system-wide“bindings“and“variableŽ¡‘.ùœ#–¿ªassignments“from“/etc/InputrcŽ¡‘.ùœ$include‘¿ª/etc/InputrcŽ©ff‘.ùœ#Ž¡‘.ùœ#–¿ªSet“various“bindings“for“emacs“mode.Ž¦‘.ùœset–¿ªediting-mode“emacsŽ¦‘.ùœ$if‘¿ªmode=emacsŽ¦‘.ùœMeta-Control-h:‘Tbackward-kill-word–¿ªText“after“the“function“name“is“ignoredŸnï„	 Ž¦‘.ùœ#Ž¡‘.ùœ#–¿ªArrow“keys“in“keypad“modeŽ¡‘.ùœ#Ž¡‘.ùœ#"\M-OD":‘-ýPbackward-charŽ¡‘.ùœ#"\M-OC":‘-ýPforward-charŽ¡‘.ùœ#"\M-OA":‘-ýPprevious-historyŽ¡‘.ùœ#"\M-OB":‘-ýPnext-historyŽ¡‘.ùœ#Ž¡‘.ùœ#–¿ªArrow“keys“in“ANSI“modeŽ¡‘.ùœ#Ž¡‘.ùœ"\M-[D":‘-ýPbackward-charŽ¡‘.ùœ"\M-[C":‘-ýPforward-charŽ¡‘.ùœ"\M-[A":‘-ýPprevious-historyŽ¡‘.ùœ"\M-[B":‘-ýPnext-historyŽ¡‘.ùœ#Ž¡‘.ùœ#–¿ªArrow“keys“in“8“bit“keypad“modeŽ¡‘.ùœ#Ž¡‘.ùœ#"\M-\C-OD":‘(=¦backward-charŽ¡‘.ùœ#"\M-\C-OC":‘(=¦forward-charŽ¡‘.ùœ#"\M-\C-OA":‘(=¦previous-historyŽ¡‘.ùœ#"\M-\C-OB":‘(=¦next-historyŽ¡‘.ùœ#Ž¡‘.ùœ#–¿ªArrow“keys“in“8“bit“ANSI“modeŽ¡‘.ùœ#Ž¡‘.ùœ#"\M-\C-[D":‘(=¦backward-charŽ¡‘.ùœ#"\M-\C-[C":‘(=¦forward-charŽŽŒ‹ËûŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®15ŽŽŽ ƒ33 ý ÌÍ‘.ùœâ#"\M-\C-[A":‘(=¦previous-historyŽ©
33‘.ùœ#"\M-\C-[B":‘(=¦next-historyŽ¤ff‘.ùœC-q:‘¿ªquoted-insertŽ¡‘.ùœ$endifŽ¡‘.ùœ#–¿ªAn“old-style“binding.‘TThis“happens“to“be“the“default.Ž¦‘.ùœTAB:‘¿ªcompleteŽ¡‘.ùœ#–¿ªMacros“that“are“convenient“for“shell“interactionŽ¦‘.ùœ$if‘¿ªBashŽ¦‘.ùœ#–¿ªedit“the“pathŽ¦‘.ùœ"\C-xp":‘¿ª"PATH=${PATH}\e\C-e\C-a\ef\C-f"Ž¦‘.ùœ#–¿ªprepare“to“type“a“quoted“word“--Ž¦‘.ùœ#–¿ªinsert“open“and“close“double“quotesŽ¦‘.ùœ#–¿ªand“move“to“just“after“the“open“quoteŽ¦‘.ùœ"\C-x\"":‘¿ª"\"\"\C-b"Ž¦‘.ùœ#–¿ªinsert“a“backslash“(testing“backslash“escapesŽ¦‘.ùœ#–¿ªin“sequences“and“macros)Ž¦‘.ùœ"\C-x\\":‘¿ª"\\"Ž¦‘.ùœ#–¿ªQuote“the“current“or“previous“wordŽ¦‘.ùœ"\C-xq":‘¿ª"\eb\"\ef\""Ž¦‘.ùœ#–¿ªAdd“a“binding“to“refresh“the“line,“which“is“unboundŽ¦‘.ùœ"\C-xr":‘¿ªredraw-current-lineŽ¦‘.ùœ#–¿ªEdit“variable“on“current“line.Ž¦‘.ùœ"\M-\C-v":‘¿ª"\C-a\C-k$\C-y\M-\C-e\C-a\C-y="Ž¦‘.ùœ$endifŽ¡‘.ùœ#–¿ªuse“a“visible“bell“if“one“is“availableŽ¦‘.ùœset–¿ªbell-style“visibleŽ¡‘.ùœ#–¿ªdon't“strip“characters“to“7“bits“when“readingŽ¦‘.ùœset–¿ªinput-meta“onŽ¡‘.ùœ#–¿ªallow“iso-latin1“characters“to“be“inserted“ratherŽ¦‘.ùœ#–¿ªthan“converted“to“prefix-meta“sequencesŽ¦‘.ùœset–¿ªconvert-meta“offŽ¡‘.ùœ#–¿ªdisplay“characters“with“the“eighth“bit“set“directlyŽ¦‘.ùœ#–¿ªrather“than“as“meta-prefixed“charactersŽ¦‘.ùœset–¿ªoutput-meta“onŽ¡‘.ùœ#–¿ªif“there“are“150“or“more“possible“completions“for“a“word,Ž¦‘.ùœ#–¿ªask“whether“or“not“the“user“wants“to“see“all“of“themŽ¦‘.ùœset–¿ªcompletion-query-items“150ŽŽŒ‹ÑÁŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®16ŽŽŽ ƒ33 ý ÌÍ‘.ùœâ#–¿ªFor“FTPŽ¤
33‘.ùœ$if‘¿ªFtpŽ¡‘.ùœ"\C-xg":–¿ª"get“\M-?"Ž¡‘.ùœ"\C-xt":–¿ª"put“\M-?"Ž¡‘.ùœ"\M-.":‘¿ªyank-last-argŽ¡‘.ùœ$endifŽŸ)›‘Gë]1.4‘™Bindable–f@Readline“CommandsŽŽŸ33‘GáThis–\section›[describMÞes“Readline“commands˜that“ma²!y“b•MÞe˜b“ound–\to“k²!ey˜sequences.‘¬ÚCommandŽ¡‘Gnames–¦fwithout“an“accompanš²!ying“k˜ey“sequence“are“un˜bMÞound“b˜y“default.ŽŸNï‘!GIn–%Xthe‘%Wfolloš²!wing“descriptions,‘?'åpMÞoin˜t‘bXárefers›%Wto“the˜curren²!t“cursor“pMÞosition,‘?'and˜åmark‘Ï\árefersŽ¡‘Gto–«Aa“cursor‘«BpMÞosition“sa•²!v“ed›«Ab“y˜the˜âset-mark‘«Bácommand.‘ìnThe˜text˜bMÞet“w“een‘«Bthe˜pMÞoin“t˜andŽ¡‘Gmark–¦fis“referred“to“as“the“åregioná.ŽŸ¼‘Gëg1.4.1‘d(Commands–íMF‘þÄ£or“Mo–ávingŽŽŸÁ‘Gâbeginning-of-line‘¦f(C-a)Ž¡‘Kâ:áMo•²!v“e–¦fto“the“start“of“the“curren²!t“line.ŽŸNð‘Gâend-of-line‘¦f(C-e)Ž¡‘Kâ:áMo•²!v“e–¦fto“the“end“of“the“line.Ž©Nï‘Gâforward-char‘¦f(C-f)Ž¡‘Kâ:áMo•²!v“e›¦fforw“ard˜a˜c“haracter.Ž¦‘Gâbackward-char‘¦f(C-b)Ž¡‘Kâ:áMo•²!v“e›¦fbac“k˜a˜c“haracter.ŽŸNð‘Gâforward-word‘¦f(M-f)Ž¡‘Kâ:áMo•²!v“e›¢kforw“ard˜to‘¢jthe˜end˜of˜the˜next˜w“ord.‘܉W‘ÿeords˜are˜compMÞosed‘¢jof˜letters˜andŽ¡‘Kâ:digits.Ž¦‘Gâbackward-word‘¦f(M-b)Ž¡‘Kâ:áMo•²!v“e››bac“k˜to˜the˜start˜of˜the˜curren“t˜or˜previous˜w“ord.‘|W‘ÿeords˜are˜compMÞosedŽ¡‘Kâ:of–¦fletters“and“digits.Ž¦‘Gâprevious-screen-line‘¦f()Ž¡‘Kâ:áAš²!ttempt–Ô@to“mo˜v˜e“pMÞoin˜t“to“the“same‘Ô?ph˜ysical“screen“column“on“the“previousŽ¡‘Kâ:ph²!ysical›screen–line.‘¦ÄThis“will˜not“ha•²!v“e˜the–desired˜eect“if˜the“curren²!t˜ReadlineŽ¡‘Kâ:line–G–doMÞes“not‘G—takš²!e“up“more“than“one“ph˜ysical‘G—line“or“if“pMÞoin˜t“is‘G—not“greater“thanŽ¡‘Kâ:the–¦flength“of“the“prompt“plus“the“screen“width.ŽŸNð‘Gânext-screen-line‘¦f()Ž¡‘Kâ:áA•²!ttempt›öito‘öhmo“v“e˜pMÞoin“t–öhto˜the“same˜ph²!ysical“screen˜column“on˜the“next˜ph²!ysicalŽ¡‘Kâ:screen–ÍBline.‘•|This“will›ÍAnot“ha•²!v“e–ÍBthe“desired“eect“if“the˜curren²!t“Readline“line“doMÞesŽ¡‘Kâ:not–Eðtakš²!e“up“more“than“one“ph˜ysical“line‘Eñor“if“the“length“of“the“curren˜t“ReadlineŽ¡‘Kâ:line–¦fis“not“greater“than“the“length“of“the“prompt“plus“the“screen“width.Ž¦‘Gâclear-display‘¦f(M-C-l)Ž¡‘Kâ:áClear–ô·the›ô¸screen“and,‘Lif˜pMÞossible,‘Kthe˜terminal's“scrollbac²!k˜buer,‘Lthen“redra²!wŽ¡‘Kâ:the–¦fcurrenš²!t“line,“lea˜ving“the“curren˜t“line“at“the“top“of“the“screen.ŽŽŒ‹ØNŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®17ŽŽŽ ƒ33 ý ÌÍ‘Gâclear-screen‘¦f(C-l)Ž¤
33‘Kâ:áClear›"„the–"ƒscreen,‘A‹then“redra²!w˜the“curren•²!t˜line,‘AŠlea“ving˜the‘"ƒcurren“t˜line‘"ƒat˜theŽ¡‘Kâ:top–¦fof“the“screen.Ž©¼k‘Gâredraw-current-line‘¦f()Ž¡‘Kâ:áRefresh–¦fthe“currenš²!t“line.‘ÝÝBy“default,“this“is“un˜bMÞound.ŽŸ‰8‘Gëg1.4.2‘d(Commands–íMF‘þÄ£or“Manipulating“The“HistoryŽŽŸ÷Ï‘Gâaccept-line–¦f(Newline“or“Return)Ž¡‘Kâ:áAccept–:the“line“regardless“of›:where“the“cursor“is.‘˜äIf“this˜line“is“non-empt²!y‘ÿe,‘^þitŽ¡‘Kâ:ma²!y–Ô0bMÞe›Ô1added“to˜the“history“list˜for“future˜recall“with“âadd_history()á.‘g=If“thisŽ¡‘Kâ:line–¦fis“a“moMÞdied“history“line,“the“history“line“is“restored“to“its“original“state.Ž¦‘Gâprevious-history‘¦f(C-p)Ž¡‘Kâ:áMo•²!v“e›¦f`bac“k'˜through˜the˜history˜list,˜fetc“hing˜the˜previous˜command.Ž¦‘Gânext-history‘¦f(C-n)Ž¡‘Kâ:áMo•²!v“e›¦f`forw“ard'˜through˜the˜history˜list,˜fetc“hing˜the˜next˜command.Ž¦‘Gâbeginning-of-history‘¦f(M-<)Ž¡‘Kâ:áMo•²!v“e–¦fto“the“rst“line“in“the“history‘ÿe.ŽŸ¼j‘Gâend-of-history‘¦f(M->)Ž¡‘Kâ:áMo•²!v“e–¦fto“the“end“of“the“input“history‘ÿe,“i.e.,“the“line“currenš²!tly“bMÞeing“en˜tered.Ž¦‘Gâreverse-search-history‘¦f(C-r)Ž¡‘Kâ:áSearc•²!h›½:bac“kw“ard˜starting‘½;at˜the˜curren“t˜line˜and˜mo“ving‘½;`up'˜through˜the˜his-Ž¡‘Kâ:tory–$˜as›$—necessary‘ÿe.‘²˜This“is˜an“incremenš²!tal“searc˜h.‘²˜This›$—command“sets˜the“regionŽ¡‘Kâ:to–¦fthe“matc²!hed“text“and“activ‘ÿdDates“the“mark.Ž¦‘Gâforward-search-history‘¦f(C-s)Ž¡‘Kâ:áSearc•²!h›>Dforw“ard˜starting˜at˜the˜curren“t‘>Cline˜and˜mo“ving˜`do“wn'˜through˜theŽ¡‘Kâ:history–•Îas“necessary‘ÿe.‘¬This“is“an‘•Íincremenš²!tal“searc˜h.‘¬This‘•Ícommand“sets“theŽ¡‘Kâ:region–¦fto“the“matc²!hed“text“and“activ‘ÿdDates“the“mark.Ž¦‘Gânon-incremental-reverse-search-history‘¦f(M-p)Ž¡‘Kâ:áSearc•²!h›½:bac“kw“ard˜starting‘½;at˜the˜curren“t˜line˜and˜mo“ving‘½;`up'˜through˜the˜his-Ž¡‘Kâ:tory–Ryas“necessary“using‘Rxa“non-incremenš²!tal“searc˜h“for“a“string‘Rxsupplied“b˜y“theŽ¡‘Kâ:user.‘ÝÝThe–¦fsearcš²!h“string“ma˜y“matc˜h“an˜ywhere“in“a“history“line.Ž¦‘Gânon-incremental-forward-search-history‘¦f(M-n)Ž¡‘Kâ:áSearc•²!h›>Dforw“ard˜starting˜at˜the˜curren“t‘>Cline˜and˜mo“ving˜`do“wn'˜through˜theŽ¡‘Kâ:history–3ªas›3©necessary“using“a˜non-incremenš²!tal“searc˜h“for›3©a“string“supplied˜b²!y“theŽ¡‘Kâ:user.‘ÝÝThe–¦fsearcš²!h“string“ma˜y“matc˜h“an˜ywhere“in“a“history“line.Ž¦‘Gâhistory-search-forward‘¦f()Ž¡‘Kâ:áSearc•²!h›úOforw“ard˜through–úPthe˜history˜for˜the˜string˜of“c•²!haracters˜bMÞet“w“een˜theŽ¡‘Kâ:start–QËof›QÌthe“curren²!t“line˜and“the“pMÞoinš²!t.‘à
The“searc˜h‘QÌstring“m˜ust“matc˜h‘QÌat“theŽ¡‘Kâ:bMÞeginning–è"of“a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ø‘thisŽ¡‘Kâ:command–¦fis“un²!bMÞound.Ž¦‘Gâhistory-search-backward‘¦f()Ž¡‘Kâ:áSearc•²!h›-»bac“kw“ard–-¼through˜the“history˜for“the˜string“of˜cš²!haracters“bMÞet˜w˜een‘-»theŽ¡‘Kâ:start–QËof›QÌthe“curren²!t“line˜and“the“pMÞoinš²!t.‘à
The“searc˜h‘QÌstring“m˜ust“matc˜h‘QÌat“theŽŽŒ‹â[Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®18ŽŽŽ ƒ33 ý ÌÍ‘Kâ:bMÞeginning–è"of“a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ø‘thisŽ¤
33‘Kâ:command–¦fis“un²!bMÞound.Ž©‘Gâhistory-substring-search-forward‘¦f()Ž¡‘Kâ:áSearc•²!h›úOforw“ard˜through–úPthe˜history˜for˜the˜string˜of“c•²!haracters˜bMÞet“w“een˜theŽ¡‘Kâ:start–uæof›uçthe“curren²!t“line“and˜the“pMÞoinš²!t.‘ͳThe“searc˜h“string“ma˜y‘uçmatc˜h“an˜ywhereŽ¡‘Kâ:in–è"a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ø‘this“commandŽ¡‘Kâ:is‘¦fun²!bMÞound.Ž¦‘Gâhistory-substring-search-backward‘¦f()Ž¡‘Kâ:áSearc•²!h›-»bac“kw“ard–-¼through˜the“history˜for“the˜string“of˜cš²!haracters“bMÞet˜w˜een‘-»theŽ¡‘Kâ:start–uæof›uçthe“curren²!t“line“and˜the“pMÞoinš²!t.‘ͳThe“searc˜h“string“ma˜y‘uçmatc˜h“an˜ywhereŽ¡‘Kâ:in–è"a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ø‘this“commandŽ¡‘Kâ:is‘¦fun²!bMÞound.ŽŸ‘‘Gâyank-nth-arg‘¦f(M-C-y)Ž¡‘Kâ:áInsert–sÐthe›sÏrst“argumen²!t˜to“the˜previous“command˜(usually“the˜second“w²!ordŽ¡‘Kâ:on–Ô|the›Ô}previous“line)˜at“pMÞoin²!t.‘h!With“an˜argumen²!t“åná,‘àinsert˜the“ånáth˜w²!ord“fromŽ¡‘Kâ:the–0previous“command“(the“wš²!ords“in‘0the“previous“command“bMÞegin“with“w˜ordŽ¡‘Kâ:0).‘-dA‘À negativ•²!e›Àéargumen“t–Àèinserts˜the“ånáth“w²!ord˜from“the˜end“of˜the“previousŽ¡‘Kâ:command.‘ÍOnce–öGthe“argumenš²!t‘öFån“áis“computed,‘
>the“argumen˜t“is“extracted‘öFas“ifŽ¡‘Kâ:the–¦f`â!èná'“history“expansion“had“bšMÞeen“sp˜ecied.Ž¦‘Gâyank-last-arg–¦f(M-.“or“M-_)Ž¡‘Kâ:áInsert–5Elast›5Fargumen²!t“to“the˜previous“command“(the˜last“w²!ord“of˜the“previousŽ¡‘Kâ:history–"enš²!try).‘With“a‘#n˜umeric“argumen˜t,‘ ’bMÞeha˜v˜e“exactly‘#lik˜e“âyank-nth-argá.Ž¡‘Kâ:Successivš²!e–ú%calls‘ú&to“âyank-last-arg“ámo˜v˜e‘ú&bac˜k“through‘ú&the“history“list,‘™insertingŽ¡‘Kâ:the–µlast‘µwš²!ord“(or“the“w˜ord‘µspMÞecied“b˜y“the“argumen˜t›µto“the“rst“call)˜of“eac²!h“lineŽ¡‘Kâ:in–`¿turn.‘êAnš²!y“n˜umeric‘`Àargumen˜t“supplied“to‘`Àthese“successiv˜e‘`Àcalls“determinesŽ¡‘Kâ:the–-Idirection›-Jto“mo•²!v“e˜through‘-Ithe˜history‘ÿe.‘r‡A‘-'negativ“e‘-Iargumen“t˜switc“hes‘-ItheŽ¡‘Kâ:direction–¼òthrough›¼óthe“history“(bac²!k˜or“forw²!ard).‘The“history˜expansion“facilitiesŽ¡‘Kâ:are–Mêused“to›Mëextract“the“last“argumen²!t,‘_as“if“the“`â!$á'“history˜expansion“had“bMÞeenŽ¡‘Kâ:spMÞecied.Ž¦‘Gâoperate-and-get-next‘¦f(C-o)Ž¡‘Kâ:áAccept–~tthe“curren²!t“line“for“return“to“the‘~ucalling“application“as“if“a“newline“hadŽ¡‘Kâ:bMÞeen–ÈÀenš²!tered,‘õand“fetc˜h“the“next‘È¿line“relativ˜e“to“the“curren˜t“line‘È¿from“the“historyŽ¡‘Kâ:for–¶›editing.‘~A‘¶—nš²!umeric“argumen˜t,›º©if“supplied,˜spMÞecies“the›¶œhistory“en²!try˜to“useŽ¡‘Kâ:instead–¦fof“the“curren²!t“line.ŽŸ]‘Gëg1.4.3‘d(Commands–íMF›þÄ£or“Changing“T˜extŽŽŸzâ‘Gèend-of-file–¦fâ(usually“C-d)Ž¡‘Kâ:áThe–%¡c²!haracter›% indicating“end-of-le“as“set,–?bfor˜example,“b²!y–%¡âsttyá.‘²ñIf˜this“c²!harac-Ž¡‘Kâ:ter–×is“read“when“there“are“no“cš²!haracters“on“the“line,‘ÒÁand“pMÞoin˜t“is“at“the“bMÞeginningŽ¡‘Kâ:of–¦fthe“line,“Readline“in²!terprets“it“as“the“end“of“input“and“returns“çeofá.Ž¦‘Gâdelete-char‘¦f(C-d)Ž¡‘Kâ:áDelete–þ¾the“cš²!haracter“at“pMÞoin˜t.‘æåIf‘þ½this“function“is“bMÞound“to“the“same“c˜haracterŽ¡‘Kâ:as–¦fthe“ttš²!y“çeof“ác˜haracter,“as“èC-d“ácommonly“is,“see“abMÞo˜v˜e“for“the“eects.ŽŽŒ‹îןò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®19ŽŽŽ ƒ33 ý ÌÍ‘Gâbackward-delete-char‘¦f(Rubout)Ž¤
33‘Kâ:áDelete–Ÿ§the“cš²!haracter‘Ÿ¨bMÞehind“the“cursor.‘ÛA‘Ÿ¦n˜umeric“argumen˜t“means‘Ÿ¨to“kill“theŽ¡‘Kâ:c²!haracters–¦finstead“of“deleting“them.Ž©:„‘Gâforward-backward-delete-char‘¦f()Ž¡‘Kâ:áDelete–˜‘the›˜’c²!haracter“under˜the“cursor,‘Õunless“the˜cursor“is“at˜the“end˜of“theŽ¡‘Kâ:line,‘×~in–Í­whicš²!h‘ͬcase“the“c˜haracter›ͬbMÞehind“the˜cursor“is˜deleted.‘S±By“default,‘×~thisŽ¡‘Kâ:is–¦fnot“bMÞound“to“a“k²!ey‘ÿe.Ž¦‘Gâquoted-insert–¦f(C-q“or“C-v)Ž¡‘Kâ:áAdd–¸the‘¹next“cš²!haracter“t˜ypMÞed‘¹to“the“line“v˜erbatim.‘CÔThis‘¹is“ho˜w“to‘¹insert“k˜eyŽ¡‘Kâ:sequences–¦flik²!e“èC-qá,“for“example.ŽŸ:…‘Gâtab-insert‘¦f(M-TAB)Ž¡‘Kâ:áInsert–¦fa“tab“c²!haracter.Ž¦‘Gâself-insert–¦f(a,“b,“A,“1,“!,“...Ž‘åe)Ž¡‘Kâ:áInsert‘¦fy²!ourself.Ž¦‘Gâbracketed-paste-begin‘¦f()Ž¡‘Kâ:áThis–û6function›û7is“in²!tended˜to˜bšMÞe“b˜ound“to›û7the“â"ábrac•²!k“eted˜pasteâ"˜áescapMÞe‘û6sequenceŽ¡‘Kâ:sen•²!t›b“y‘some˜terminals,‘·¯and˜suc“h˜a–binding˜is“assigned˜b•²!y˜default.‘mÁIt˜allo“wsŽ¡‘Kâ:Readline–çÌto›çËinsert“the˜pasted“text˜as“a˜single“unit˜without“treating˜eacš²!h“c˜har-Ž¡‘Kâ:acter–ª‘as›ª’if“it“had˜bMÞeen“read“from˜the“kš²!eybMÞoard.‘ê_The“c˜haracters‘ª’are“insertedŽ¡‘Kâ:as–LPif›LOeac²!h“one˜w²!as“bMÞound“to˜âself-insert“áinstead˜of“executing˜an²!y“editingŽ¡‘Kâ:commands.ŽŸ¶Ü‘Kâ:Brac•²!k“eted–U`paste›U_sets“the˜region“(the˜cš²!haracters“b•MÞet˜w˜een‘U_p“oin˜t–U`and‘U_the“mark)Ž¡‘Kâ:to–›¶the››µinserted“text.‘½ÌIt˜uses“the˜concept“of“an˜äactive‘Ìšmark‘-»á:‘È|when˜the“markŽ¡‘Kâ:is–5activš²!e,‘XÈReadline“redispla˜y“uses“the‘5terminal's“standout“moMÞde“to“denote“theŽ¡‘Kâ:region.Ž¦‘Gâtranspose-chars‘¦f(C-t)Ž¡‘Kâ:áDrag–Õãthe“cš²!haracter“bMÞefore‘Õâthe“cursor“forw˜ard“o˜v˜er“the“c˜haracter‘Õâat“the“cursor,Ž¡‘Kâ:moš²!ving–C"the“cursor‘C!forw˜ard“as“w˜ell.‘´If“the“insertion‘C!pMÞoin˜t“is“at“the‘C!end“of“theŽ¡‘Kâ:line,‘ÕÍthen–¡¦this“transpMÞoses“the“last“t•²!w“o‘¡§c“haracters–¡¦of“the“line.‘†óNegativš²!e“argumen˜tsŽ¡‘Kâ:ha•²!v“e–¦fno“eect.Ž¦‘Gâtranspose-words‘¦f(M-t)Ž¡‘Kâ:áDrag–áÜthe“w²!ord‘áÝbšMÞefore“p˜oinš²!t“past“the“w˜ord‘áÝafter“p•MÞoin˜t,‘ð¹mo˜ving‘áÝp“oin˜t–áÜpast“thatŽ¡‘Kâ:wš²!ord–g¸as“w˜ell.‘ÈùIf“the“insertion“pMÞoin˜t“is“at“the“end“of“the‘g¹line,‘tAthis“transpMÞoses“theŽ¡‘Kâ:last›¦ft•²!w“o˜w“ords˜on˜the˜line.ŽŸ:…‘Gâupcase-word‘¦f(M-u)Ž¡‘Kâ:áUppMÞercase–ÖÓthe‘ÖÒcurrenš²!t“(or“follo˜wing)“w˜ord.‘o#With“a‘ÖÒnegativ˜e“argumen˜t,‘âîuppMÞer-Ž¡‘Kâ:case–¦fthe“previous“wš²!ord,“but“do“not“mo˜v˜e“the“cursor.Ž¦‘Gâdowncase-word‘¦f(M-l)Ž¡‘Kâ:áLo•²!w“ercase›”ãthe‘”âcurren“t˜(or‘”âfollo“wing)˜w“ord.‘‚²With‘”âa˜negativ“e˜argumen“t,‘Ë–lo“w“ercaseŽ¡‘Kâ:the–¦fprevious“wš²!ord,“but“do“not“mo˜v˜e“the“cursor.Ž¦‘Gâcapitalize-word‘¦f(M-c)Ž¡‘Kâ:áCapitalize–6the›5curren²!t“(or˜folloš²!wing)“w˜ord.‘€#With‘5a“negativ˜e“argumen˜t,‘ÅrcapitalizeŽ¡‘Kâ:the–¦fprevious“wš²!ord,“but“do“not“mo˜v˜e“the“cursor.ŽŽŒ‹üßò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®20ŽŽŽ ƒ33 ý ÌÍ‘Gâoverwrite-mode‘¦f()Ž¤
33‘Kâ:áT‘ÿeoggle›öo•²!v“erwrite˜mo•MÞde.‘Í	With˜an˜explicit˜p“ositiv•²!e‘ö n“umeric˜argumen“t,‘

switc“hesŽ¡‘Kâ:to›™ÿo•²!v“erwrite–šmoMÞde.‘„fWith˜an“explicit˜non-pMÞositivš²!e“n˜umeric–™ÿargumen˜t,‘Ï®switc˜hes“toŽ¡‘Kâ:insert–¬ÛmoMÞde.‘ñ=This›¬Ücommand“aects“only˜âemacs“ámošMÞde;‘°âvi“ámo˜de‘¬Üdo˜es“o•²!v“erwriteŽ¡‘Kâ:dieren•²!tly‘ÿe.‘ÝÝEac“h–¦fcall“to“âreadline()“ástarts“in“insert“moMÞde.ŽŸÐ$‘Kâ:In›Ièo•²!v“erwrite˜moMÞde,‘òÈc“haracters˜bMÞound˜to˜âself-insert‘Iéáreplace˜the˜text˜atŽ¡‘Kâ:pMÞoinš²!t–rather“than“pushing“the“text“to“the“righ˜t.‘‚Characters“bMÞound“toŽ¡‘Kâ:âbackward-delete-char–¦fáreplace“the“c²!haracter“bšMÞefore“p˜oin²!t“with“a“space.ŽŸÐ#‘Kâ:By–¦fdefault,“this“command“is“un²!bMÞound.ŽŸ9â‘Gëg1.4.4‘d(Killing–íMAnd“Y‘þÄ£ankingŽŽŸP$‘Gâkill-line‘¦f(C-k)Ž¡‘Kâ:áKill–Âáthe“text›Ââfrom“pMÞoin²!t“to“the“end“of˜the“line.‘3NWith“a˜negativš²!e“n˜umeric“argu-Ž¡‘Kâ:menš²!t,–¦fkill“bac˜kw˜ard“from“the“cursor“to“the“bMÞeginning“of“the“curren˜t“line.Ž©m‘Gâbackward-kill-line–¦f(C-x“Rubout)Ž¡‘Kâ:áKill›ÌÔbac•²!kw“ard˜from˜the‘ÌÕcursor˜to˜the˜bMÞeginning˜of˜the˜curren“t˜line.‘Q(With˜aŽ¡‘Kâ:negativ•²!e›m£n“umeric˜argumen“t,‘ßrkill˜forw“ard˜from˜the˜cursor˜to˜the˜end˜of˜theŽ¡‘Kâ:curren²!t‘¦fline.ŽŸm‘Gâunix-line-discard‘¦f(C-u)Ž¡‘Kâ:áKill›¦fbac•²!kw“ard˜from˜the˜cursor˜to˜the˜bMÞeginning˜of˜the˜curren“t˜line.Ž¦‘Gâkill-whole-line‘¦f()Ž¡‘Kâ:áKill–cjall“cš²!haracters‘cion“the“curren˜t“line,‘’ªno“matter“where“pMÞoin˜t“is.‘èBy“default,Ž¡‘Kâ:this–¦fis“un²!bMÞound.ŽŸm‘Gâkill-word‘¦f(M-d)Ž¡‘Kâ:áKill–‡from“pMÞoin²!t›‡to“the“end“of“the˜currenš²!t“w˜ord,‘Por‘‡if“bMÞet˜w˜een“w˜ords,‘Qto“the“endŽ¡‘Kâ:of–¦fthe“next“w²!ord.‘ÝÝW‘ÿeord“bMÞoundaries“are“the“same“as“âforward-wordá.Ž¦‘Gâbackward-kill-word‘¦f(M-DEL)Ž¡‘Kâ:áKill–wÖthe›w×w²!ord“b•MÞehind˜p“oin²!t.‘ÎXW‘ÿeord›wÖb“oundaries˜are–w×the˜same“as˜âbackward-wordá.ŽŸm‘Gâshell-transpose-words‘¦f(M-C-t)Ž¡‘Kâ:áDrag–áÜthe“w²!ord‘áÝbšMÞefore“p˜oinš²!t“past“the“w˜ord‘áÝafter“p•MÞoin˜t,‘ð¹mo˜ving‘áÝp“oin˜t–áÜpast“thatŽ¡‘Kâ:wš²!ord–g¸as“w˜ell.‘ÈùIf“the“insertion“pMÞoin˜t“is“at“the“end“of“the‘g¹line,‘tAthis“transpMÞoses“theŽ¡‘Kâ:last›£t•²!w“o‘£w“ords˜on–£the˜line.‘ÜÅW‘ÿeord“bMÞoundaries˜are“the˜same“as˜âshell-forward-Ž¡‘Kâ:word–¦fáand“âshell-backward-wordá.Ž¦‘Gâunix-word-rubout‘¦f(C-w)Ž¡‘Kâ:áKill–ÍLthe“w²!ord“bšMÞehind“p˜oinš²!t,‘×using“white“space“as“a“w˜ord“bMÞoundary‘ÿe.‘RThe“killedŽ¡‘Kâ:text–¦fis“sa•²!v“ed–¦fon“the“kill-ring.ŽŸm‘Gâunix-filename-rubout‘¦f()Ž¡‘Kâ:áKill–]Üthe“w²!ord“bšMÞehind“p˜oinš²!t,‘‹ºusing“white“space“and“the“slash“c˜haracter“as“theŽ¡‘Kâ:wš²!ord–¦fbMÞoundaries.‘ÝÝThe“killed“text“is“sa˜v˜ed“on“the“kill-ring.Ž¦‘Gâdelete-horizontal-space‘¦f()Ž¡‘Kâ:áDelete–¦fall“spaces“and“tabs“around“pMÞoinš²!t.‘ÝÝBy“default,“this“is“un˜bMÞound.ŽŽŒ‹	+Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®21ŽŽŽ ƒ33 ý ÌÍ‘Gâkill-region‘¦f()Ž¤
33‘Kâ:áKill–¦fthe“text“in“the“currenš²!t“region.‘ÝÝBy“default,“this“command“is“un˜bMÞound.Ž©‚T‘Gâcopy-region-as-kill‘¦f()Ž¡‘Kâ:áCop²!y–³the›²text“in˜the“region˜to“the˜kill“buer,‘0Eso˜it“can˜bMÞe“y•²!ank“ed˜righ“t‘³a“w“a“y‘ÿe.Ž¡‘Kâ:By–¦fdefault,“this“command“is“un²!bMÞound.ŽŸ‚U‘Gâcopy-backward-word‘¦f()Ž¡‘Kâ:áCopš²!y–žthe“w˜ord“bšMÞefore“p˜oinš²!t“to“the“kill‘žbuer.‘ÄÿThe“w˜ord“bMÞoundaries“are“theŽ¡‘Kâ:same–¦fas“âbackward-wordá.‘ÝÝBy“default,“this“command“is“un²!bMÞound.Ž¦‘Gâcopy-forward-word‘¦f()Ž¡‘Kâ:áCopš²!y–º8the“w˜ord“follo˜wing‘º9pMÞoin˜t“to“the“kill“buer.‘SThe‘º9w˜ord“bMÞoundaries“are“theŽ¡‘Kâ:same–¦fas“âforward-wordá.‘ÝÝBy“default,“this“command“is“un²!bMÞound.Ž¦‘Gâyank‘¦f(C-y)Ž¡‘Kâ:áY‘ÿeank–¦fthe“top“of“the“kill“ring“inš²!to“the“buer“at“pMÞoin˜t.Ž¦‘Gâyank-pop‘¦f(M-y)Ž¡‘Kâ:áRotate–'!the“kill-ring,‘GPand“y²!ank“the“new“top.‘`Y‘ÿeou“can‘'"only“do“this“if“the“priorŽ¡‘Kâ:command–¦fis“âyank“áor“âyank-popá.ŽŸO"‘Gëg1.4.5‘d(Spiecifying–íMNumeric“Argumen–átsŽŽ©ÚÑGâdigit-argument–¦f(èM-0â,“èM-1â,“...Ž‘‹ËèM--â)Ž¡‘Kâ:áAdd–:Lthis›:Kdigit“to“the˜argumenš²!t“already“accum˜ulating,‘Oêor“start“a‘:Knew“argumen˜t.Ž¡‘Kâ:èM--–¦fástarts“a“negativš²!e“argumen˜t.ŽŸ‚U‘Gâuniversal-argument‘¦f()Ž¡‘Kâ:áThis–kis“another“w•²!a“y›jto–kspMÞecify“an“argumen²!t.‘«ßIf“this“command˜is“follo•²!w“ed›kb“y˜oneŽ¡‘Kâ:or–more›digits,‘“´optionally“with˜a“leading“min²!us“sign,‘“³those“digits“dene˜the“ar-Ž¡‘Kâ:gumenš²!t.‘ÐÚIf‘[the–\command“is“follo˜w˜ed“b˜y“digits,‘‡*executing“âuniversal-argumentŽ¡‘Kâ:áagain–Ñ«ends‘Ѫthe“nš²!umeric“argumen˜t,‘Ü{but“is“otherwise›Ѫignored.‘_«As“a˜spMÞecial“case,Ž¡‘Kâ:if–ñúthis›ñûcommand“is“immediately˜follo•²!w“ed›ñúb“y˜a˜c“haracter–ñûthat˜is˜neither“a˜digitŽ¡‘Kâ:nor–ôÝminš²!us“sign,‘H{the“argumen˜t“coun˜t“for“the“next‘ôÞcommand“is“m˜ultiplied“b˜yŽ¡‘Kâ:four.‘ŽïThe›6Áargumen•²!t‘6Âcoun“t˜is˜initially–6Âone,‘Z×so“executing˜this˜function“the˜rstŽ¡‘Kâ:time–omakš²!es‘othe“argumen˜t‘ocoun˜t“four,‘z&a›osecond“time˜mak²!es“the˜argumenš²!t“coun˜tŽ¡‘Kâ:sixteen,–¦fand“so“on.‘ÝÝBy“default,“this“is“not“bMÞound“to“a“k²!ey‘ÿe.ŽŸO!‘Gëg1.4.6‘d(Letting–íMReadline“T–áypie“F›þÄ£or“Y˜ouŽŽ¦‘Gâcomplete‘¦f(TAB)Ž¡‘Kâ:áA²!ttempt–¶èto›¶çpMÞerform“completion˜on“the˜text“b•MÞefore˜p“oin²!t.‘Ž	The˜actual‘¶ècompletionŽ¡‘Kâ:pšMÞerformed–¦fis“application-sp˜ecic.‘ÝÝThe“default“is“lename“completion.ŽŸ‚U‘Gâpossible-completions‘¦f(M-?)Ž¡‘Kâ:áList–)¯the›)®pMÞossible“completions˜of“the˜text“b•MÞefore˜p“oin•²!t.‘g·When˜displa“ying‘)¯com-Ž¡‘Kâ:pletions,‘ôfReadline–äÌsets›äÍthe“n•²!um“bMÞer˜of–äÌcolumns“used˜for“displa²!y˜to“the˜v‘ÿdDalue“ofŽ¡‘Kâ:âcompletion-display-widthá,‘Uthe–aŒv›ÿdDalue“of“the“en•²!vironmen“t–aŒv˜ariable“âCOLUMNSá,Ž¡‘Kâ:or–¦fthe“screen“width,“in“that“order.ŽŸ‚T‘Gâinsert-completions‘¦f(M-*)Ž¡‘Kâ:áInsert–«µall“completions“of“the“text“bšMÞefore“p˜oinš²!t“that“w˜ould“ha˜v˜e“bMÞeen“generatedŽ¡‘Kâ:b²!y‘¦fâpossible-completionsá.ŽŽŒ‹9Ÿò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®22ŽŽŽ ƒ33 ý ÌÍ‘Gâmenu-complete‘¦f()Ž¤
33‘Kâ:áSimilar–ÛVto“âcompleteá,‘óbut“replaces“the“wš²!ord“to‘ÛWbMÞe“completed“with“a“single“matc˜hŽ¡‘Kâ:from–‹æthe‘‹çlist“of“pšMÞossible“completions.‘Ž^Rep˜eated“execution‘‹çof“âmenu-completeŽ¡‘Kâ:ásteps–Õ¯through›Õ°the“list“of“pMÞossible˜completions,‘!inserting“eacš²!h“matc˜h‘Õ°in“turn.Ž¡‘Kâ:A²!t–jthe“end“of›jthe“list“of“completions,‘›šthe“bMÞell“is“rung˜(sub‘›»ject“to“the“settingŽ¡‘Kâ:of–Thâbell-styleá)“and“the›Tioriginal“text“is“restored.‘çãAn“argumen²!t˜of“ån“ámo•²!v“es‘ThånŽ¡‘Kâ:ápMÞositions–,Rforw²!ard›,Qin“the“list˜of“matcš²!hes;‘oGa“negativ˜e‘,Qargumen˜t“ma˜y“bMÞe‘,Qused“toŽ¡‘Kâ:mo•²!v“e›™Žbac“kw“ard˜through˜the˜list.‘·VThis˜command˜is˜in“tended˜to˜b•MÞe˜b“ound˜toŽ¡‘Kâ:âTABá,–¦fbut“is“unš²!bMÞound“b˜y“default.Ž©µ‡‘Gâmenu-complete-backward‘¦f()Ž¡‘Kâ:áIdenš²!tical–5ato“âmenu-completeá,‘Ybut‘5`mo˜v˜es“bac˜kw˜ard“through“the‘5`list“of“pMÞossibleŽ¡‘Kâ:completions,–¦fas“if“âmenu-complete“áhad“bMÞeen“givš²!en“a“negativ˜e“argumen˜t.ŽŸµˆ‘Gâdelete-char-or-list‘¦f()Ž¡‘Kâ:áDeletes–«éthe›«èc²!haracter“under“the“cursor˜if“not“at˜the“bMÞeginning“or“end˜of“theŽ¡‘Kâ:line–öØ(lik²!e›öÙâdelete-chará).‘Ï4If“at˜the“end“of˜the“line,‘ŠôbMÞeha•²!v“es˜iden“tically‘öØtoŽ¡‘Kâ:âpossible-completionsá.‘ÝÝThis–¦fcommand“is“unš²!bMÞound“b˜y“default.ŽŸ‚T‘Gëg1.4.7‘d(Keybioard‘íMMacrosŽŽŸt^‘Gâstart-kbd-macro–¦f(C-x“()Ž¡‘Kâ:áBegin–¦fsaš²!ving“the“c˜haracters“t˜ypMÞed“in˜to“the“curren˜t“k˜eybMÞoard“macro.Ž¦‘Gâend-kbd-macro–¦f(C-x“))Ž¡‘Kâ:áStop–G!saš²!ving“the“c˜haracters‘G"t˜ypMÞed“in˜to“the“curren˜t“k˜eybMÞoard“macro‘G"and“sa˜v˜e“theŽ¡‘Kâ:denition.Ž¦‘Gâcall-last-kbd-macro–¦f(C-x“e)Ž¡‘Kâ:áRe-execute–9Bthe“last‘9Ckš²!eybMÞoard“macro“dened,‘]ùb˜y“making“the‘9Cc˜haracters“in“theŽ¡‘Kâ:macro–¦fappšMÞear“as“if“t²!yp˜ed“at“the“k²!eyb˜oard.ŽŸµˆ‘Gâprint-last-kbd-macro‘¦f()Ž¡‘Kâ:áPrinš²!t–¦fthe“last“k˜ebMÞoard“macro“dened“in“a“format“suitable“for“the“åinputrc‘Pjále.ŽŸ‚T‘Gëg1.4.8‘d(Some–íMMiscellaneous“CommandsŽŽŸt^‘Gâre-read-init-file–¦f(C-x“C-r)Ž¡‘Kâ:áRead– kin“the› jcon•²!ten“ts– kof“the“åinputrc‘Joále,‘ÔÐand“incorpMÞorate“an²!y˜bindings“or“v‘ÿdDariableŽ¡‘Kâ:assignmen²!ts–¦ffound“there.Ž¦‘Gâabort‘¦f(C-g)Ž¡‘Kâ:áAbMÞort–/the›/curren²!t“editing˜command“and˜ring“the˜terminal's“bMÞell˜(sub‘›»ject“to˜theŽ¡‘Kâ:setting–¦fof“âbell-styleá).ŽŸµˆ‘Gâdo-lowercase-version–¦f(M-A,“M-B,“M-èxâ,“...Ž‘åe)Ž¡‘Kâ:áIf–4©the“metaed›4ªc²!haracter“åx‘öáis“uppMÞer“case,‘X:run“the“command“that˜is“bMÞound“toŽ¡‘Kâ:the–öUcorrespMÞonding›öTmetaed“lo•²!w“er˜case‘öUc“haracter.‘Í©The˜bMÞeha“vior–öUis˜undened“ifŽ¡‘Kâ:åx‘gÅáis–¦falready“lo•²!w“er‘¦fcase.Ž¦‘Gâprefix-meta‘¦f(ESC)Ž¡‘Kâ:áMetafy–‚2the›‚1next“c•²!haracter˜t“ypMÞed.‘q@This–‚2is˜for“k²!eybMÞoards˜without“a˜meta“k²!ey‘ÿe.Ž¡‘Kâ:Tš²!yping–¦f`âESC“fá'“is“equiv‘ÿdDalen˜t“to“t˜yping“èM-fá.ŽŽŒ‹!áŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®23ŽŽŽ ƒ33 ý ÌÍ‘Gâundo–¦f(C-_“or“C-x“C-u)Ž¤
33‘Kâ:áIncremenš²!tal–¦fundo,“separately“remem˜bMÞered“for“eac˜h“line.Ž©¹‘Gârevert-line‘¦f(M-r)Ž¡‘Kâ:áUndo–úall“cš²!hanges“made“to“this“line.‘ØåThis“is“lik˜e“executing“the“âundo“ácommandŽ¡‘Kâ:enough–¦ftimes“to“get“bac²!k“to“the“bMÞeginning.Ž¦‘Gâtilde-expand‘¦f(M-~)Ž¡‘Kâ:áPš²!erform–¦ftilde“expansion“on“the“curren˜t“w˜ord.Ž¦‘Gâset-mark‘¦f(C-@)Ž¡‘Kâ:áSet–ðthe“mark“to“the“pMÞoinš²!t.‘ºØIf“a‘ðn˜umeric“argumen˜t“is“supplied,‘ythe“mark“is“setŽ¡‘Kâ:to–¦fthat“pMÞosition.Ž¦‘Gâexchange-point-and-mark–¦f(C-x“C-x)Ž¡‘Kâ:áSwš²!ap–¾Òthe“pMÞoin˜t“with“the“mark.‘'"The“curren˜t“cursor“pMÞosition“is“set“to“the“sa˜v˜edŽ¡‘Kâ:pšMÞosition,–¦fand“the“old“cursor“p˜osition“is“sa•²!v“ed–¦fas“the“mark.Ž¦‘Gâcharacter-search‘¦f(C-])Ž¡‘Kâ:áA‘ü&cš²!haracter–üQis‘üRread“and“pMÞoin˜t‘üRis“mo˜v˜ed“to›üRthe“next“oMÞccurrence“of˜that“c²!haracter.Ž¡‘Kâ:A–¦fnegativš²!e“coun˜t“searc˜hes“for“previous“oMÞccurrences.ŽŸ¸‘Gâcharacter-search-backward‘¦f(M-C-])Ž¡‘Kâ:áA‘c"c²!haracter–c•is›c”read“and˜pMÞoinš²!t“is“mo˜v˜ed›c”to“the˜previous“oMÞccurrence˜of“thatŽ¡‘Kâ:c•²!haracter.‘ÝÝA›¦fnegativ“e˜coun“t˜searc“hes˜for˜subsequen“t˜oMÞccurrences.Ž¦‘Gâskip-csi-sequence‘¦f()Ž¡‘Kâ:áRead–G¬enough“cš²!haracters‘G­to“consume“a“m˜ulti-k˜ey“sequence“suc˜h‘G­as“those“denedŽ¡‘Kâ:for–z÷kš²!eys“lik˜e‘zøHome“and“End.‘[‘Suc˜h“sequences“bMÞegin“with‘zøa“Con˜trol“SequenceŽ¡‘Kâ:Indicator–fM(CSI),“usually–fLESC-[.‘’If“this–fMsequence“is“bMÞound‘fLto“â"\áe[â"á,‘–Fk²!eys“pro-Ž¡‘Kâ:ducing–Ö‰sucš²!h“sequences“will‘Öˆha˜v˜e“no“eect“unless“explicitly“bMÞound‘Öˆto“a“readlineŽ¡‘Kâ:command,‘ßÔinstead–ÔXof“inserting“straš²!y“c˜haracters“in˜to“the“editing‘ÔWbuer.‘g³This“isŽ¡‘Kâ:un•²!bMÞound›¦fb“y˜default,˜but˜usually˜bMÞound˜to˜ESC-[.Ž¦‘Gâinsert-comment‘¦f(M-#)Ž¡‘Kâ:áWithout–GÑa‘GÐnš²!umeric“argumen˜t,‘p*the“v‘ÿdDalue›GÐof“the˜âcomment-begin“áv‘ÿdDariable˜is“in-Ž¡‘Kâ:serted–Ìèat›Ìéthe“bMÞeginning“of“the˜currenš²!t“line.‘QdIf“a“n˜umeric“argumen˜t‘Ìéis“supplied,Ž¡‘Kâ:this–cøcommand“acts“as“a“toggle:‘Yif‘c÷the“c²!haracters“at“the“bMÞeginning“of“the“lineŽ¡‘Kâ:do–¬Ânot“matc²!h“the‘¬Ãv›ÿdDalue“of“âcomment-beginá,‘®Ythe“v˜alue“is‘¬Ãinserted,‘®Yotherwise“theŽ¡‘Kâ:c²!haracters–Ó6in“âcomment-begin“áare›Ó5deleted“from“the“bMÞeginning“of“the˜line.‘dMInŽ¡‘Kâ:either–¦fcase,“the“line“is“accepted“as“if“a“newline“had“bšMÞeen“t²!yp˜ed.Ž¦‘Gâdump-functions‘¦f()Ž¡‘Kâ:áPrin²!t–,Qall›,Pof“the˜functions“and“their˜k²!ey“bindings“to˜the“Readline˜output“stream.Ž¡‘Kâ:If–Îïa“nš²!umeric“argumen˜t›Îðis“supplied,‘Ùthe“output“is“formatted“in˜sucš²!h“a“w˜a˜y“thatŽ¡‘Kâ:it–¦fcan“bšMÞe“made“part“of“an“åinputrc‘Pjále.‘ÝÝThis“command“is“un²!b˜ound“b²!y“default.Ž¦‘Gâdump-variables‘¦f()Ž¡‘Kâ:áPrin²!t–ŽÉall“of“the‘ŽÈsettable“v›ÿdDariables“and“their“v˜alues“to‘ŽÈthe“Readline“output“stream.Ž¡‘Kâ:If–Îïa“nš²!umeric“argumen˜t›Îðis“supplied,‘Ùthe“output“is“formatted“in˜sucš²!h“a“w˜a˜y“thatŽ¡‘Kâ:it–¦fcan“bšMÞe“made“part“of“an“åinputrc‘Pjále.‘ÝÝThis“command“is“un²!b˜ound“b²!y“default.ŽŽŒ‹-ôŸò‘GáChapter–¦f1:‘ÝÝCommand“Line“Editing’ýÓ®24ŽŽŽ ƒ33 ý ÌÍ‘Gâdump-macros‘¦f()Ž¤
33‘Kâ:áPrinš²!t–
ˆall“of“the‘
‡Readline“k˜ey“sequences“bMÞound“to“macros‘
‡and“the“strings“theyŽ¡‘Kâ:output.‘rŠIf–-Ja“nš²!umeric“argumen˜t“is›-Ksupplied,‘Othe“output“is“formatted˜in“suc²!h“aŽ¡‘Kâ:w•²!a“y–šthat›šit“can“bMÞe˜made“part“of˜an“åinputrc‘Dále.‘ÙÂThis“command“is˜unš²!bMÞound“b˜yŽ¡‘Kâ:default.Ž©33‘Gâemacs-editing-mode‘¦f(C-e)Ž¡‘Kâ:áWhen–¦fin“âvi“ácommand“mošMÞde,“this“causes“a“switc²!h“to“âemacs“áediting“mo˜de.Ž¦‘Gâvi-editing-mode‘¦f(M-C-j)Ž¡‘Kâ:áWhen–¦fin“âemacs“áediting“mošMÞde,“this“causes“a“switc²!h“to“âvi“áediting“mo˜de.ŽŸ‘Gë]1.5‘™Readline–f@vi“Mos3deŽŽ¦‘GáWhile–É`the“Readline›É_library“doMÞes“not“ha•²!v“e–É`a˜full“set“of“âvi˜áediting“functions,‘Òit“doMÞes“con²!tainŽ¡‘Genough–to›žallo²!w“simple˜editing“of“the˜line.‘.ƒThe˜Readline“âvi“ámo•MÞde˜b“eha•²!v“es–as˜spMÞecied“inŽ¡‘Gthe–¦fçposix“ástandard.Ž©33‘!GIn–|Uorder›|Vto“switc•²!h˜in“teractiv“ely‘|UbMÞet“w“een˜âemacs–|Uáand˜âvi“áediting˜moMÞdes,‘„¿use˜the“commandŽ¡‘GèM-C-j–iá(bšMÞound‘jto“emacs-editing-mo˜de“when“in‘jâvi“ámo˜de“and“to‘jvi-editing-mo˜de“in“âemacsŽ¡‘GámošMÞde).‘ÝÝThe–¦fReadline“default“is“âemacs“ámo˜de.Ž¦‘!GWhen–›‰yš²!ou“en˜ter“a“line“in“âvi“ámoMÞde,‘µy˜ou‘›Šare“already“placed“in“`insertion'“moMÞde,‘µas“if“y˜ouŽ¡‘Ghad–ˆtš²!ypMÞed“an‘ˆ`âiá'.‘ÓÃPressing“âESC“áswitc˜hes‘ˆy˜ou“in˜to“`command'“moMÞde,‘Ž(where“y˜ou‘ˆcan“edit“theŽ¡‘Gtext–of“the“line“with“the“standard“âvi“ámo•²!v“emen“t›k“eys,‘);mo“v“e˜to˜previous˜history˜lines˜withŽ¡‘G`âká'–¦fand“subsequen²!t“lines“with“`âjá',“and“so“forth.ŽŽŒ‹:³Ÿò’¸¼Ëá25ŽŽŽ ƒ33 ý ÌÍ‘GëTApp›Š=endix‘záA‘	¸QGNU–z³F‘þaGree“Do˜cumen‘ÿuÂtation“LicenseŽŽŸƒª’£¤AáV‘ÿeersion–¦f1.3,“3“No•²!v“em“bMÞer‘¦f2008Ž©Q‘.ùœCop•²!yrigh“t‘±ž«‚cŽŽŽ‘¦fê
ŽŽŽŽ‘@á2000,–¦f2001,“2002,“2007,“2008“F›ÿeree“Soft•²!w“are–¦fF˜oundation,“Inc.Ž¤
33‘.ùœâhttp://fsf.org/ŽŸff‘.ùœáEv•²!ery“one–¦fis“pMÞermitted“to“copš²!y“and“distribute“v˜erbatim“copiesŽ¡‘.ùœof–¦fthis“license“doMÞcumenš²!t,“but“c˜hanging“it“is“not“allo˜w˜ed.Ž¦‘-0.Ž‘'¿«PREAMBLEŽ¦‘'¿«The–vQpurpMÞose›vRof“this˜License“is˜to“mak²!e“a˜man²!ual,›ªLtextb•MÞo“ok,˜or–vQother‘vRfunctional“andŽ¡‘'¿«useful–žïdoMÞcumen²!t›žîåfree‘;öáin“the“sense˜of“freedom:‘Ú!to“assure“ev•²!ery“one‘žïthe˜eectiv“e‘žïfreedomŽ¡‘'¿«to–Æ9cop²!y›Æ:and“redistribute“it,‘Î.with“or˜without“moMÞdifying“it,‘Î.either“commercially˜or“non-Ž¡‘'¿«commercially–ÿe.‘cÏSecondarily“,‘Hàthis–(aLicense›(bpreserv²!es“for“the˜author“and“publisher˜a“w•²!a“yŽ¡‘'¿«to–W9get“credit›W8for“their“w²!ork,‘ƒmwhile“not“bMÞeing“considered˜respšMÞonsible“for“mo˜dicationsŽ¡‘'¿«made–¦fb²!y“others.Ž¦‘'¿«This–È/License›È0is“a“kind“of˜\cop•²!yleft",‘ô whic“h–È/means˜that“deriv‘ÿdDativš²!e“w˜orks“of‘È0the“doMÞcumen˜tŽ¡‘'¿«m•²!ust›õthemselv“es–ôbMÞe˜free˜in˜the“same˜sense.‘ ‰It˜complemen²!ts˜the“GNU‘ÙGeneral˜PublicŽ¡‘'¿«License,–¦fwhicš²!h“is“a“cop˜yleft“license“designed“for“free“soft˜w˜are.Ž¦‘'¿«W‘ÿee›‹#ha•²!v“e˜designed˜this˜License˜in˜order˜to˜use˜it‘‹"for˜man“uals˜for˜free˜soft“w“are,‘—bMÞecauseŽ¡‘'¿«free›?soft•²!w“are˜needs˜free‘>doMÞcumen“tation:‘³a˜free˜program˜should‘>come˜with˜man“ualsŽ¡‘'¿«pro²!viding–urthe›ussame“freedoms˜that“the˜soft•²!w“are–urdoMÞes.‘ÍŒBut˜this“License˜is“not˜limited“toŽ¡‘'¿«soft•²!w“are›­âman“uals;‘±¡it–­ãcan˜bMÞe“used˜for“an²!y˜textual“w²!ork,‘¯Áregardless“of˜sub‘›»ject“matter˜orŽ¡‘'¿«whether–Ç2it“is“published“as“a“prin²!ted“b•MÞo“ok.‘@BW‘ÿee–Ç2recommend“this“License“principally“forŽ¡‘'¿«w²!orks–¦fwhose“purpMÞose“is“instruction“or“reference.Ž¦‘-1.Ž‘'¿«APPLICABILITY–¦fAND“DEFINITIONSŽŸP‘'¿«This–Ì>License‘Ì=applies“to“anš²!y“man˜ual‘Ì=or“other“w˜ork,‘³in“an˜y–Ì=medium,‘´that“con˜tains‘Ì>aŽ¡‘'¿«notice–ýplaced›ýb²!y“the˜cop•²!yrigh“t‘ýholder˜sa“ying–ýit˜can“bMÞe˜distributed“under˜the“termsŽ¡‘'¿«of–€†this“License.‘l=Sucš²!h“a“notice“gran˜ts“a“w˜orld-wide,‘·
ro˜y˜alt˜y-free“license,‘·unlimited“inŽ¡‘'¿«duration,‘â
to–o·use›o¶that“w²!ork“under˜the“conditions“stated˜herein.‘
9ÏThe“\DoMÞcumen²!t",Ž¡‘'¿«bMÞeloš²!w,‘tkrefers–gìto“an˜y“suc˜h‘gíman˜ual“or“w˜ork.‘É
An˜y“mem˜bMÞer“of“the‘gípublic“is“a“licensee,‘tkandŽ¡‘'¿«is–ÿaddressed“as“\yš²!ou".‘¦@Y‘ÿeou“accept“the“license“if“y˜ou“cop˜y‘ÿe,‘ îmoMÞdify“or“distribute“the“w˜orkŽ¡‘'¿«in–¦fa“w•²!a“y–¦frequiring“pMÞermission“under“cop•²!yrigh“t‘¦fla“w.Ž¦‘'¿«A‘¦\MošMÞdied–ÀV‘ÿeersion"‘Áof“the“Do˜cumenš²!t“means‘Áan˜y“w˜ork“con˜taining“the‘ÁDoMÞcumen˜t“orŽ¡‘'¿«a–‚hpMÞortion›‚gof“it,‘¹heither˜copied“v²!erbatim,‘¹hor˜with“moMÞdications“and/or˜translated“in²!toŽ¡‘'¿«another‘¦flanguage.Ž¦‘'¿«A‘ž\Secondary–ÀSection"“is›Áa“named˜appMÞendix“or˜a“fron²!t-matter˜section“of˜the“DoMÞcumen²!tŽ¡‘'¿«that–Ž/deals“exclusiv²!ely›Ž0with“the“relationship“of˜the“publishers“or“authors˜of“the“DoMÞcumen²!tŽ¡‘'¿«to–z
the‘zDoMÞcumenš²!t's“o˜v˜erall›zsub‘›»ject“(or˜to“related“matters)˜and“con²!tains˜nothing“thatŽ¡‘'¿«could–Ø®fall›دdirectly“within“that“o•²!v“erall˜sub‘›»ject.‘tµ(Th“us,‘%@if˜the›Ø®DoMÞcumen“t˜is˜in‘دpart˜aŽ¡‘'¿«textb•MÞo“ok›Õ†of–Õ…mathematics,‘ÿMa“Secondary˜Section˜ma²!y˜not“explain˜an²!y˜mathematics.)‘˜=TheŽ¡‘'¿«relationship–GÞcould“bMÞe“a“matter“of“historical“connection“with“the“sub‘›»ject“or“with“relatedŽ¡‘'¿«matters,–jor‘Bøof›B÷legal,“commercial,‘jphilosophical,“ethical˜or˜p•MÞolitical‘Bøp“osition˜regardingŽ¡‘'¿«them.Ž¦‘'¿«The›r\In•²!v‘ÿdDarian“t–sSections"˜are˜certain˜Secondary“Sections˜whose˜titles˜are“designated,‘0ÖasŽ¡‘'¿«bMÞeing–2Dthose›2Cof“In•²!v‘ÿdDarian“t–2DSections,‘I}in“the“notice˜that“sa²!ys˜that“the“DoMÞcumen²!t˜is“releasedŽŽŒ‹A Ÿò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:26ŽŽŽ ƒ33 ý ÌÍ‘'¿«under–S5this“License.‘Â"If›S4a“section“doMÞes“not“t˜the“abMÞo•²!v“e–S5denition“of“Secondary˜then“it“isŽ¤
33‘'¿«not›Óallo•²!w“ed˜to‘ÓŽbMÞe˜designated˜as˜In“v‘ÿdDarian“t.‘eSThe˜DoMÞcumen“t˜ma“y‘ÓŽcon“tain˜zero˜In“v‘ÿdDarian“tŽ¡‘'¿«Sections.‘¢ÄIf–õthe“DošMÞcumen²!t“do˜es‘õnot“idenš²!tify“an˜y“In˜v‘ÿdDarian˜t“Sections“then‘õthere“are“none.Ž©&g‘'¿«The›f­\Co•²!v“er–f¬T‘ÿeexts"˜are˜certain˜short“passages˜of˜text˜that“are˜listed,‘–¾as˜F‘ÿeron•²!t-Co“v“erŽ¡‘'¿«T›ÿeexts–-or“Bac•²!k-Co“v“er‘,T˜exts,‘"8in–-the“notice“that‘,saš²!ys“that“the“DoMÞcumen˜t‘,is“released“underŽ¡‘'¿«this›’License.‘¯AA‘nF‘ÿeron•²!t-Co“v“er˜T‘ÿeext˜ma“y˜bMÞe˜at˜most˜5›‘w“ords,‘6Šand˜a›’Bac“k-Co“v“er˜T‘ÿeext˜ma“yŽ¡‘'¿«bMÞe–¦fat“most“25“w²!ords.ŽŸ&h‘'¿«A‘C¦\T‘ÿeransparen•²!t"›CÎcop“y˜of‘CÏthe˜DoMÞcumen“t˜means˜a‘CÏmac“hine-readable˜cop“y‘ÿe,‘k(represen“tedŽ¡‘'¿«in–Jma“format›Jnwhose“spMÞecication“is“a²!v‘ÿdDailable“to“the˜general“public,‘snthat˜is“suitable“forŽ¡‘'¿«revising–Îàthe‘ÎßdoMÞcumenš²!t“straigh˜tforw˜ardly“with›Îßgeneric“text˜editors“or“(for˜images“com-Ž¡‘'¿«pMÞosed–ÚÃof›ÚÄpixels)“generic˜pain²!t“programs˜or“(for˜dra²!wings)“some˜widely“a•²!v‘ÿdDailable˜dra“wingŽ¡‘'¿«editor,‘…úand–}ßthat“is“suitable“for“input“to‘}àtext“formatters“or“for“automatic“translation“toŽ¡‘'¿«a–9Ov‘ÿdDariet²!y“of›9Nformats“suitable“for“input“to“text˜formatters.‘¹A‘93cop²!y“made˜in“an“otherwiseŽ¡‘'¿«T‘ÿeransparen²!t–„æle“format›„åwhose“markup,‘¼†or“absence˜of“markup,‘¼†has˜bMÞeen“arranged“toŽ¡‘'¿«th•²!w“art–0ûor›0üdiscourage“subsequen²!t“moMÞdication˜b²!y“readers“is˜not“T‘ÿeransparen²!t.‘¶ºAn“imageŽ¡‘'¿«format– Éis“not“T‘ÿeransparenš²!t“if“used‘ Èfor“an˜y“substan˜tial“amoun˜t“of“text.‘MA‘ ©cop˜y“that“isŽ¡‘'¿«not–¦f\T‘ÿeransparen²!t"“is“called“\Opaque".Ž¦‘'¿«Examples–cXof“suitable›cWformats“for“T‘ÿeransparen²!t“copies“include˜plain“çasci>Ki“áwithoutŽ¡‘'¿«markup,‘„ÂT‘ÿeexinfo–XIinput“format,›„ÁLaT‘þ,³Ÿ[wEŽ‘B	X‘XJinput“format,˜óKñ`y

cmr10«SGML“áor‘XJ«XML“áusing“a“publiclyŽ¡‘'¿«a²!v‘ÿdDailable–«DTDá,‘üand›Âstandard-conforming“simple˜«HTMLá,‘üP²!ostScript“or˜«PDF“ádesignedŽ¡‘'¿«for–˜.hš²!uman“moMÞdication.‘³4Examples“of“transparen˜t“image“formats“include“«PNGá,‘ÔŸ«X¸ãCFŽ¡‘'¿«áand–¢«JPGá.‘ÐáOpaque“formats“include“proprietary‘¢formats“that“can“bMÞe“read“and“editedŽ¡‘'¿«only–sbš²!y‘sproprietary“w˜ord›sproMÞcessors,‘&J«SGML“áor˜«XML“áfor˜whic²!h“the˜«DTD“áand/orŽ¡‘'¿«pro•MÞcessing›W*to“ols˜are˜not‘W)generally˜a•²!v‘ÿdDailable,‘CYand˜the˜mac“hine-generated˜«HTMLá,Ž¡‘'¿«Pš²!ostScript–¦for“«PDF“áproMÞduced“b˜y“some“w˜ord“prošMÞcessors“for“output“purp˜oses“only‘ÿe.Ž¦‘'¿«The–Ü\Title›ÛP²!age"“means,‘<ùfor˜a“prin²!ted˜b•MÞo“ok,‘<ùthe–Ütitle˜page“itself,‘<ùplus˜sucš²!h“follo˜wingŽ¡‘'¿«pages–RÃas“are“needed“to“hold,–c}legibly‘ÿe,“the–RÃmaterial“this‘RÂLicense“requires“to“appMÞear“in“theŽ¡‘'¿«title–1.page.‘¶ÊF‘ÿeor“w²!orks›1-in“formats˜whic²!h“do“not˜ha•²!v“e‘1.an“y˜title–1.page“as˜sucš²!h,‘HŸ\Title“P˜age"Ž¡‘'¿«means–­Žthe“text“near›­the“most“prominen²!t“appMÞearance“of“the˜w²!ork's“title,‘¯Xpreceding“theŽ¡‘'¿«bšMÞeginning–¦fof“the“b˜o˜dy“of“the“text.Ž¦‘'¿«The–)—\publisher"“means‘)˜anš²!y“pMÞerson“or“en˜tit˜y“that“distributes‘)˜copies“of“the“DoMÞcumen˜tŽ¡‘'¿«to–¦fthe“public.ŽŸ&h‘'¿«A›ísection–ò\En²!titled“XYZ"˜means“a“named›ósubunit“of“the“DoMÞcumen²!t˜whose“title“eitherŽ¡‘'¿«is–Uªprecisely‘U©XYZ›U•or“con²!tains“XYZ˜in“paren•²!theses›U©follo“wing–Uªtext“that˜translates“XYZ‘U•inŽ¡‘'¿«another–þ¯language.‘¥ö(Here“XYZ‘þ„stands“for“a“spšMÞecic“section“name“men²!tioned“b˜elo•²!w,‘ :suc“hŽ¡‘'¿«as›aa\Ac•²!kno“wledgemen“ts",–o/\Dedications",“\Endorsemen²!ts",“or˜\History".)‘ÆÛT‘ÿeo˜\Preserv²!eŽ¡‘'¿«the–›Title"›šof“suc²!h˜a“section“when˜y²!ou“moMÞdify˜the“DoMÞcumen²!t“means˜that“it˜remains“aŽ¡‘'¿«section–¦f\En²!titled“XYZ"“according“to“this“denition.Ž¦‘'¿«The–SuDoMÞcumenš²!t“ma˜y“include“W‘ÿearran˜t˜y“Disclaimers“next‘Svto“the“notice“whic˜h“states“thatŽ¡‘'¿«this–¹License“applies‘ºto“the“DoMÞcumenš²!t.‘×These“W‘ÿearran˜t˜y“Disclaimers‘ºare“considered“toŽ¡‘'¿«bMÞe–„ýincluded›„þb²!y“reference“in“this˜License,‘¼£but“only“as“regards˜disclaiming“w•²!arran“ties:Ž¡‘'¿«an²!y–nother›n‘implication“that˜these“W‘ÿearran•²!t“y˜Disclaimers‘nma“y˜ha“v“e‘nis˜v“oid–nand˜has“noŽ¡‘'¿«eect–¦fon“the“meaning“of“this“License.Ž¦‘-2.Ž‘'¿«VERBA‘ÿeTIM‘¦fCOPYINGŽŽŒ‹RŸò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:27ŽŽŽ ƒ33 ý ÌÍ‘'¿«Y‘ÿeou–’ùmaš²!y“cop˜y“and“distribute“the“DoMÞcumen˜t“in“an˜y“medium,‘Îeither“commercially“orŽ¤
33‘'¿«noncommercially‘ÿe,›zªpro²!vided–that‘this“License,˜the‘cop•²!yrigh“t–notices,˜and‘the“licenseŽ¡‘'¿«notice–Ksa²!ying›K
this“License˜applies“to˜the“DoMÞcumen²!t“are˜reproMÞduced“in˜all“copies,‘t7andŽ¡‘'¿«that–1'yš²!ou“add“no‘1(other“conditions“whatsoMÞev˜er“to“those“of“this“License.‘¶ÉY‘ÿeou“ma˜y“not“useŽ¡‘'¿«tec²!hnical–ò“measures›ò”to“obstruct˜or“con²!trol˜the“reading˜or“further˜cop²!ying“of˜the“copiesŽ¡‘'¿«y•²!ou›òÇmak“e‘òÈor˜distribute.‘¡þHo“w“ev“er,‘´y“ou˜ma“y˜accept‘òÈcompMÞensation˜in˜exc“hange‘òÈfor˜copies.Ž¡‘'¿«If–Þy²!ou›Þdistribute“a“large˜enough“n•²!um“bMÞer˜of–Þcopies“y•²!ou˜m“ust–Þalso“follo²!w˜the“conditionsŽ¡‘'¿«in–¦fsection“3.Ž©"#‘'¿«Y‘ÿeou–}ìma²!y“also›}ëlend“copies,‘¹7under“the“same“conditions“stated˜abMÞo•²!v“e,‘¹8and˜y“ou›}ìma“y˜publiclyŽ¡‘'¿«displa²!y‘¦fcopies.Ž¦‘-3.Ž‘'¿«COPYING–¦fIN“QUANTITYŽ¦‘'¿«If–Ãyš²!ou‘Âpublish“prin˜ted›Âcopies“(or˜copies˜in“media“that˜commonly“ha•²!v“e˜prin“ted˜co“v“ers)‘ÃofŽ¡‘'¿«the‘Ñ.DošMÞcumen•²!t,‘Ûßn“um“b˜ering–Ñ.more“than–Ñ-100,‘Ûàand“the–Ñ.Do˜cumen²!t's“license‘Ñ-notice“requiresŽ¡‘'¿«Co•²!v“er›ÜT‘ÿeexts,‘<ùy“ou‘Ûm“ust˜enclose˜the˜copies‘Ûin˜co“v“ers˜that˜carry–ÿe,‘<ùclearly‘Ûand˜legibly“,‘<ùallŽ¡‘'¿«these›´@Co•²!v“er˜T–ÿeexts:‘ùF“ron•²!t-Co“v“er˜T‘ÿeexts˜on˜the˜fron“t˜co“v“er,‘÷µand˜Bac“k-Co“v“er˜T‘ÿeexts˜onŽ¡‘'¿«the›öbac•²!k‘õco“v“er.‘Ñ
Both˜co“v“ers˜m“ust–õalso˜clearly˜and˜legibly“iden•²!tify˜y“ou˜as‘õthe˜publisherŽ¡‘'¿«of›,these–+copies.‘H/The“fron•²!t˜co“v“er˜m“ust˜presen“t–+the˜full˜title“with˜all˜w²!ords˜of“the˜titleŽ¡‘'¿«equally–³xprominenš²!t“and‘³yvisible.‘Y‘ÿeou“ma˜y›³yadd“other“material“on“the˜co•²!v“ers–³xin“addition.Ž¡‘'¿«Cop•²!ying›Y4with‘Y3c“hanges˜limited–Y3to˜the“co•²!v“ers,‘…ças–Y3long˜as“they˜preserv²!e“the˜title“of˜theŽ¡‘'¿«DošMÞcumen²!t–uand“satisfy“these“conditions,‘¨Åcan“b˜e“treated‘uas“vš²!erbatim“cop˜ying“in“otherŽ¡‘'¿«respMÞects.Ž¦‘'¿«If–î|the“required›î}texts“for“either“co•²!v“er–î|are“toMÞo˜vš²!oluminous“to“t“legibly‘ÿe,‘‚y˜ou“should“putŽ¡‘'¿«the–òrst›òones“listed“(as“man²!y˜as“t“reasonably)“on˜the“actual“co•²!v“er,‘ùand˜con“tin“ue‘òtheŽ¡‘'¿«rest–¦fonš²!to“adjacen˜t“pages.ŽŸ""‘'¿«If–?|y²!ou›?{publish“or˜distribute“Opaque˜copies“of˜the“DoMÞcumen•²!t˜n“um“bMÞering–?|more˜than“100,Ž¡‘'¿«y•²!ou›\3m“ust˜either‘\4include˜a˜mac“hine-readable˜T‘ÿeransparen“t˜cop“y˜along‘\4with˜eac“h˜OpaqueŽ¡‘'¿«cop²!y‘ÿe,‘[>or›7state–7in“or˜with“eacš²!h“Opaque“cop˜y‘7a“computer-net˜w˜ork“loMÞcation‘7from“whic˜hŽ¡‘'¿«the›éSgeneral‘éRnet•²!w“ork-using˜public˜has‘éRaccess˜to˜do“wnload˜using‘éRpublic-standard˜net“w“orkŽ¡‘'¿«protoMÞcols–¬=a“complete‘¬>T‘ÿeransparenš²!t“cop˜y“of“the“DoMÞcumen˜t,‘í³free“of“added“material.‘ïcIfŽ¡‘'¿«yš²!ou–ªuse“the‘ªlatter“option,‘êùy˜ou“m˜ust‘ªtak˜e“reasonably“pruden˜t“steps,‘êøwhen“y˜ou“bMÞeginŽ¡‘'¿«distribution–—lof›—mOpaque“copies˜in“quan•²!tit“y‘ÿe,‘Ó®to–—lensure“that˜this“T‘ÿeransparen•²!t˜cop“y‘—lwillŽ¡‘'¿«remain– Cthš²!us“accessible‘ Dat“the“stated“loMÞcation“un˜til‘ Dat“least“one“y˜ear“after‘ Dthe“last“timeŽ¡‘'¿«yš²!ou–k‘distribute‘k’an“Opaque“cop˜y‘k’(directly“or“through“y˜our‘k’agen˜ts“or“retailers)‘k’of“thatŽ¡‘'¿«edition–¦fto“the“public.Ž¦‘'¿«It–&Nis“requested,‘FHbut“not“required,‘FGthat“yš²!ou“con˜tact“the“authors“of“the“DoMÞcumen˜t“w˜ellŽ¡‘'¿«bMÞefore–oÅredistributing‘oÄanš²!y“large“n˜um˜bMÞer›oÄof“copies,‘z²to˜giv²!e“them˜a“c²!hance“to˜proš²!vide“y˜ouŽ¡‘'¿«with–¦fan“upšMÞdated“v²!ersion“of“the“Do˜cumen²!t.Ž¦‘-4.Ž‘'¿«MODIFICA‘ÿeTIONSŽ¦‘'¿«Y‘ÿeou–*maš²!y“cop˜y“and›)distribute“a“MoMÞdied“V‘ÿeersion“of“the˜DoMÞcumen²!t“under“the“conditionsŽ¡‘'¿«of–…šsections›…›2“and˜3“abMÞo•²!v“e,‘¿]pro“vided˜that‘…šy“ou˜release–…šthe˜MoMÞdied“V‘ÿeersion˜under“preciselyŽ¡‘'¿«this–{ÞLicense,‘„`with“the›{ßMoMÞdied“V‘ÿeersion“lling˜the“role“of˜the“DoMÞcumen•²!t,‘„`th“us‘{ÞlicensingŽ¡‘'¿«distribution–¸and“mošMÞdication‘¹of“the“Mo˜died“V‘ÿeersion“to“who˜ev²!er‘¹p˜ossesses“a“cop²!y“ofŽ¡‘'¿«it.‘ÝÝIn–¦faddition,“yš²!ou“m˜ust“do“these“things“in“the“MoMÞdied“V‘ÿeersion:Ž¦‘*òÄA.Ž‘=nUse–ípin“the“Title“Pš²!age“(and“on“the“co˜v˜ers,‘ÿ2if“an˜y)“a“title“distinct“from“that“of“theŽ¡‘=nDoMÞcumenš²!t,‘+and–ˆfrom“those“of“previous“v˜ersions‘‡(whic˜h“should,‘+if“there“w˜ere“an˜y‘ÿe,ŽŽŒ‹d€Ÿò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:28ŽŽŽ ƒ33 ý ÌÍ‘=nbšMÞe–Âølisted“in“the“History‘Â÷section“of“the“Do˜cumenš²!t).‘3“Y‘ÿeou“ma˜y‘Â÷use“the“same“title“asŽ¤
33‘=na–¦fprevious“vš²!ersion“if“the“original“publisher“of“that“v˜ersion“giv˜es“pMÞermission.Ž©€‘+gB.Ž‘=nList–ª\on“the“Title›ª[P²!age,‘«Zas“authors,‘«Yone“or“more“pMÞersons˜or“en²!tities“respMÞonsible“forŽ¡‘=nauthorship–"of›"the“moMÞdications“in˜the“MoMÞdied˜V‘ÿeersion,‘<|together“with“at˜least“v²!eŽ¡‘=nof–߸the“principal“authors“of“the“DoMÞcumenš²!t“(all“of“its“principal“authors,‘uif“it“has“few˜erŽ¡‘=nthan–¦fvš²!e),“unless“they“release“y˜ou“from“this“requiremen˜t.ŽŸ€‘+@¢C.Ž‘=nState–±Óon›±Òthe“Title˜page“the˜name“of˜the“publisher˜of“the˜MoMÞdied“V‘ÿeersion,‘´­as“theŽ¡‘=npublisher.Ž¦‘*ËÕD.Ž‘=nPreservš²!e–¦fall“the“cop˜yrigh˜t“notices“of“the“DoMÞcumen˜t.Ž¦‘+µoE.Ž‘=nAdd–Äean›Ädappropriate“cop•²!yrigh“t˜notice‘Äefor˜y“our‘ÄemoMÞdications˜adjacen“t–Äeto˜the“otherŽ¡‘=ncop•²!yrigh“t‘¦fnotices.ŽŸ€‘,LF.Ž‘=nInclude,›hSimmediately–XÎafter“the“cop•²!yrigh“t–XÎnotices,˜a“license“notice“giving“the“publicŽ¡‘=npMÞermission–ïËto›ïÊuse“the˜MoMÞdied“V‘ÿeersion“under˜the“terms˜of“this“License,‘Pin˜the“formŽ¡‘=nshoš²!wn–¦fin“the“Addendum“bMÞelo˜w.Ž¦‘*‘nG.Ž‘=nPreserv²!e–¼min›¼lthat“license˜notice“the˜full“lists˜of“In•²!v‘ÿdDarian“t˜Sections–¼mand˜required“Co•²!v“erŽ¡‘=nT‘ÿeexts–¦fgivš²!en“in“the“DoMÞcumen˜t's“license“notice.Ž¦‘*òÄH.Ž‘=nInclude–¦fan“unaltered“cop²!y“of“this“License.ŽŸ€‘/4çI.Ž‘=nPreservš²!e–Ú†the‘Ú‡section“En˜titled‘Ú‡\History",‘çŽPreserv˜e“its›Ú‡Title,‘çŽand“add˜to“it˜an“itemŽ¡‘=nstating–_at›_least“the˜title,–mQy²!ear,“new˜authors,“and–_publisher˜of“the˜MoMÞdied“V‘ÿeersionŽ¡‘=nas–ÄXgivš²!en“on‘ÄWthe“Title“P˜age.‘7³If‘ÄWthere“is“no“section“En˜titled“\History"‘ÄWin“the“DoMÞcu-Ž¡‘=nmenš²!t,‘O#create‘-eone–-dstating“the“title,‘O$y˜ear,–O#authors,“and‘-epublisher–-dof“the“DoMÞcumen˜tŽ¡‘=nas–Wgivš²!en“on“its“Title“P˜age,‘ƒFthen“add“an“item“describing“the“MoMÞdied“V‘ÿeersion“asŽ¡‘=nstated–¦fin“the“previous“sen²!tence.Ž¦‘-ˆ¢J.Ž‘=nPreservš²!e–æthe“net˜w˜ork“loMÞcation,‘õúif“an˜y‘ÿe,‘õúgiv˜en“in“the“DoMÞcumen˜t‘æfor“public“access“toŽ¡‘=na–½…T‘ÿeransparenš²!t“cop˜y‘½†of“the“DoMÞcumen˜t,‘ÃMand“lik˜ewise“the“net˜w˜ork‘½†loMÞcations“giv˜en“inŽ¡‘=nthe–Í„DoMÞcumenš²!t‘̓for“previous“v˜ersions‘̓it“w˜as“based“on.‘S6These‘̓ma˜y“bMÞe“placed‘̓in“theŽ¡‘=n\History"–8section.‘¦ÎY‘ÿeou›9ma²!y“omit˜a“net•²!w“ork–8loMÞcation˜for“a˜w²!ork“that˜w²!as“publishedŽ¡‘=nat–Kleast“four‘Ky²!ears“bšMÞefore“the“Do˜cumen²!t“itself,‘t@or“if“the“original‘Kpublisher“of“theŽ¡‘=nvš²!ersion–¦fit“refers“to“giv˜es“pMÞermission.Ž¦‘*¤åK.Ž‘=nF‘ÿeor–Ùranš²!y“section“En˜titled“\Ac˜kno˜wledgemen˜ts"“or“\Dedications",‘oPreserv˜e“the“TitleŽ¡‘=nof›/Rthe–/Qsection,‘G#and“preserv²!e˜in˜the“section˜all˜the“substance˜and“tone˜of˜eac²!h“of˜theŽ¡‘=ncon•²!tributor›¦fac“kno“wledgemen“ts˜and/or˜dedications˜giv“en˜therein.Ž¦‘,Q*L.Ž‘=nPreservš²!e–?Ôall‘?Óthe“In˜v‘ÿdDarian˜t›?ÓSections“of˜the“DoMÞcumen²!t,‘f/unaltered˜in“their˜text“andŽ¡‘=nin›PÜtheir–PÝtitles.‘Ý@Section“n•²!um“bMÞers˜or‘PÝthe˜equiv‘ÿdDalen“t–PÝare˜not“considered˜part“of˜theŽ¡‘=nsection‘¦ftitles.ŽŸ€‘)M.Ž‘=nDelete–°5anš²!y“section“En˜titled‘°4\Endorsemen˜ts".‘ûJSuc˜h“a“section‘°4ma˜y“not“bMÞe“includedŽ¡‘=nin–¦fthe“MoMÞdied“V‘ÿeersion.Ž¦‘*òÄN.Ž‘=nDo–g!not›g"retitle“an²!y˜existing“section“to˜bMÞe“Enš²!titled“\Endorsemen˜ts"›g"or“to˜con
ict“inŽ¡‘=ntitle–¦fwith“anš²!y“In˜v‘ÿdDarian˜t“Section.Ž¦‘*¤åO.Ž‘=nPreserv•²!e›¦fan“y˜W‘ÿearran“t“y˜Disclaimers.ŽŸÌΑ'¿«If–Øthe›×MoMÞdied“V‘ÿeersion˜includes“new˜fron²!t-matter“sections˜or“appMÞendices˜that“qualifyŽ¡‘'¿«as–XSecondary›X	Sections“and“con²!tain“no˜material“copied“from˜the“DoMÞcumen•²!t,‘g´y“ou˜ma“y‘XatŽ¡‘'¿«y²!our–ãkoption›ãldesignate“some˜or“all“of˜these“sections˜as“in•²!v‘ÿdDarian“t.‘”íT‘ÿeo˜do–ãkthis,‘ò­add“theirŽŽŒ‹vâŸò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:29ŽŽŽ ƒ33 ý ÌÍ‘'¿«titles–@«to“the“list›@¬of“In•²!v‘ÿdDarian“t–@«Sections“in“the“MoMÞdied“V‘ÿeersion's“license˜notice.‘¬¬TheseŽ¤
33‘'¿«titles–¦fmš²!ust“bMÞe“distinct“from“an˜y“other“section“titles.Ž©(ö‘'¿«Y‘ÿeou–pmaš²!y‘qadd“a“section“En˜titled‘q\Endorsemen˜ts",‘s²pro˜vided“it“con˜tains‘qnothing“butŽ¡‘'¿«endorsemen•²!ts›‘of‘‘y“our˜MoMÞdied˜V‘ÿeersion˜b“y‘‘v‘ÿdDarious˜parties|for˜example,‘•Zstatemen“ts˜ofŽ¡‘'¿«pšMÞeer–D
review“or‘Dthat“the“text“has“b˜een‘Dappro•²!v“ed›D
b“y˜an˜organization‘Das˜the˜authoritativ“eŽ¡‘'¿«denition–¦fof“a“standard.ŽŸ(÷‘'¿«Y‘ÿeou–f,ma²!y›f-add“a˜passage“of˜up“to˜vš²!e“w˜ords›f-as“a˜F›ÿeron•²!t-Co“v“er–f,T˜ext,‘sand›f-a“passage˜of“upŽ¡‘'¿«to–@25“wš²!ords‘@Žas“a“Bac˜k-Co˜v˜er“T‘ÿeext,‘Tìto›@Žthe“end“of“the˜list“of“Co•²!v“er–@T‘ÿeexts˜in“the“MoMÞdiedŽ¡‘'¿«V›ÿeersion.‘Õ+Only–N+one‘N*passage“of“F˜ron•²!t-Co“v“er‘N*T˜ext–N+and“one‘N*of“Bac•²!k-Co“v“er‘N+T˜ext‘N*ma“y‘N+bMÞeŽ¡‘'¿«added–NÁbš²!y“(or“through“arrangemen˜ts“made“b˜y)‘NÂan˜y“one“en˜tit˜y‘ÿe.‘À¦If“the“DoMÞcumen˜t“alreadyŽ¡‘'¿«includes›Éa‘Èco•²!v“er˜text–Èfor˜the˜same“co•²!v“er,‘/!previously˜added˜b“y‘Èy“ou˜or‘Èb“y˜arrangemen“tŽ¡‘'¿«made–:Çbš²!y“the“same“en˜tit˜y“y˜ou“are“acting“on“bMÞehalf“of,‘_ßy˜ou“ma˜y‘:Ènot“add“another;‘„÷butŽ¡‘'¿«y•²!ou›)ma“y˜replace–*the˜old˜one,‘2on˜explicit˜pMÞermission˜from˜the“previous˜publisher˜thatŽ¡‘'¿«added–¦fthe“old“one.Ž¦‘'¿«The–^author(s)›]and“publisher(s)˜of“the“DoMÞcumen²!t˜do“not“b²!y˜this“License˜giv²!e“pMÞermissionŽ¡‘'¿«to–¤juse“their›¤knames“for“publicit²!y“for“or˜to“assert“or“imply“endorsemen²!t˜of“an²!y“MoMÞdiedŽ¡‘'¿«V‘ÿeersion.ŽŸ(÷‘-5.Ž‘'¿«COMBINING‘¦fDOCUMENTSŽ¦‘'¿«Y‘ÿeou›¦Çma•²!y‘¦Ècom“bine˜the˜DoMÞcumen“t–¦Èwith˜other“doMÞcumen²!ts˜released˜under“this˜License,Ž¡‘'¿«under–—sthe“terms›—tdened“in“section“4˜abšMÞo•²!v“e–—sfor“mo˜died“v•²!ersions,‘Ó·pro“vided–—sthat“y²!ouŽ¡‘'¿«include–	in›	the“com²!bination“all“of˜the“In•²!v‘ÿdDarian“t–	Sections˜of“all“of“the˜original“doMÞcumen²!ts,Ž¡‘'¿«unmoMÞdied,‘L3and–5¦list›5§them“all˜as“In•²!v‘ÿdDarian“t–5¦Sections˜of“yš²!our“com˜bined‘5§w˜ork“in‘5§its“licenseŽ¡‘'¿«notice,–¦fand“that“yš²!ou“preserv˜e“all“their“W‘ÿearran˜t˜y“Disclaimers.Ž¦‘'¿«The–¢@comš²!bined“w˜ork“need“only“con˜tain“one“cop˜y“of“this“License,‘£and“m˜ultiple“iden˜ticalŽ¡‘'¿«In•²!v‘ÿdDarian“t–æÝSections“maš²!y“bMÞe“replaced“with“a“single‘æÜcop˜y‘ÿe.‘ŸBIf“there“are“m˜ultiple“In˜v‘ÿdDarian˜tŽ¡‘'¿«Sections–6Çwith›6Èthe“same˜name“but˜dierenš²!t“con˜ten˜ts,‘Mmak˜e›6Èthe“title˜of“eac•²!h˜suc“h‘6ÇsectionŽ¡‘'¿«unique–bb²!y›cadding“at˜the“end˜of“it,‘1"in“paren²!theses,‘1!the˜name“of˜the“original˜author“orŽ¡‘'¿«publisher–of“that›~section“if“kno²!wn,‘!­or“else“a“unique˜n•²!um“bMÞer.‘¦‘Mak“e˜the–same“adjustmen²!tŽ¡‘'¿«to–î‡the›î†section“titles“in˜the“list“of˜In•²!v‘ÿdDarian“t–î‡Sections“in“the˜license“notice“of˜the“com²!binedŽ¡‘'¿«w²!ork.ŽŸ(÷‘'¿«In›ö"the‘ö#com•²!bination,‘Jy“ou˜m“ust‘ö#com“bine˜an“y‘ö#sections˜En“titled–ö#\History"˜in“the˜v‘ÿdDari-Ž¡‘'¿«ous–ÜÛoriginal›ÜÚdoMÞcumen²!ts,‘êxforming“one˜section“Enš²!titled“\History";‘ølik˜ewise‘ÜÚcom˜bine“an˜yŽ¡‘'¿«sections–ÑEnš²!titled“\Ac˜kno˜wledgemen˜ts",‘Û¿and“an˜y“sections“En˜titled“\Dedications".‘]çY‘ÿeouŽ¡‘'¿«mš²!ust–¦fdelete“all“sections“En˜titled“\Endorsemen˜ts."Ž¦‘-6.Ž‘'¿«COLLECTIONS–¦fOF“DOCUMENTSŽŸ(÷‘'¿«Y‘ÿeou–Ò¤maš²!y“mak˜e“a“collection“consisting“of‘Ò£the“DoMÞcumen˜t“and“other“doMÞcumen˜ts“releasedŽ¡‘'¿«under–this“License,‘sÚand“replace“the“individual“copies“of“this“License“in“the“v‘ÿdDariousŽ¡‘'¿«doMÞcumenš²!ts–Dwith‘Ca“single“cop˜y›Cthat“is˜included“in“the˜collection,‘y»pro²!vided˜that“y²!ouŽ¡‘'¿«follo²!w–t”the›t•rules“of˜this“License˜for“v•²!erbatim˜cop“ying‘t”of˜eac“h–t”of˜the“doMÞcumen²!ts˜in“allŽ¡‘'¿«other‘¦frespMÞects.Ž¦‘'¿«Y‘ÿeou–Æ=maš²!y“extract“a“single“doMÞcumen˜t“from“suc˜h“a“collection,‘Î2and“distribute“it“individu-Ž¡‘'¿«ally–4under›4this“License,‘Wnpro•²!vided˜y“ou–4insert“a“cop²!y˜of“this“License“in²!to˜the“extractedŽ¡‘'¿«doMÞcumen•²!t,‘ùøand›éBfollo“w–éAthis˜License“in“all˜other“respMÞects˜regarding“v•²!erbatim˜cop“ying‘éAofŽ¡‘'¿«that‘¦fdoMÞcumen²!t.ŽŽŒ‹‡CŸò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:30ŽŽŽ ƒ33 ý ÌÍ‘-7.Ž‘'¿«Aš²!GGREGA‘ÿeTION–¦fWITH“INDEPENDENT“W˜ORKSŽ©(ö‘'¿«A‘]Æcompilation–]Øof“the“DoMÞcumenš²!t‘]Ùor“its“deriv‘ÿdDativ˜es“with“other‘]Ùseparate“and“indepMÞenden˜tŽ¤
33‘'¿«doMÞcumen•²!ts›ÿhor‘ÿiw“orks,‘©in˜or˜on‘ÿia˜v“olume–ÿiof˜a“storage˜or˜distribution“medium,‘©is˜calledŽ¡‘'¿«an–\aggregate"“if“the›
cop•²!yrigh“t–resulting“from“the“compilation“is“not˜used“to“limit“theŽ¡‘'¿«legal–1	righ²!ts›1of“the“compilation's˜users“bMÞey²!ond˜what“the“individual˜w²!orks“pMÞermit.‘¶¾WhenŽ¡‘'¿«the–žDošMÞcumen²!t“is“included‘žin“an“aggregate,‘Ûðthis“License“do˜es“not‘žapply“to“the“otherŽ¡‘'¿«wš²!orks–¦fin“the“aggregate“whic˜h“are“not“themselv˜es“deriv‘ÿdDativ˜e“w˜orks“of“the“DoMÞcumen˜t.ŽŸ(÷‘'¿«If–»Vthe“Co•²!v“er–»VT‘ÿeext“requiremenš²!t“of“section“3‘»Uis“applicable“to“these“copies“of“the“DoMÞcumen˜t,Ž¡‘'¿«then–°Dif›°Ethe“DoMÞcumen²!t“is“less˜than“one“half“of˜the“en²!tire“aggregate,‘á~the˜DoMÞcumenš²!t's“Co˜v˜erŽ¡‘'¿«T‘ÿeexts–0maš²!y“bMÞe“placed“on“co˜v˜ers“that“brac˜k˜et“the“DoMÞcumen˜t“within“the‘0aggregate,‘G°or“theŽ¡‘'¿«electronic–5qequiv‘ÿdDalenš²!t‘5pof“co˜v˜ers›5pif“the˜DoMÞcumen²!t“is“in˜electronic“form.‘ŠüOtherwise“theyŽ¡‘'¿«mš²!ust–¦fappMÞear“on“prin˜ted“co˜v˜ers“that“brac˜k˜et“the“whole“aggregate.Ž¦‘-8.Ž‘'¿«TRANSLA‘ÿeTIONŽŸ(÷‘'¿«T‘ÿeranslation–̯is›Ì°considered“a˜kind“of“moMÞdication,‘Aso˜yš²!ou“ma˜y‘Ì°distribute“translationsŽ¡‘'¿«of–Tþthe›TýDoMÞcumen²!t“under˜the“terms˜of“section“4.‘	é£Replacing“In•²!v‘ÿdDarian“t˜Sections‘TþwithŽ¡‘'¿«translations–v²requires‘v³spšMÞecial“p˜ermission“from“their›v³cop•²!yrigh“t‘v²holders,‘êÄbut˜y“ou‘v²ma“yŽ¡‘'¿«include–ðktranslations“of“some›ðjor“all“In•²!v‘ÿdDarian“t–ðkSections“in“addition˜to“the“original“v²!ersionsŽ¡‘'¿«of›Æthese‘ÆIn•²!v‘ÿdDarian“t˜Sections.‘=Y‘ÿeou‘Æma“y˜include–Æa˜translation˜of“this˜License,‘Î
and“all˜theŽ¡‘'¿«license–òúnotices›òûin“the“DoMÞcumen•²!t,‘Fand˜an“y›òúW‘ÿearran“t“y˜Disclaimers,‘Fpro“vided‘òûthat˜y“ouŽ¡‘'¿«also–Ïinclude›Îÿthe“original“English˜v²!ersion“of“this“License˜and“the“original˜v²!ersions“ofŽ¡‘'¿«those–notices“and“disclaimers.‘5åIn“case“of“a“disagreemen•²!t‘bMÞet“w“een–the“translation“andŽ¡‘'¿«the–:•original›:”v²!ersion“of˜this“License˜or“a˜notice“or˜disclaimer,‘_ the“original˜v²!ersion“willŽ¡‘'¿«prev‘ÿdDail.Ž¦‘'¿«If–pèa“section“in‘péthe“DoMÞcumenš²!t“is“En˜titled“\Ac˜kno˜wledgemen˜ts",–{›\Dedications",“or‘pè\His-Ž¡‘'¿«tory",‘A¿the–(•requiremenš²!t“(section“4)“to“Preserv˜e“its“Title“(section“1)“will“t˜ypically“requireŽ¡‘'¿«c²!hanging–¦fthe“actual“title.Ž¦‘-9.Ž‘'¿«TERMINA‘ÿeTIONŽŸ(÷‘'¿«Y‘ÿeou–”maš²!y“not‘”cop˜y–ÿe,›—¾moMÞdify“,˜sublicense,˜or–”distribute“the“DoMÞcumen²!t‘”except“as“expresslyŽ¡‘'¿«proš²!vided–¡ðunder‘¡ñthis“License.‘Ð|An˜y›¡ñattempt“otherwise˜to“cop²!y–ÿe,›àÓmoMÞdify“,‘àÒsublicense,˜orŽ¡‘'¿«distribute–¦fit“is“vš²!oid,“and“will“automatically“terminate“y˜our“righ˜ts“under“this“License.Ž¦‘'¿«Ho•²!w“ev“er,‘ó·if›äAy“ou–ä@cease˜all“violation˜of“this“License,‘ó¸then“y²!our˜license“from˜a“particularŽ¡‘'¿«cop•²!yrigh“t–Jholder“is‘Jreinstated“(a)“proš²!visionally‘ÿe,‘sšunless“and“un˜til‘Jthe“cop˜yrigh˜t“holderŽ¡‘'¿«explicitly–á_and“nally“terminates“yš²!our“license,‘0and“(b)“pMÞermanen˜tly‘ÿe,‘0if“the“cop˜yrigh˜tŽ¡‘'¿«holder–"fails“to“notify“yš²!ou“of“the“violation‘"b˜y“some“reasonable“means“prior“to“60“da˜ysŽ¡‘'¿«after–¦fthe“cessation.ŽŸ(÷‘'¿«Moreo•²!v“er,‘Ï8y“our–Ç
license›Çfrom“a˜particular˜cop•²!yrigh“t–Ç
holder˜is˜reinstated“pMÞermanen²!tly˜ifŽ¡‘'¿«the›V`cop•²!yrigh“t˜holder‘Vanoties˜y“ou˜of˜the˜violation‘Vab“y˜some˜reasonable˜means,‘fbthis˜is˜theŽ¡‘'¿«rst–Wtime“y•²!ou‘Wha“v“e›Wreceiv“ed˜notice˜of˜violation‘Wof˜this˜License˜(for˜an“y‘Ww“ork)˜from˜thatŽ¡‘'¿«cop•²!yrigh“t–Õúholder,‘áÞand“yš²!ou“cure“the“violation“prior‘Õùto“30“da˜ys“after“y˜our‘Õùreceipt“of“theŽ¡‘'¿«notice.Ž¦‘'¿«T‘ÿeermination–Nuof“yš²!our“righ˜ts“under“this“section‘NtdoMÞes“not“terminate“the“licenses“of“partiesŽ¡‘'¿«who›•qha•²!v“e˜receiv“ed˜copies˜or˜righ“ts˜from˜y“ou‘•punder˜this˜License.‘ªþIf˜y“our˜righ“ts˜ha“v“eŽ¡‘'¿«bšMÞeen–Îterminated“and“not‘Íp˜ermanenš²!tly“reinstated,‘:¹receipt“of“a“cop˜y“of“some‘Íor“all“of“theŽ¡‘'¿«same–¦fmaterial“doMÞes“not“givš²!e“y˜ou“an˜y“righ˜ts“to“use“it.ŽŽŒ‹˜¨Ÿò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:31ŽŽŽ ƒ33 ý ÌÍ‘‡“10.Ž‘'¿«FUTURE–¦fREVISIONS“OF“THIS“LICENSEŽ©33‘'¿«The›ÿaF‘ÿeree‘ÿbSoft•²!w“are˜F‘ÿeoundation‘ÿbma“y˜publish–ÿbnew,‘UŸrevised“v²!ersions˜of“the˜GNU‘ÿ	F‘ÿereeŽ¤
33‘'¿«DoMÞcumenš²!tation–ÙâLicense‘Ùãfrom“time“to“time.‘xRSuc˜h“new‘Ùãv˜ersions“will“bMÞe“similar‘Ùãin“spiritŽ¡‘'¿«to– æthe“presenš²!t“v˜ersion,‘?…but“ma˜y“dier“in“detail“to“address‘ ånew“problems“or“concerns.Ž¡‘'¿«See‘¦fâhttp://www.gnu.org/copyleft/á.Ž¦‘'¿«Eac•²!h›ˆ×v“ersion˜of˜the˜License˜is˜giv“en˜a˜distinguishing˜v“ersion˜n“um“b•MÞer.‘ÔIf˜the˜Do“cumen²!tŽ¡‘'¿«spšMÞecies–r”that“a“particular“n•²!um“b˜ered›r”v“ersion˜of˜this˜License˜\or˜an“y˜later˜v“ersion"Ž¡‘'¿«applies‘æQto–æPit,‘öLyš²!ou“ha˜v˜e–æQthe“option‘æPof“follo˜wing“the“terms›æPand“conditions“either˜of“thatŽ¡‘'¿«spMÞecied–Žvš²!ersion“or“of“an˜y“later“v˜ersion“that‘Žhas“bMÞeen“published“(not“as“a“draft)“b˜yŽ¡‘'¿«the›î!F‘ÿeree‘î"Soft•²!w“are˜F‘ÿeoundation.‘µIf‘î"the˜DošMÞcumen“t‘î"do˜es–î!not“sp˜ecify›î"a“v•²!ersion˜n“um“bMÞer‘î!ofŽ¡‘'¿«this–$œLicense,‘D)yš²!ou“ma˜y“c˜hoMÞose‘$an˜y“v˜ersion“ev˜er“published“(not“as“a“draft)“b˜y“the“F‘ÿereeŽ¡‘'¿«Soft•²!w“are–ÖUF‘ÿeoundation.‘m©If“the“DošMÞcumen²!t“sp˜ecies“that“a“proš²!xy‘ÖTcan“decide“whic˜h“futureŽ¡‘'¿«v²!ersions–é)of›é*this“License˜can“bMÞe“used,‘ùÚthat˜proš²!xy's“public“statemen˜t›é*of“acceptance˜of“aŽ¡‘'¿«v•²!ersion›¦fpMÞermanen“tly˜authorizes˜y“ou˜to˜c“hoMÞose˜that˜v“ersion˜for˜the˜DoMÞcumen“t.Ž¦‘‡“11.Ž‘'¿«RELICENSINGŽ¦‘'¿«\Massivš²!e–{"Multiauthor‘{#CollabMÞoration“Site"“(or“\MMC‘zìSite")“means“an˜y‘{#W‘ÿeorld“WideŽ¡‘'¿«W‘ÿeeb–Leservš²!er“that“publishes“cop˜yrigh˜table‘Lfw˜orks“and“also“pro˜vides“prominen˜t“facilitiesŽ¡‘'¿«for›M an²!yb•MÞo“dy˜to˜edit˜those˜w•²!orks.‘ÀEA‘MŠpublic˜wiki˜that‘MŸan“yb•MÞo“dy˜can˜edit˜is˜an˜example˜ofŽ¡‘'¿«sucš²!h–Ya“serv˜er.‘µA‘?\Massiv˜e‘XMultiauthor“CollabMÞoration"“(or“\MMC")‘>con˜tained“in“theŽ¡‘'¿«site–¦fmeans“anš²!y“set“of“cop˜yrigh˜table“w˜orks“th˜us“published“on“the“MMC“site.Ž¦‘'¿«\CC-BY-SA"‘8¤means–8Éthe‘8ÊCreativš²!e“Commons“A˜ttribution-Share‘8ÊAlik˜e“3.0‘8Êlicense“pub-Ž¡‘'¿«lished›8b•²!y‘8Creativ“e˜Commons–8CorpMÞoration,‘N(a˜not-for-prot“corpMÞoration˜with“a˜principalŽ¡‘'¿«place–òof“business“in“San“F‘ÿerancisco,‘7£California,‘7¢as“wš²!ell“as“future“cop˜yleft“v˜ersions“of“thatŽ¡‘'¿«license–¦fpublished“b²!y“that“same“organization.Ž¦‘'¿«\IncorpšMÞorate"–­zmeans“to“publish‘­yor“republish“a“Do˜cumen²!t,›¯?in“whole“or‘­yin“part,˜as“partŽ¡‘'¿«of–¦fanother“DoMÞcumen²!t.Ž¦‘'¿«An–&\MMC‘&<is“\eligible›&]for“relicensing"“if“it“is˜licensed“under“this“License,‘?øand˜if“all“w²!orksŽ¡‘'¿«that–
w²!ere›rst“published˜under“this˜License“somewhere“other˜than“this˜MMC,“andŽ¡‘'¿«subsequen²!tly–-incorpMÞorated›-in“whole“or˜in“part“in²!to˜the“MMC,˜(1)“had“no˜co•²!v“er‘-textsŽ¡‘'¿«or›¦fin•²!v‘ÿdDarian“t˜sections,˜and˜(2)˜w“ere˜th“us˜incorpMÞorated˜prior˜to˜No“v“em“bMÞer˜1,˜2008.Ž¦‘'¿«The–àÊopMÞerator›àËof“an˜MMC‘àzSite“ma²!y˜republish“an“MMC‘àzcon²!tained˜in“the˜site“underŽ¡‘'¿«CC-BY-SA‘ on– the› same“site“at˜an²!y“time“bMÞefore˜August“1,–¡[2009,“pro²!vided˜the‘ MMC‘ isŽ¡‘'¿«eligible–¦ffor“relicensing.ŽŽŒ‹ ªdŸò‘GáAppšMÞendix–¦fA:“GNU“F‘ÿeree“Do˜cumen²!tation“License’Á:32ŽŽŽ ƒ33 ý ÌÍ‘Gë]ADDENDUM:–f@HošŒÌw“to“use“this“License“for“y˜our“dos3cumen˜tsŽŽŸ33‘GáT‘ÿeo–'òuse“this“License“in“a“doMÞcumenš²!t“y˜ou‘'óha˜v˜e“written,‘HUinclude“a“cop˜y“of“the“License“in“theŽ¤
33‘GdoMÞcumenš²!t–¦fand“put“the“follo˜wing“cop˜yrigh˜t“and“license“notices“just“after“the“title“page:Ž©
€‘8lÈóߤN		cmtt9ÉCopyright‘¹–(C)–	s,óFßê<x	
cmsltt10ëFyear“your‘¹—nameÉ.Ž¤
€‘8lÈPermission–¹–is“granted“to“copy,“distribute“and/or“modify“this“documentŽ¡‘8lÈunder–¹–the“terms“of“the“GNU“Free“Documentation“License,“Version“1.3Ž¡‘8lÈor–¹–any“later“version“published“by“the“Free“Software“Foundation;Ž¡‘8lÈwith–¹–no“Invariant“Sections,“no“Front-Cover“Texts,“and“no“Back-CoverŽ¡‘8lÈTexts.‘	s,A–¹–copy“of“the“license“is“included“in“the“section“entitled“``GNUŽ¡‘8lÈFree–¹–Documentation“License''.ŽŽŸO33‘!GáIf›ÊÌy•²!ou‘ÊÍha“v“e˜In“v‘ÿdDarian“t›ÊÍSections,‘åF‘ÿeron“t-Co“v“er˜T‘ÿeexts‘ÊÌand˜Bac“k-Co“v“er–ÊÌT‘ÿeexts,‘æreplace“theŽ¡‘G\with‘©ä.–§‘.“.Ž‘lÏT‘ÿeexts."‘ÝÝline–¦fwith“this:Ž¦‘AßôÉwith–¹–the“Invariant“Sections“being“ëFlist–¹—their“titlesÉ,‘¹–withŽ¤
€‘Aßôthe–¹–Front-Cover“Texts“being“ëFlistÉ,“and“with“the“Back-Cover“TextsŽ¡‘Aßôbeing‘¹–ëFlistÉ.ŽŽŸ%33‘!GáIf–:üyš²!ou“ha˜v˜e“In˜v‘ÿdDarian˜t“Sections“without“Co˜v˜er“T‘ÿeexts,‘`"or“some“other“com˜bination“of“theŽ¡‘Gthree,–¦fmerge“those“t•²!w“o›¦falternativ“es˜to˜suit˜the˜situation.ŽŸ33‘!GIf–Ý yš²!our“doMÞcumen˜t“con˜tains“non˜trivial‘Ýexamples“of“program“coMÞde,‘aw˜e“recommend“releasingŽ¡‘Gthese–-éexamples›-êin“parallel˜under“y•²!our˜c“hoice–-éof˜free“soft•²!w“are˜license,‘Êsuc“h–-éas˜the“GNUŽ¡‘GGeneral–¦fPublic“License,“to“pMÞermit“their“use“in“free“soft•²!w“are.ŽŽŒø·©ƒ’À;è…ïÿïÿ#ógÂÖN 
#×cmbx12óe·ág£ffcmmi12ó]ÂÖN ffcmbx12óTÂÖN G®cmbx12óKÂÖN ¼jcmbx12óFßê<x	
cmsltt10ó?!",š
ó3
cmsy10ó> b>
ó3
cmmi10ó=ßê<x
ó3
cmsltt10ó<Œ-ø
ó3
cmcsc10ó:p®0J
ó3
cmsl10ó9ý':
ó3
cmti10ó7ßê<x
ó3
cmtt10ó6Kñ`y
ó3
cmr10óߤN		cmtt9óKñ`y

cmr10ù¾òßßßßß

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>