Home

Emacs Predictive Completion Manual

image

Contents

1. esses 24 dictionaries saving x e e eee eee 22 dictionaries selecting automatically 31 dictionaries TSIO 40 dictionaries tips and tricks 30 dictionaries USUE 24 dictionaries using multiple 24 31 displaying completion candidates 13 dumping dictionaries 00 31 dynamic GOGO 12 E OCHO ALCO usos uec nuca rupes er e nx 13 F faster A ists wis edet doe neg ee pe dues 1 FDL GNU Free Documentation License 50 feature requestS 0 cece eee eee eee eee ee 43 features requesting 0 eee eee eee eee 43 future improvements 0 0 eee eee ee eee 43 Appendix C Concept Index G Getting the most out of dictionaries 30 H help chO ices espace et rpm e pre Ieri 13 BOEg gg ger GE ge Org E 5 html support seseseee e 41 AUML SUppott uidoseikiszenreeexemet eene 41 html major mode Support 41 HTML major mode Support 41 I inserting completion 9 installation z ais care grace i nerne nDia 3 K key bindings cre rerarere mnri cee cece eee eee 32 ISa 32 keymaps and key bindings suus 32 known PSE dig EE Ree ii eta nen Ep nes 43 L IATEX command syntax Hein 38 JATEA dictionaries 36 IATEX navigation commands sess 37 TATRX packages eee eee eee eee es 38 TATRX support 6 eee eee eee eee 36 J
2. 50 D 1 GNU Free Documentation License u z 50 D 1 1 ADDENDUM How to use this License for your documents 56 ii Chapter 1 What is predictive completion 1 1 What is predictive completion The languages we use to communicate contain a large amount of redundancy Given the first few letters of a word for instance it s not too difficult to predict what should come next Try it You can probably easily guess how to fill in the missing letters in the following sentence Giv th fir fe lett o wor i no diffi t predi wh shou com nex This is even more true of the languages used to communicate with computers which typically have very restricted vocabularies and rigidly defined grammars Redundancy occurs on many levels on the level of individual characters as illustrated above on the level of words we can often predict quite accurately what words are likely to come next in a sentence based on grammar and usage and perhaps even on higher levels Predictive completion exploits this redundancy by attempting to complete what you are trying to type before you ve finished typing it The predictive completion package described here is an add on to the GNU Emacs editor which implements a new minor mode called predictive mode see Section Minor Modes in GNU Emacs Manual When this predictive completion minor mode is switched on Emacs will try to complete the word you are typing based o
3. predictive subdirectory of the directory containing the ATEX file They are given a filename of the form dict latex type filename elc where type is the type of dictionary label local latex local math or local env and filename is the name of the ATEX file Note that these dictionaries are shared across all buffers with the same TeX master and the location they are saved to will be based on the TeX master file s name and directory However the section title dictionary is not saved by default because doing so has a tendency to fail badly through hitting an internal Emacs limit hard coded into print c Since the section dictionary is only used for navigation there is little disadvantage in recre ating it each time the file is loaded However if you do want it to be saved along with the other automatically generated dictionaries you should first increase this internal limit by applying the print c diff patch included in the predictive package to the file print c in the Emacs source and recompile Emacs from the patched source It is then safe r to enable predictive latex save section dict predictive latex save section dict When enabled save the section dictionary along with the other automatically generated IATEX dictionaries Disabled by default because saving the section dictionary has a tendency to fail badly through hitting an internal hard coded Emacs limit Do not enable this withou
4. It is best to ensure that dictionaries in the list do not duplicate any words The predictive auto add filter is not a customization option so it can only be set from Lisp code e g a setup function see Section 6 2 Major Modes page 35 One example of its use would be to filter out words that contain non letter characters though it may be better to customize completion dynamic syntax alist and completion dynamic override syntax alist instead see Section 6 1 2 Syntax page 33 The following will accomplish this setq predictive auto add filter lambda word dict string match alpha word Note that the function must accept both the word and dictionary arguments even if it doesn t make use of the dictionary Another example would be to check that words are spelled correctly before auto adding them to a dictionary either using ispell or using the English dictionary that comes with predictive mode This sounds tautological but it does make sense the dictionary you use for predictive completion will only contain words you ve used at least once but typos and spelling mistakes won t make it into the dictionary see Section 5 6 Getting the Most out of Dictionaries page 30 setq predictive auto add filter lambda word dict lookup words word J Using the supplied predictive English dictionary will be faster than ispell since it is optimised for looking up words though this isn t such an issue if predictive use
5. Usually you want to accumulate knowledge from each new piece of text But sometimes you may want to start from scratch and reset the word weights to zero before starting to train a dictionary for example to erase the predefined weights from the supplied English dictionary so that you can train it on your own writing style You can use the predictive reset weight command for this purpose see Section 5 1 Creating Dictionaries page 20 Note that all the learning commands even the fast ones can take a long time to run Chapter 5 Dictionaries 26 predictive learn from buffer Learns weights for words in a dictionary from text in a buffer If no explicit dictionary is specified this learns word weights for all dictionaries used by the current buffer see Section 5 2 Loading and Saving Dictionaries page 22 Each occurrence of a word increments its weight in the dictionary By de fault only occurrences that occur in a region where the dictionary is active are counted see Section 5 4 Region Local Dictionaries page 24 If an explicit dictionary is specified this can be overridden by supplying a prefix argument in which case all occurrences are counted irrespective of whether the dictio nary is active at the word occurrence Note that you cannot use this command to add words to a dictionary only to train the weights of words already in a dictionary see predictive fast learn or add from buffer below predictive learn fr
6. 28 predictive auto add min chars 2T predictive auto add to dict 24 27 predictive auto complete t predictive auto correction no completion HA 17 predictive auto define prefixes 30 predictive auto learn 24 26 predictive auxiliary file location 18 predictive buffer local learn multiplier ro 21 predictive completion speed 20 21 predictive dict autosave 20 21 23 predictive dict compilation 23 predictive dict lock loaded list 23 predictive dynamic syntax alist 32 predictive equivalent characters 17 predictive guess prefix suffixes 29 predictive ignore initial caps 18 predictive latex docclass alist 36 predictive latex electric environments 36 predictive latex save section dict 39 predictive latex usepackage functions 38 predictive main dict 24 28 predictive major mode alist 35 dE GEk b ere I RI te ones 32 predictive override dynamic syntax alist m 32 predictive prefix expansions IRO predictive use auto learn cache 27 predictive use buffer local dict 2T Appendix C Concept Index Appendix C Concept Index MCS file s RRR OREN ee peer EV andes 33 35 A advanced customisation eee 32 auto completion mode 7 10 11 12
7. All of them can be enabled or disabled indepentently and many of them can be extensively customized Perhaps the simplest is to display the most likely completion in the buffer see Section 4 4 Dynamic Completion page 12 You can then cycle through the other completion can didates using the completion cycle command M TAB and M cycle forwards whereas M SHIFT TAB and M cycle backwards These are the same key bindings used to manually complete the word at the point Hitting them for the first time will bring up the possible completions hitting them again will cycle You can also insert a completion candidate directly without having to cycle through them until you get to the one you want by using a completion hot key see Section 4 5 Completion Hotkeys page 13 By default the hot keys are the number keys 0 9 which insert the first through to the tenth candidate respectively Of course you won t know which completion candidate you want unless you can see which candidates are available The completion candidates can be displayed in the echo area and or in a tooltip below the point see Section 4 6 Displaying Completions in the Echo Area page 13 and see Section 4 7 Completion Tooltip page 13 When completion hot keys are enabled both of these also indicate which completion candidate corresponds to which hot key If you only want the hotkeys to be enabled when the tooltip or pop up frame see below are displayed then set
8. thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version A Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous versions which should if there were any Appendix D Copying this Manual 53 N O be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement State on the Title page the name of the publisher of the Modified Version as the publisher Preserve all the copyright notices of the Document Add an appropriate copyright notice for your modifications adjacent to the other copyright notices Include immediately after the copyright notices a license notice giving the public permission to use the Modified Version under the terms of this License in the form shown in the Addendum below Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice Include an unaltered co
9. 16 auto show a list of completions 15 automatic dictionary selection 3l automatic learning e e e 26 30 automatic spelling assistance 1 automatically created files INTEX 39 automatically created files Texinfo 41 B backing up dictionaries e 31 basic completion commands 5 9 basic dictionary USOS usura 24 PORO Sotto giaz TE madame teins 32 buffer local dictionary sess 24 91 bugs and future improvements 43 b gs KNOW e erte ke rraren 43 bugs reporting 43 C GGE GGE SEE E E ateria dr nade epo ed 32 characters deleting 200005 10 characters Syntax cise csc e rer 33 command syntax help INTEX 665 38 commands bagira 5 9 completing words sseesseeeee eese T completion a gR S pukn De dng gate dete gible DES RR RU T completion A 5 15 completion help echo usura 13 completion hotkeys 2 008 13 completion menu 2 22 eee eee 5 15 completion menu auto show 15 completion pop up frame 6 14 completion pop up frame auto show 15 completion DOOR 5 13 completion tooltip auto show 15 completion auto ShoW eee eee 15 completion automatic T T0 LT 12 16 completion basic commands 5 9 completion displayin
10. 2 Obtaining and Installing page 3 can be found in your 1oad path The DITEK Texinfo and HTML support goes far beyond simply changing a few configuration variables Chapter 6 Advanced Customisation 36 See Section 6 2 1 LaTeX Support page 36 Section 6 2 2 Texinfo Support page 39 and Section 6 2 3 HTML Support page 41 6 2 1 BIFX Support Predictive mode comes with comprehensive support for the I4TEX type setting language With the default settings IXTEX support is enabled automatically when predictive comple tion mode is turned on in a TSOA buffer via an entry in predictive major mode alist see Section 6 2 Major Modes page 35 6 2 1 1 Parsing PISO Documents Predictive mode s IATEX support parses the IATEX file as you type without any noticeable slow down in order to identify different contexts The main use for this information is to switch to the appropriate dictionary in different regions of a IATEX document The following customization options affect this parsing predictive latex docclass alist Alist associating LaTeX document classes the docclass appearing inside documentclass lt docclass gt with dictionaries predictive latex electric environments When non nil environment names appearing inside begin lt environment gt and end lt environment gt are automatically synchronised By default predictive mode will use the usual main dictionary in IATEX mode de termined by predictive main d
11. Nbegint it will use the dictionaries of IATEX environments Inside ref it will use the dictionary of cross reference labels which is created and updated automatically for each IXTEX document Inside documentclass and bibliographystyle it will use the document class and bibliography style dictionaries respectively 3 The automatic dictionary switching is implemented using the auto overlays Elisp package Chapter 6 Advanced Customisation 37 When predictive latex electric environments is enabled the environment name appearing inside a IATEX end lt environment gt command is automatically synchronised with its matching begin lt environment gt command The synchronisation doesn t just occur when the end command is first typed it is kept synchronised at all times even when the begin command that it originally matched is deleted causing it to match a different begin somewhere else in the document Also when the environment name within either a Nbegin or an end command is modified the environment name within its matching partner is also modified accordingly WARNING this feature is known to have bugs and should probably not be used at the moment see Section 7 1 Known Bugs page 43 Predictive IXTEX mode honours the TeX master variable If it is turned on in a buffer whose TeX master variable is set to the name of another rX file the TeX master file will be visited predictive mode will b
12. always switch on predictive mode in that major mode or if you want to switch it on and off whilst within the mode predictive major mode alist Alist associating a major mode symbol with a function which should take one argument The alist is checked whenever predictive mode is enabled or dis abled in a buffer using the predictive mode or turn on predictive mode commands see Section 4 2 Basic Completion Commands page 9 If the buffer s major mode matches one in the alist the associated function is called with a positive argument if predictive mode is being enabled or a negative one if it is being disabled This makes it easier to customize predictive mode for different major modes Since the setup function is determined by the current major mode predictive mode should be switched on after switching to the appropriate major mode If you always want to use predictive mode with a particular major mode the easiest way to do this is to add the predictive mode command to the major mode hook in your emacs file using a line something like this add hook major mode hook turn on predictive mode The predictive package itself includes comprehensive support for TEX predictive setup latex Texinfo predictive setup texinfo and HTML predictive setup html More contributions are always welcome You must ensure that the dictionaries required in order to support these major modes which are also included in the package see Chapter
13. and autosave flag see below predictive create meta dict Create a new meta dictionary A meta dictionary is a wrapper around two or more dictionaries that behaves as if it was a single combined dictionary The weight of a word is the sum of it s weights in the constituent dictionaries and the prefix relationships from all constituent dictionaries are merged see Section 5 5 3 Relationships Between Words page 28 Apart from supplying a list of constituent dictionaries the other options are identical to those for predictive create dict predictive add to dict Insert a word into a dictionary The dictionary name and word are read from the mini buffer defaults to the word at the point An optional prefix argument specifies the weight If the word is not already in the dictionary it will be added to it with that initial weight or 0 if none is supplied If the word is already Chapter 5 Dictionaries 21 in the dictionary its weight will be incremented by the weight value or by 1 if none is supplied predictive remove from dict Completely remove a word from a dictionary The dictionary name and word are read from the mini buffer defaults to the word at the point predictive reset weight Reset the weight of a word in a dictionary to 0 The dictionary name and word are read from the mini buffer If no word is supplied reset the weights of all words in the dictionary If a prefix argument is supplied reset weight s to that va
14. and it can take a little while until your fingers get used to it If you need to reject a completion candidate you can do so using C DEL or C SPC DEL is usually the backspace key If you aren t using auto completion mode you will need to call the complete predictive command whenever you want to complete the word at or next to the point This is bound to M TAB M SHIFT TAB M and M There are then two styles of behaviour completions can either be ephemeral acting purely as a visual indicator and disappearing unless you explicitly accept them using completion accept bound to C RET You may be used to this style of behaviour from word processing software such as OpenOffice Writer Alternatively completions can be permanent so that completing a word really does insert those characters into the buffer unless you explicitly reject it using completion reject bound to C DEL This is the more traditional Emacs style behaviour that you may be used to from using dabbrevs for example The choice is yours and is controlled by the completion accept or reject by default customization option see Section 4 11 Miscellaneous Options page 16 Note that these two different styles of Chapter 4 Completing Words 8 behaviour are mainly relevant when Dynamic Completion is enabled as it is by default This is described below Whether you are using auto completion mode or not there are various ways to display and select completions
15. and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of the original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections Entitled History in the vari ous original documents forming one section Entitled History likewise combine any sections Entitled Acknowledgements and any sections Entitled Dedications You must delete all sections Entitled Endorsements 6 COLLECTIONS OF DOCUME
16. auto learn cache is enabled the following assumes dict english is already loaded see Section 5 2 Loading and Saving Dictionaries page 22 setq predictive auto add filter lambda word dictree member p dict english word Other possible uses for predictive auto add filter are limited only by your imagi nation 5 5 3 Relationships Between Words As well as word frequencies predictive mode dictionaries can store certain relationships between words to make learning more effective With each word in a dictionary a list of other words can be associated Predictive mode automatically ensures that the weights of Chapter 5 Dictionaries 29 the words in this list are always at least as large as that of the word they are associated with This is most useful when one word is a prefix for another For example you may want to ensure that however frequently the word learning is used the weight of the word learn is always kept at least as big so that it always takes precedence when completing The following functions allow you to define and undefine such prefix relationships note that despite the command names and descriptions predictive define prefix and predictive undefine prefix can be used to define relationships between any two words not just prefixes however predictive define all prefixes and the predictive auto define prefixes feature can only define actual prefix relationships predictive define prefix Defin
17. characters with comple tion behaviour and takes precedence over auto completion syntax alist When customizing auto completion syntax alist some useful predefined settings are available The Acceptance behaviour can be set to type normally or punctuation accepts Surprisingly the type normally allows you to type normally word constituent characters are added to the current prefix and recompleted anything else rejects any pro visional completion and inserts the character The punctuation accepts setting causes whitespace and punctuation characters to instead accept the current completion and insert the character The Completion behaviour can be set to word or string The differences between these settings is subtle and mainly affect what happens when you start typing when the point is in the middle or end of an existing word Essentially the word setting will try to intelligently decide whether you wanted to add characters to the existing word or start a new word depending on where the point is whereas the string setting will always behave as though you re starting a new word wherever the point is For full control overlay syntax related behaviour you can manually customize the entries in auto completion syntax alist Each association in auto completion syntax alist and auto completion override syntax alist is a two element list of the form accept reject add lt string word
18. different syntax Usually used to allow punctuation characters to be inserted one off as word constituents To define key as a binding to insert character char as though its were a word constituent use 6 completion define word constituent binding key char To define key as a binding to insert character char as though its syntax class were syntax use completion define word constituent binding key char syntax To ignore auto completion override syntax alist for this key binding so that the behaviour is determined only by syntax supply a non nil third argu ment Chapter 6 Advanced Customisation 34 completion define word constituent binding key char syntax t When a character is typed in auto completion mode predictive mode decides what to do based on that character s syntax as defined by the current syntax table see Section Syntax in GNU Emacs Manual All printable characters are bound by default to the function completion self insert which inserts the character looks up the character s syntax descriptor in auto completion syntax alist and carries out the associated ac tions By default all word constituent characters syntax descriptor w insert the character and complete the new prefix whilst anything else rejects any provisional completion and inserts the character Occasionally the syntax derived behaviour needs to be overridden for individual charac ters The auto completion override syntax alist associates
19. dynamic highlight prefix alterations When non nil any differences between the prefix you typed and the correspond ing characters from the current completion are highlighted in a different colour completion dynamic common substring face The face used to highlight the longest common substring in a dynamic comple tion completion dynamic prefix alterations face The face used to highlight differences between the typed prefix and the corre sponding characters in the current completion Chapter 4 Completing Words 13 4 5 Completion Hotkeys When the customisation variable completion use hotkeys is non nil you will be able to select a completion by typing a single character the numerical characters 0 9 are used by default You will probably also want to display a list of the possible completions so that you know which completion will be selected by each of these hotkeys see Section 4 6 Displaying Completions in the Echo Area page 13 and Section 4 7 Completion Tooltip page 13 By setting completion use hotkeys to pop up the hotkeys will only be enabled when the tooltip or pop up frame see Section 4 8 Pop Up Frame page 14 are displayed The following variables affect the behaviour of the completion hotkeys completion use hotkeys When non nil enable completion hotkeys allowing completion candidates to be selected by hitting a single key When set to the symbol pop up the hotkeys are only enabled when the tooltip
20. leaving it on usually doesn t cause the order to change that much The following variables control automatic learning predictive auto learn Controls automatic word frequency learning When non nil the default the weight for a word in is incremented each time it is accepted as a completion making the word more likely to be offered higher up the list of completions in the future Words that are not already in the dictionary are ignored unless predictive auto add to dict is set Chapter 5 Dictionaries 27 predictive auto add to dict Controls automatic adding of new words to dictionaries If nil the default new words are never automatically added to a dictionary If t new words are automatically added to the active dictionary If set to a dictionary name new words are automatically added to that dictionary instead of the active one predictive add to dict ask If non nil predictive mode will ask for confirmation before automatically adding any word to a dictionary Enabled by default This has no effect unless predictive auto add to dict is also set predictive use buffer local dict If non nil a special buffer local dictionary will be created for each predic tive mode buffer The buffer local dictionary is used in conjunction with the predictive main dict and the two act as a single combined main dictionary for the buffer The buffer local dictionary is initially empty but whenever a word is learnt auto learnt auto add
21. none gt The first element determines what happens if there is a provisional completion at the point accept accepts it reject rejects it and add adds the typed character to the com pletion s prefix The last element determines what kind of completion is done if any after the typed character is inserted string and word complete the current prefix whereas none doesn t do any completion The string and word options differ in how they decide what prefix should be completed when no completion is in progress string takes the prefix to be the prefix built up by typing sequential characters word takes the prefix to be the part of the current word appearing before point The difference is only evident when typing a f Lisp packages can additionally set a third element that controls whether the typed character is inserted and can replace any element in the list with a function that returns one of the values described here or nil but these features are beyond the scope of this user manual 2 The value of completion word thing determines what is considered a word Logically enough it defaults to word Lisp packages can redefine it or even override the whole prefix finding mechanism with their own function but this is again beyond the scope of this user manual Chapter 6 Advanced Customisation 35 character in the middle or at the end of an existing word in which case string completes the newly typed character whereas word completes the exis
22. predictive package the dictionary files all files starting with the prefix dict and ending in elc or el except dict tree e1 need to be copied to a separate writable directory for each user For this reason the dictionaries will still be installed under emacs d predictive even if DESTDIR is specified You will have to copy them manually for any other users who want to use predictive If you want to change the dictionary install location use make install DICTDIR path to dictionaries This can of course be combined with the DESTDIR option make install DESTDIR path to install DICTDIR path to dictionaries Finally put the following lines in your emacs file replace the paths as appropriate if you re not using the default install locations predictive install location add to list load path emacs d predictive dictionary locations add to list load path emacs d predictive latex add to list load path emacs d predictive texinfo add to list load path emacs d predictive html load predictive package require predictive Alternatively you can save memory and only load the lisp libraries when they re needed i e when you first run the predictive mode command by replacing the final line as follows predictive install location add to list load path emacs d predictive dictionary locations add to list load path emacs d predicti
23. published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License If you have Invariant Sections Front Cover Texts and Back Cover Texts replace the with Texts line with this with the Invariant Sections being list their titles with the Front Cover Texts being list and with the Back Cover Texts being list If you have Invariant Sections without Cover Texts or some other combination of the three merge those two alternatives to suit the situation If your document contains nontrivial examples of program code we recommend releasing these examples in parallel under your choice of free software license such as the GNU General Public License to permit their use in free software
24. see Section 4 7 Completion Tooltip page 13 or pop up frame see Section 4 8 Pop Up Frame page 14 are displayed completion hotkey list List of keys to use for selecting completions Default is numerical characters 0 to 9 Note that this variable must be set before loading the predictive mode libraries e g in your emacs file See Section 6 1 1 Keymaps and Key Bind ings page 32 Of course however many characters are in completion hotkey list there cannot be more completions available than the number actually found The maximum number to find is limited by completion max candidates Section 4 11 Miscellaneous Options page 16 4 6 Displaying Completions in the Echo Area If the customisation variable completion use echo is non nil a list of completion can didates is displayed in the echo area If completion use hotkeys is also enabled see Section 4 5 Completion Hotkeys page 13 the hot key characters will be displayed next to the completions they select completion use help echo When non nil a list of completion candidates along with the hotkeys that select them if enabled is displayed in the echo area 4 7 Completion Tooltip Calling completion show tooltip when completing bound to S Down when completion use tooltip is enabled displays a list of available completions in a tooltip The completion tooltip cycle and completion tooltip cycle backwards commands bound to the down and up arrow keys can then be
25. set This avoids small but sometimes noticeable delays when typing New words or word weights will not be taken into account until the cache is fully flushed predictive auto add min chars Minimum length of words auto added to the dictionary When enabled words shorter than this will be ignored when auto add is used 1 In fact two dictionaries will be saved in the directory since the buffer local dictionary is composed of meta dictionary and a normal dictionary see Section 5 1 Creating Dictionaries page 20 Chapter 5 Dictionaries 28 predictive auto add filter When this variable is set to a function and when predictive auto add to dict is enabled the function will called whenever a word is going to be auto added to the dictionary passing the word a string and the dictionary as arguments The word will only be added if the function returns non nil If predictive use auto learn cache is enabled the filter function will be called when cached entries are flushed not when they re added to the cache allowing even time consuming filter functions to be used Note that if predictive main dict contains a list of dictionary names see Section 5 3 Basic Dictionary Usage page 24 an automatically learnt or added word may not end up where you want it The weight of a word is incremented in the first dictionary it is found in and words are added to the first dictionary in the list assuming predictive auto add to dict is set to t
26. so they are active when the point is in a completion and the corresponding user interface is enabled If the keymaps are not defined when predictive mode is first loaded see Chapter 2 Obtaining and Installing page 3 it creates the default keymaps and loads them into Emacs Therefore to completely re define predictive mode key bindings it is simpler to re define the keymap variables before loading predictive mode e g before the require predictive line in your emacs file see Chapter 2 Obtaining and Installing page 3 However doing this for the auto completion mode map will almost certainly break auto completion mode entirely But if you simply want to modify a few key bindings as will usually be the case you can do it in the usual Emacs way after loading predictive mode in your emacs file 6 1 2 Syntax auto completion syntax alist Alist associating character syntax descriptors with completion functions Used by the completion self insert function in auto completion mode to decide what to do based on a typed character s syntax auto completion override syntax alist Alist associating characters with completion functions Overrides the default function for a typed character s syntax Used by completion self insert in auto completion mode completion define word constituent binding Convenience command for use in your emacs file It is used to define key bindings that insert a character as though it had a
27. the Document in any medium either commercially or noncommercially provided that this License the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Document s license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other r
28. the buffer until you dismiss the menu You can select one of these three tooltip pop up frame or menu to be displayed auto matically when you complete a word by setting the completion auto show customization option You can optionally leave a short delay before it is displayed by setting completion auto show delay 4 2 Basic Completion Commands 4 2 1 Inserting Completions complete predictive M TAB M SHIFT TAB M M Find completions for the word at or next to the point completion cycle M TAB M SHIFT TAB M M Cycle through available completion candidates When supplied with a prefix argument it will jump that many completions forwards or backwards if the prefix argument is negative M and M cycle backwards so a negative argument will cause them to jump forwards that number of completions completion accept C RET Accept the current completion and move the point just beyond it If predictive auto learn and or predictive auto add are enabled pre dictive mode will also learn the word see Section 5 5 Dictionary Learning page 25 completion reject C Backspace C SPC Abandon the current completion removing the provi sionally inserted i e highlighted characters If a prefix argument is supplied predictive mode will also learn the resulting word i e the prefix with the pro visional completion removed see Section 5 5 Dictionary Learning page 25 The C SPC binding is only active in auto com
29. the envi ronment definition jump to the next duplicate definition of the environment predictive latex jump to section Jump to a section or subsection subsubsection etc in the current document The section name is read from the mini buffer If the point is already on the sectioning command jump to the next section with the same name if there is one predictive latex jump to matching delimiter Jump to the delimiter matching the one at the point if any This will jump from begin to end XU to NJ to matching and vice Versa Chapter 6 Advanced Customisation 38 predictive latex jump to start delimiter Jump to the start delimiter of the innermost environment or equation This will jump to begin ND or predictive latex jump to end delimiter Jump to the end delimiter of the innermost environment or equation This will jump to end or 6 2 1 3 Help with BIFX Command Syntax Predictive mode can automatically display a reminder of the syntax of the TGA com mand you are currently typing in the echo area This is enabled when predictive latex display help is non nil the default disabled otherwise 6 2 1 4 BT X Packages Many IATEX commands and features only become available when the appropriate package is included in the document using the usepackage command Predictive IXTEX mode supports this by automatically trying to load package d
30. used by default However this is only really included to make sure everything works out of the box This default dictionary has already been trained on a large body of English text which means it will take a very long time to adapt to your individual writing style Don t expect predictive completion mode to display particularly good predictive powers if you stick to the default dictionary For much better results you should create your own dictionary based on the supplied one if you like and train it on samples of your own writing See Chapter 5 Dictionaries page 20 Chapter 4 Completing Words 7 4 Completing Words The minor mode command predictive mode toggles the mode on and off With a positive prefix argument it switches the mode on whilst a negative prefix argument turns it off and a zero prefix argument toggles The turn on predictive mode is also provided as a convenience for use in hooks 4 1 Overview Predictive mode is extremely flexible and how you interact with it depends heavily on how you customize it Broadly there are two and a half ways to use predictive mode it can either do nothing until you ask it to complete a word or it can automatically search for the most likely completions as you type You may have seen something similar to the latter on certain models of mobile phone though predictive mode is far more powerful This behaviour is controlled by enabling or disabling auto completion mode see Section
31. 3 There are probably still bugs remaining in the auto overlay code used in some major modes to set up region local dictionaries If you find one please report it along with precise instructions on how to reproduce it They re fiendishly difficult to track down 4 The predictive mode Texinfo support uses dict latex math inside Qmath when it should only use TEX maths commands 7 2 Future Improvements Possible future improvements to predictive completion in no particular order 1 Allow the learning rate ie increment added each time a word is learnt to be set buffer locally and or separately for each dictionary 2 Support for more major modes This one will probably be here for ever I suspect new major modes are being created faster than predictive mode setup functions 3 More predictive mode configuration variables could be allowed to have overlay local bindings not just the active dictionary completion menu function and completion word thing 4 Predictive mode should be integrated with the semantic or similar package to make it more useful for programming languages At the moment it works best with plain text and markup languages Chapter 8 Credits 44 8 Credits Much inspiration for the Emacs predictive completion package came from a similar package written for the nedit editor by Christian Merkwirth Most significantly it provided the clue that ternary search trees are the best data structure to
32. 4 3 Auto Completion Mode page 11 It is enabled for you automatically if the predictive auto complete customization option is enabled the default The halfa way to use predictive mode is to set predictive auto correction no completion In that case predictive mode doesn t complete words at all it only auto corrects words you typed For this to be useful you also have to customize a number of options appropriately See Section 4 11 Miscellaneous Options page 16 Even if you are using auto completion mode you can by default continue to type normally Possible completion candidates will be displayed ranked in order of likelihood but will not be accepted unless you do so explicitly using completion accept bound to C RET All the key bindings described here are the defaults and can of course be customized to anything you desire see Section 6 1 1 Keymaps and Key Bindings page 32 However since it learns as you type predictive mode can become very good at predicting the word you want and it can become tedious to have to hit C RET all the time In that case you can customize auto completion syntax alist so that typing a punctuation or white space character automatically accepts the current completion before inserting the character This lets you skip typing the rest of the characters in a word as soon as predictive mode has found the completion you want However the down side is that you have to slightly change the way you type
33. 4 5 Completion Hotkeys page 13 The completion menu also contains a Browser entry which replaces the completion menu with the completion browser This hierarchically lists all possible completions irrespective of the setting of completion max candidates see Section 4 11 Miscellaneous Options page 16 If it s taking too long to construct the browser you can hit C g to cancel it You can also display the browser directly using completion show browser menu not bound to any key by default The completion menu can be displayed automatically when completing optionally after a time delay though because it steals the keyboard focus this is less useful than auto displaying the tooltip or pop up frame See Section 4 10 Auto Show a List of Completions page 15 The following variables affect the behaviour of the completion menu and browser completion menu offset A cons cell containing the number of pixels an integer by which to offset the menu by in the x and y directions car and cdr respectively completion browser max items Maximum number of completions to display in a completion browser menu If there are more completions than this in a menu the menu will be divided into submenus and if necessary the submenus will be further divided into subsub menus and so on ad infinitum Default is to 25 completion browser buckets Chooses the algorithm used to subdivide browser menus into submenus The symbol balance causes the n
34. ATEA automatically created files 39 IATEX major mode support 0 36 IAT RX parsihg ace eret REP REEL 36 learning eniti ek he boi rru EE Etara 25 learning from bizte ss 25 learning from files 25 learning automatic eee 26 30 list of completions automatically showing 15 loading and saving dictionaries 22 M major mode hooka sese e e 00000 35 major modes esnewertx buak etorr 35 major modes HTML eeesse 41 major modes JITEN users 36 major modes Lexlnto 39 TENU EAE 5 menu auto show 0c cece eee eee ees 15 miscellaneous GROS s ra 16 multiple dictionaries esses 24 N navigation commands IATEX sssss 3T navigation commands Texinfo 40 48 O Obtaining 4 coe ere v XS REPERI YS CURE 3 obtaining and installing 3 OVEIVICW Ee e d e ee erbe ene EP 7 P parsing IATEX documents 0000 36 parsing Texinfo documents 40 Patching print e 4 6 5 6 Ra R 0 ie er mede T ens ts 39 Pop up frame iussikeceneniieeextemeR Ee tezen 14 pop up frame auto show a a 15 pop up frames cece eee eh 6 predictive completion introduction i predictive mode Sing eee ee eee 5 predictive dict un load assa 22 prefix words iecem per eer eres 28 30 print c patching ere sire Seed Sees Ge hes ere re 39 Q SET T zn btp e EE MPO PS aged eames 5 R rel
35. Emacs Predictive Completion Manual Version 0 23 Toby Cubitt This manual documents the Emacs Predictive Completion package version 0 23 Copyright c 2005 2009 Toby Cubitt Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License Table of Contents 1 What is predictive completion 1 2 Obtaining and Installing 3 3 Quick Staft IE 5 4 Completing Words T 4 1 Overview arre gre urek gratzen dees ERE E Ria T 4 2 Basic Completion Commanda cece eee eee tenes 9 4 2 1 Inserting Completions u z 9 4 2 2 Deleting Characters esses eee ee 10 4 3 Auto Completion Mode 0 00 c eee eee eens IN 4 4 Dynamic Completion 0 00 cece eee eee ees 12 4 5 Completion HOZ ur ur 13 4 6 Displaying Completions in the Echo AGO 13 4 7 Completion Tooltip a z 13 4 8 Pop Up Frame cece eee hme 14 4 9 Completion Menu and Browacer eee ee eens 15 4 10 Auto Show a List of Completion eee 15 4 11 Miscellaneous Options a z 16 B JDUuGtloODdEIOS ooo enne qute dora Pase a OE rmn 20 5 1 Creating Dictionaries 0 00 cece eee eee 20 5 2 Loading and Savi
36. If you would like auto completion mode to be enabled automatically whenever predictive mode is enabled set the predictive auto complete variable set by default Otherwise you will not only have to enable auto completion mode manually but also manually set the auto completion source to the predictive setting auto completion mode Enable auto completion Mode In this minor mode completions are found automatically as words are typed predictive auto complete When non nil the default enabling and disabling predictive mode will also automatically enable or disable auto completion mode without needing to run the auto completion mode command manually auto completion source If predictive auto complete is not enabled then you must set this variable manually to the predictive setting in order to use predictive auto completion Word constituent characters are added to the current word before finding new comple tions The current syntax table see Section Syntax in GNU Emacs Manual determines which characters are word constituents and which are not although the behaviour of indi vidual characters can be overridden By customizing auto completion syntax alist you can make punctuation and white space characters automatically accept the current completion If you want to exceptionally insert a punctuation character as though it were a word constituent such as the in e g you can often prefix the character key with M The bi
37. NTS You may make a collection consisting of the Document and other documents released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individu ally under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document Appendix D Copying this Manual 55 T AGGREGATION WITH INDEPENDENT WORKS 10 A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the agg
38. a numerous customization options which are described in detail in the rest of this manual As you add characters to a word predictive mode searches in a dictionary for words starting with those characters There are a number of different ways to choose which word if any should be used to complete what you ve typed The most likely completion is provisionally inserted in the buffer after the point and highlighted to indicate that it has not yet been accepted The most likely completion is updated as you add more characters to the word Use C RET to accept a completion See Section 4 4 Dynamic Completion page 12 for details What if you don t want to use the most likely completion As you type a list of the ten most likely completions is displayed in the echo area and after a short delay in a tooltip They are ranked according to likelihood Typing a number 0 9 will insert the corresponding completion See Section 4 5 Completion Hotkeys page 13 Section 4 6 Displaying Completions in the Echo Area page 13 and Section 4 7 Completion Tooltip page 13 for details You can also display the completion tooltip manually using S down When the tooltip is displayed the up and down keys can be used to select a completion from the list in tooltip You can cycle forwards and backwards through the available completions even when the tooltip isn t displayed using M TAB or M and M SHIFT TAB or M As you cycle the next completion is pro
39. all bound to M tab and M If there are a lot of possible completions it can take a while before they re displayed If it s taking too long use C g to cancel To dismiss the pop up frame use completion popup frame dismiss bound to C up and M up The pop up frame can also be displayed automatically when completing optionally after a time delay See Section 4 10 Auto Show a List of Completions page 15 completion popup frame C down Display completion candidates in a pop up frame completion popup frame toggle all M tab M Toggle between displaying the most likely completion candidates and displaying all possible completions completion popup frame dismiss C up M up Dismiss the pop up frame The following variables affect the pop up frame completion popup frame max height An integer specifying the maximum height in rows of pop up frames completion popup frame offset A cons cell containing the number of pixels an integer by which to offset the pop up frame by in the x and y directions car and cdr respectively Chapter 4 Completing Words 15 4 9 Completion Menu and Browser Calling completion show menu when completing bound to M Down will bring up the completion menu from which you can select a completion to insert If completion use hotkeys is enabled the menu will also display the hotkeys next to the completions they select although you will have to exit the menu before you can use them see Section
40. ationship between words 28 30 T6porting bugs ee dae tre Were E ZEKA 43 S S ve On ABA 1 selecting completions rss 5 setup funtion ceca KR 00 e eb essed pace Ed 35 Spelling at eai 1 GRASA 33 35 GA 32 33 T Texinfo dictionaries cece eee eee 40 Texinfo navigation commands 40 texinfo support liccc mee rre res 39 Texinfo automatically created files Al texinfo major mode support 39 Texinfo parsing eee 40 LOOlUIDu sus St Egea garra 5 13 tooltip auto show cece eee eee eee 15 CY PC daBler censeo teret ter OEROIU EQ EE REF eines 1 U using multiple dictionaries 24 31 using predictive mode 5 W What is predictive completion Appendix C Concept Index words SEAN words relationships s s s sssera eresse 49 Appendix D Copying this Manual 50 Appendix D Copying this Manual D 1 GNU Free Documentation License Version 1 2 November 2002 Copyright c 2000 2001 2002 Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed 0 PREAMBLE The purpose of this License is to make a manual textbook or other functional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it wi
41. ced Customisation 32 6 Advanced Customisation This chapter describes the more advanced customisation features provided by predictive mode Many of these are on the borderline between user customisations and features to be used by Lisp packages that enhance predictive completion for specific major modes though describing all the features available to Lisp packages is beyond the scope of this user manual See Section Region Local Dictionaries in Predictive Programmer Manual 6 1 Character Syntax and Key Bindings Predictive mode significantly changes what happens when normal printable characters are typed Different characters cause different behaviour For example letter characters will usually be added to the current word updating the completions whereas punctuation characters end the completion process This chapter describes the mechanisms that determine the behaviour of different char acters and how to customize them 6 1 1 Keymaps and Key Bindings The following keymaps are defined by predictive mode predictive map Main keymap enabled whenever predictive mode is auto completion map Keymap enabled whenever auto completion mode is completion hotkey list List of hotkey characters to use for selecting completions Default is numerical characters 0 to 9 completion overlay map auto completion overlay map Keymaps active when the point is at or within a completion completion dynamic map Keymap used when completion use
42. completion use hotkeys to pop up The completion tooltip is more than just a visual reminder of which completions are available When it is displayed you can select a completion from the list using the up and down arrow keys When completing a word you can display the tooltip at any time using completion show tooltip bound to S down See Section 4 7 Completion Tooltip page 13 A slightly more powerful alternative to the completion tooltip is a pop up frame dis played using completion popup frame bound to C down see Section 4 8 Pop Up Frame page 14 This lists the completion candidates in a separate Emacs frame positioned below the point and you can use the usual Emacs motion keys to move through the list and select candidate However you can also toggle between displaying just the most likely completion candidates and displaying all possible completions using completion popup frame toggle all bound to M Tab and M You can still type and delete characters when the pop up frame is displayed it will be updated to reflect the new set of completion candidates To get rid of a pop up frame use completion popup frame dismiss bound to C up and M up Note that the pop up frame key bindings are only active when the pop up frame has the focus If you manually switch the focus back to the original frame you can still type normally and the pop up frame will be updated appropriately but the completion popup frame toggle all and completio
43. ctionaries automatically as needed dictree load Load a dictionary from file The name of the loaded dictionary is the same as the file name with the extension removed This will not add it to the list of dictionaries used by the current buffer see predictive load dict above predictive unload dict Remove a dictionary from the list of dictionaries used by the current buffer If the dictionary is no longer used by any other buffer this also unloads it from Emacs In that case if its autosave flag is set the dictionary will be saved before being unloaded see Section 5 1 Creating Dictionaries page 20 unless this is overridden by supplying a prefix argument You should never normally need to use this command interactively since pre dictive mode loads and unloads dictionaries automatically as needed dictree unload You probably don t want to do this Unloading a dictionary that s still in use will cripple predictive mode resulting in it spewing out incomprehensible Lisp errors This command unconditionally unloads a dictionary If the dictionary s autosave flag is set this will also save it see Section 5 1 Creating Dictionaries page 20 unless overridden by supplying a prefix argument predictive save dict Save a dictionary to its associated file Prompt for a file name if there is none associated with the dictionary predictive write dict Write a dictionary to a file specified via the mini buffer This also associates t
44. d weights it contains accu rately reflect average English usage But you are very unlikely to write average English whatever that is To get the most out of predictive completion it is better to train your dictionary on your own writing style rather than someone else s There are two approaches to this The first is to create a copy of the supplied English dictionary containing the all same words but with all their weights reset to zero You can then either use the auto learn feature to slowly train the dictionary as you write see Section 5 5 2 Automatic Learning page 26 or better still kick start things by training it on text you have already written by learning from existing files see Section 5 5 1 Learning from Buffers and Files page 25 You can of course still leave auto learn enabled in order to refine the dictionary or even use the auto add feature to automatically add missing words as you type them see below A variant of this approach if you don t like the supplied English dictionary is to create the initial dictionary from some other list of words e g the usr dict words file on Unix systems You will first need to massage the list into the format required by predictive create dict see Section 5 1 Creating Dictionaries page 20 which is the same as the format produced by the dump commands see Section 5 2 Loading and Saving Dictionaries page 22 but this should be easy for even a moderately savvy Emac
45. de to tweak the dictionary training and behaviour to suit your every desire Using buffer local dictionaries can help predictive mode adapt faster to the specific vocabulary you are using in an individual document especially if you set a large predictive buffer local learn multiplier see Section 5 5 2 Automatic Learning page 26 Defining sensible prefix relationships between words makes sure predictive completion doesn t get in your way when you re typing fast see Section 5 5 3 Relationships Between Words page 28 The predictive auto define prefixes option and the predictive define all prefixes command make defining prefix relationships very easy Finally having gone to all this effort to create the perfect dictionary it would be tragic to lose it all Make sure you occasionally backup your dictionaries by dumping them to a plain text file using predictive dump dict to file see Section 5 2 Loading and Saving Dictionaries page 22 This is vital before upgrading to a new version of the Predictive package since there s no guarantee that old dictionaries will be readable in the new version whereas the dumped plain text format is usually stable across Predictive package versions even if exceptionally it changes since it s a plain text format it will at the very least always be readable in Emacs and can be manipulated into the format required for recreating your dictionary in the new Predictive package version Chapter 6 Advan
46. dynamic is enabled completion tooltip map Keymap used when completion use tooltip is enabled completion tooltip active map Keymap active when the completion tooltip is displayed completion menu map Keymap used when completion use menu is enabled completion popup frame map Keymap used when completion use popup frame is enabled completion popup frame mode map Keymap active in the completion pop up frame The various keymaps define key bindings for different situations that arise in predictive mode The main predictive map keymap is enabled whenever predictive mode is enabled Chapter 6 Advanced Customisation 33 and auto completion map is enabled whenever auto completion mode is Note if you find yourself thinking of re binding printable characters in auto completion map to some thing other than completion self insert don t at least not until you ve read on a bit What you probably want to change are the auto completion syntax alist and auto completion override syntax alist variables See Section 6 1 2 Syntax page 33 completion overlay map and auto completion overlay map are active when the point is located at a completion The former is used when auto completion mode is disabled the latter when it is enabled They are used to provide key bindings for most of the completion features The key bindings in the keymaps enabled by the completion use customization vari ables are effectively added to completion overlay map
47. e results are cached so that they can be retrieved faster next time Thus lower values result in faster completion at the expense of dictionaries taking up more memory Due to the efficient data structures used by the dictionaries it is typically safe to set this quite low the default is 0 1 seconds Most completions will be found faster than this even on slow computers and only a few of the very slowest will need to be cached predictive dict autosave Sets the default autosave property for dictionaries created with predictive create dict If non nil modified dictionaries will automatically be saved when they are unloaded either with the predictive dict unload command or Chapter 5 Dictionaries 22 when exiting emacs If nil any unsaved modifications will be lost unless the dictionary is saved manually See Section 5 2 Loading and Saving Dictionaries page 22 5 2 Loading and Saving Dictionaries predictive load dict Load a dictionary by name and add it to the list of dictionaries used by the current buffer The dictionary will be included when learning from the buffer see Section 5 5 1 Learning from Buffers and Files page 25 and if its autosave flag is set see Section 5 1 Creating Dictionaries page 20 it will automatically be saved when the buffer is killed The dictionary file must be in your load path You should never normally need to use this command interactively since pre dictive mode loads and unloads di
48. e enabled in its buffer and all buffers with the same TeX master will share various predictive mode settings The behaviour of different character syntax classes and the behaviour of certain indi vidual characters is set up appropriately for IXTEX see Section 6 1 Character Syntax and Key Bindings page 32 Also a special TZA completion browser menu more appropriate for browsing ATEX commands is used instead of the default one 6 2 1 2 BTEX Navigation Commands predictive latex jump to definition Jump to the definition of whatever is at the point If point in already on a definition jump to the next duplicate definition of the same thing This works for cross references labels and any commands or environments that are defined in your documents preamble predictive latex jump to label definition Jump to the definition of a label in the current IATEX document The label is read from the mini buffer If the point is already on the label definition jump to the next duplicate definition of the label predictive latex jump to command definition Jump to the definition of a IATEX command in the current document The command is read from the mini buffer If the point is already on the command definition jump to the next duplicate definition of the command predictive latex jump to environment definition Jump to the definition of a IXTEX environment in the current document The environment is read from the mini buffer If the point is already on
49. e following variables affect the overall behaviour of predictive mode completion accept or reject by default Determines the default action for the current completion The options are accept and reject which accept or reject the completion and accept common which accepts the longest common substring of the completion but deletes the rest completion how to resolve old completions Determines what to do with old abandoned completions elsewhere in the buffer The options are accept and reject which accept or reject old completions leave which just leaves any old completions in place to return to later if you so desire and ask which asks you whether you want to accept or reject each completion completion hot to resolve old completions controls what happens when you move the point away from a provisional dynamic completion see Section 4 4 Dynamic Comple tion page 12 and start typing elsewhere in the buffer When auto completion mode is disabled completion accept or reject by default determines how the current com pletion behaves If it is set to reject the completion user interfaces serve only as a visual indicators a completion will not become part of the buffer unless you explicitly accept it If completion accept or reject by default is set to anything else completions really are part of the buffer and you must explicitly reject them to get rid of any inserted characters When auto completion mode is enabled completion accept
50. e node predictive texinfo jump to command definition Jump to the definition of a Texinfo command in the current document The command is read from the mini buffer If the point is already on the command definition jump to the next duplicate definition of the command predictive texinfo jump to flag definition Jump to the definition of a Texinfo flag in the current document The flag name is read from the mini buffer If the point is already on the flag definition jump to the next duplicate definition of the flag 6 2 2 3 Automatically Created Files The predictive completion Texinfo support automatically creates and updates dictionaries of node names dictionaries of locally defined Texinfo commands defined using macro rmacro or alias and a dictionary of flags defined using set for each buffer All these dictionaries are saved to the directory specified by predictive auxiliary file location see Section 4 11 Miscellaneous Options page 16 so by default they will be saved to a predictive subdirectory of the directory containing the Texinfo file They are given a filename of the form dict texinfo type filename elc where type is the type of dictionary node local texinfo or flag and filename is the name of the Texinfo file To speed up loading of predictive mode s Texinfo support a file containing information about the location of different regions within the document
51. e one word to be a prefix of another Predictive mode will ensure that the weight of the prefix word is always at least as large as that of the other Note that the word does not actually have to be a prefix of the other this can be used to define a relationship between any two words so that the weight of one is always larger than the other predictive undefine prefix Remove a prefix definition As for predictive define prefix the word does not actually have to be a prefix of the other predictive define all prefixes Add the given prefix to the prefix definitions of all words that for which it is prefix or define all possible prefix relationships in the dictionary if no explicit prefix is supplied In the latter case a numerical prefix argument sets a minimum word length for which to define a prefix relationship relationships are only defined for words that are at least this long the prefixes defined for those words can still be any length predictive undefine all prefixes The analogue of predictive define all prefixes Remove the given prefix from the prefix definitions of all words or remove all prefix definitions in the dictionary if no explicit prefix is supplied In the latter case a numerical prefix argument sets a minimum word length for which to undefine prefix relationships the length of the prefizes that are undefined is still not restricted in any way The following variable is used to help guess a likely
52. e they are saved in both forms the default A compiled dictionary can be loaded a lot faster and is always used in preference to the uncompiled form if it exists However compiled dictionaries are not portable between different Emacs versions whereas uncompiled ones are predictive dict lock loaded list List of dictionaries that should never be automatically unloaded in addition to predictive main dict see Section 5 3 Basic Dictionary Usage page 24 To use a dictionary it must be loaded into memory Usually predictive mode loads the dictionaries it needs automatically and unloads them again when they are no longer needed Once it has been loaded the predictive main dict is never automatically unloaded It can take a while to load large dictionaries and predictive main dict is likely to be used by most predictive mode buffers If you would like to prevent any other dictionaries from being unloaded automatically add them to predictive dict lock loaded You can also load and unload dictionaries manually If a dictionary is saved somewhere in your load path you can load it using the predictive load dict and dictree load com mands The predictive load dict command additionally adds it to the list of dictionaries used by the current buffer This has two implications the dictionary will automatically be saved when the buffer is killed assuming its autosave flag is non nil see Section 5 1 Creating Dictionaries page 20 and it will be
53. ed learnt from a buffer or file or added manually it is added to the buffer local dictionary and its weight there is incremented by a value predictive buffer local learn multiplier times higher than for normal dictionaries Thus the buffer local dictionary will help predictive mode adapt much faster to the vocabulary used in a specific buffer than global dictionaries alone can If predictive dict autosave is enabled and the buffer is associated with a file the buffer local dictionary will automatically be saved to the directory containing the file When you load the file in the future predictive mode will look for the buffer local dictionary in the same directory there is no need to add the directory to your load path If the buffer is not associated with a file the buffer local dictionary will be discarded when you end the Emacs session predictive buffer local learn multiplier Sets the learning speed for buffer local dictionaries Whenever a word is added to a buffer local dictionary the weight increment is multiplied by this value before being added to any existing word weight The default is 50 predictive use auto learn cache If non nil the default auto learnt and auto added words are cached and only actually added to the dictionary when Emacs has been idle for predictive flush auto learn delay seconds or the buffer is killed it has no effect unless at least one of predictive auto learn or predictive auto add to dict is also
54. espects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the general network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin distribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to provide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document
55. estricted to using one dictionary at a time it can use many dictionaries in parallel and can automatically switch dictionaries in different regions of text the regions being defined by regular expressions And predictive mode attempts to do all of that faster than you type so that your typing is not slowed down even when using very large dictionaries As soon as Emacs becomes sentient surely not far off it will probably go on strike through being forced to work too fast 5 1 Creating Dictionaries Predictive mode dictionaries store words along with their associated weights used to rank the words in order of likelihood The weight is just an integer value which can be thought of as the relative frequency of a word relative to the other words in the dictionary A dictionary can also store prefix relationships between words See Section 5 5 3 Relationships Between Words page 28 The following commands are used to manually create and modify dictionaries predictive create dict Create a new dictionary The dictionary name is read from the mini buffer You can optionally supply a filename to associate with the dictionary The dictionary will be saved to this file by default just as a buffer is saved to its associated file You may also supply a file containing a list of words with which to populate the new dictionary The predictive completion speed and predictive dict autosave variables set the new dictionary s completion speed
56. g candidates 13 completion displaying list of 13 completion dynamic 12 completion echo area 13 completion hotkeys 0 eee e eee ee eee 5 completion miscellaneous options 16 completion GUSTI urra d completion ARNA 1 4T completions inserting 0 ee eee eee 9 completions selecting 5 configuration file 0 33 35 creating dictionaries assez 20 nien CC 44 customisation advanced 32 D deleting characters 0 esses 10 dictionarlessisc etniaren Egea CORPER EE 20 dictionaries automatic learn 26 dictionaries automatic learning 30 dictionaries automatic loading for IATEX packages gek EAOa Fer oun RUE d 38 dictionaries backup 0 00 ee eee eee 31 dictionaries basic usage assez 24 dictionaries buter local u z 27 31 dictionaries creating aurrrera 20 dictionaries discussion 0 2 eee eee 30 dictionaries dumping ssesesrrrrrrrreru 31 dictionaries getting the most out of 30 dictionaries INTEX 0 cece cece ee 36 dictionaries learning 2005 25 dictionaries learning from buffers 25 dictionaries learning from files 25 dictionaries podia 22 dictionaries main eee ee eee eee 28 dictionaries overlays sse esses 24 dictionaries region of teiz 24 dictionaries region local
57. g section to be Entitled Endorsements or to conflict in title with any Invariant Section Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document you may at your option designate some or all of these sections as invariant To do this add their Appendix D Copying this Manual 54 titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section Entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s
58. have received copies or rights from you under this License will not have their licenses terminated so long as such parties remain in full compliance FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documentation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation Appendix D Copying this Manual 56 D 1 1 ADDENDUM How to use this License for your documents To use this License in a document you have written include a copy of the License in the document and put the following copyright and license notices just after the title page Copyright C year your name Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later version
59. he appropriate dictionary in different regions of a Texinfo document Four Texinfo dictionaries are provided dict texinfo containing the main Texinfo Q commands dict texinfo env containing the environment names things that are ended by end dict texinfo indicating containing just the Texinfo indicating commands see Section Indicating in GNU Texinfo Manual and dict texinfo math containing Texinfo commands that are specific to math mode is the only one In addition dict latex math is used in math mode see see Section 6 2 1 LaTeX Support page 36 Finally a dictionary of node names a dictionary of locally defined Texinfo commands add a dictionary of Texinfo flags unique to each Texinfo file are generated automatically see Section 6 2 2 3 Automatically Created Files for Texinfo page 41 Predictive mode will automatically complete words from the correct dictionary in dif ferent regions of your Texinfo document In the main body of the document it will complete from the main dictionary as usual and also from the dictionaries of Texinfo commands After end it will offer environment names as completions whereas af ter table vtable and ftable it will offer Texinfo indicating commands In side Qxref Qpxref and ref it will use the dictionary of node names which is created and updated automatically for each Texinfo document Ins
60. he dictionary with that file If a prefix argument is supplied you will not be asked to confirm if over writing an existing file predictive save modified dicts Save all modified dictionaries that have a non nil autosave flag If a prefix argument is supplied prompt for confirmation before saving each dictionary Chapter 5 Dictionaries 23 predictive dump dict to buffer Dump all words weights and prefix relationships in the dictionary to a buffer in the same format as that used to populate dictionaries see Section 5 1 Creating Dictionaries page 20 predictive dump dict to file Dump words weights and prefix relationships to a text file rather than a buffer If a prefix argument is supplied you will not be asked to confirm if over writing an existing file predictive dict autosave Sets the default autosave property for dictionaries created with predictive create dict If non nil modified dictionaries will automatically be saved when they are unloaded either with the predictive dict unload command or when exiting emacs If nil any unsaved modifications will be lost unless the dictionary is saved manually See Section 5 2 Loading and Saving Dictionaries page 22 predictive dict compilation Determines whether dictionaries are saved in compiled or uncompiled form or both If set to the symbol compiled dictionaries are saved in compiled form if set to uncompiled they are saved in uncompiled form and if set to anything els
61. hen all accented and unaccented versions of e will be treated as equivalent and similarly for a So typing et would offer tre and tait as completions as well as et In this way predictive mode can automatically correct accents and other diacritics as you type words As with any auto correction or spell checker be careful when using this if there are two words that are identical up to diacritics such as a and a then predictive mode can t telepathically know which one you want and will insert whichever is the most likely Pre defined predictive equivalent characters and predictive prefix expansions settings for some languages can be selected when customizing these variables predictive ignore initial caps Controls whether predictive mode should ignore initial capital letters when searching for completions If non nil the default completions for the uncapi talised string are also found When predictive ignore initial caps is set only the first capital letter of a string is ignored Thus typing A would find and which would complete to And Alaska and ANSI but typing AN would only find ANSI whilst typing a would only find and predictive auxiliary file location Controls where any auxiliary files generated by predictive mode should be saved It can either be a relative path or an absolute path but the former is strongly 2 Telepathy support i
62. ict see Section 5 3 Basic Dictionary Usage page 24 However by customizing predictive latex docclass alist the main dictionary can be selected automatically based on the document class In addition to the main dictionary a number of IATEX dictionaries are also used grouped into four main categories text mode IATEX commands maths mode ATFX commands preamble ATEX commands and ATEX environments The dictionaries in the different cat egories are used to look for completions in different contexts in the ATEX document The main IATEX dictionaries in these categories are respectively dict latex dict latex math dict latex preamble and dict latex env In addition there are dictionaries for ATEX document classes dict latex docclass bibliography styles dict latex bibstyle Finally a dictionary of cross reference labels and dictionaries of locally defined IXTEX commands and environments unique to each IATEX file are generated automatically see Section 6 2 1 5 Automatically Created Files for I3TEX page 39 Predictive mode will automatically complete words from the correct dictionary in differ ent regions of your IATEX document In the main body of the document it will complete from the main dictionary as usual and also from the dictionaries of text mode IXTEX com mands Inside equation or other display mode environments between s or between NU and it will use the dictionaries of maths commands Inside
63. ictionaries and configuration func tions when a usepackage command is typed and unloading them again if it is modified or deleted When a usepackage package command is typed predictive LXTEX mode looks for four dictionaries based on the package name dict latex package dict latex math package dict latex preamblepackage and dict latex env package These correspond to the four categories of ATEX dictionary see Section 6 2 1 LaTeX Support page 36 If any of these dictionaries are found they are added to the list of dictionaries for the corresponding category and will be active in the appropriate regions of the document If the text of the usepackage package command is modified or deleted the dictionaries are removed again In addition when a usepackage command is typed modified or deleted predictive ISA mode will try to load an Elisp file called predictive latex package el c and run package specific load or unload functions as appropriate T he variable predictive latex usepackage functions is used to determine which function if any to call when loading or unloading a IXTEX package see below This allows arbitrary configuration changes to be made when packages are included in or removed from the document A common use of this is to add or remove auto overlay regexps see Section LaTeX Automatic Overlays in Predictive Programmer Manual predictive latex usepackage functions Alist associat
64. ide clear ifset and ifcler it will use the automatically generated dictionary of flag names Inside math it will offer standard TEX maths commands as completions The behaviour of different character syntax classes and the behaviour of certain indi vidual characters is set up appropriately for Texinfo see Section 6 1 Character Syntax and Key Bindings page 32 Also a special Texinfo completion browser menu more appropriate for browsing Texinfo commands is used instead of the default one 6 2 2 2 Texinfo Navigation Commands predictive texinfo jump to definition Jump to the definition of whatever is at the point If point in already on a definition jump to the next duplicate definition of the same thing This works for cross references node names flags and any commands that are defined in your documents preamble 6 Tt ought to be dict tex math but that will have to await TEX support See Section 7 1 Known Bugs page 43 T The automatic dictionary switching is implemented using the auto overlays Elisp package 8 Currently it actually offers IXTEX maths commands see Section 7 1 Known Bugs page 43 Chapter 6 Advanced Customisation 41 predictive texinfo jump to node definition Jump to the definition of a node in the current Texinfo document The node is read from the mini buffer If the point is already on the node definition jump to the next duplicate definition of th
65. ify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathematics a Secondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them Appendix D Copying this Manual 51 The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant The Document may contain zero Invariant Sections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in
66. iled forms If you are upgrading to a different version of Emacs but continuing to use the same recent version of the predictive completion package then it is sufficient to delete the compiled dictionary files extension elc but make sure you do not delete the uncompiled files with extension e1 and let predictive mode recompile them automatically when the dictionaries are saved However backing up your dictionaries by dumping them to plain text files as described above is still a very good idea just to be on the safe side To install the package extract the files using tar xvzf predictive tar gz This will unpack the files in a new directory called predictive Now byte compile all the Lisp files and create the required dictionaries by running make in the predictive di rectory If necessary you can specify explicitly where your Emacs resides with make EMACS path to emacs Then run make install to copy the package files to emacs d predictive the emacs d directory will be created if it doesn t already exist If you want to install the files elsewhere you can change the default install location using make install DESTDIR path to install and the package files will be copied to the path to install directory Chapter 2 Obtaining and Installing 4 The dictionaries are intended to be user specific and must be writable by your user If you re performing a site wide installation of the
67. included when learning from the buffer see Section 5 5 1 Learning from Buffers and Files page 25 You should avoid loading a dic tionary using the load file command as it will not necessarily ensure that the dictionary is correctly associated with the file it was loaded from If you want a dictionary to be loaded every time you run Emacs and the dictionary is saved somewhere in your load path you can add the following line to your emacs file dictree load dictionary name Chapter 5 Dictionaries 24 The major mode setup functions load the dictionaries they need automatically See Section 6 2 Major Modes page 35 A buffer is usually associated with a file and saving the buffer with the Emacs save buffer command writes any changes back to that file Similarly dictionaries are usually associated with a dictionary file The predictive save dict command saves any changes back to that file The predictive write dict command is analogous to the Emacs write file command You should never rename a dictionary file Moving a dictionary file to another directory in your load path is fine but you cannot rename the file itself The correct way to rename a dictionary is to supply a new file name to predictive write dict Dictionaries can be modified by adding words to them with the predictive add to dict command see Section 5 1 Creating Dictionaries page 20 If the auto learn features are used dictionaries are modified
68. ing TFX package names strings with a list containing two func tions a function to be called when loading the package with that name i e when usepackage package is typed and a function to be called when unloading the package i e when the usepackage package is modified or deleted Entries should be added to this variable by the corresponding Elisp file predictive latex package el c The only way to add new help text definitions is to dump the relevant IATEX dictionary to file see Section 5 2 Loading and Saving Dictionaries page 22 edit it manually and recreate the dictionary see Section 5 1 Creating Dictionaries page 20 Chapter 6 Advanced Customisation 39 The predictive completion package already comes with support for some IATEX packages though by no means all or even the most important 6 2 1 5 Automatically Created Files The predictive completion IXTEX support automatically creates and updates dictionaries of cross reference labels dictionaries of locally defined text mode and math mode IATEX com mands defined using newcommand a dictionary of locally defined environments defined using newenvironment and newtheorem for each DIZ buffer and a dictionary of IXTEX section titles All these dictionaries are saved to the directory specified by predictive auxiliary file location see Section 4 11 Miscellaneous Options page 16 so by default they will be saved to a
69. ion browser max items 15 completion dynamic common substring face p 12 completion dynamic highlight common EDS EE Ezean Gr EE etea RR IUe 12 completion dynamic highlight prefix alter tions ciel sek a RR eee eae 12 completion dynamic map 005 32 completion dynamic prefix alterations face eguer aterat Rute glia Rd R al dta EE S cus eae 12 completion highlight face 17 completion hotkey list 13 32 completion how to resolve old completions EEE 16 completion max candidates 13 17 completion menu map sese 32 completion menu offset 0000 15 completion overlay map auto completion overlay map 32 completion overwrite sese 16 completion popup frame map 32 completion popup frame max height 14 completion popup frame mode map 32 completion popup frame offset 14 completion tooltip active map 32 completion tooltip face suus 14 46 GUO Saga MEN ga EN 32 completion tooltip offset 14 completion tooltip timeout 14 completion use dynamic sss 12 completion use help echo 13 completion use hotkeys sss 13 P predictive add to dict ask 27 predictive auto add filter
70. is saved to auto overlays filename also located in predictive auxiliary file location It is safe to delete any of these files or even the entire predictive auxiliary file location directory as long as the corresponding Texinfo file is not loaded in Emacs at the time They will be recreated automatically next time the file is loaded However if you delete the dictionary files you will lose all learned word weights see Section 5 5 Dictionary Learning page 25 6 2 3 HTML Support HTML is a simpler markup language than IATEX or Texinfo and the predictive mode support for it is correspondingly simpler It includes a dictionary of HTML tags dict html and dictionaries of valid attributes for different tags dict html tag Completion is context sensitive typing a lt character will start completing an HTML tag whereas within a tag predictive mode will complete from the appropriate tag attribute dictionaries With the default settings HTML support is enabled automatically when predictive completion mode is turned on in an HTML buffer via an entry in predictive major mode alist see Section 6 2 Major Modes page 35 To speed up loading of predictive modes HTML support a file containing information about the location of different regions within the document is saved to auto overlays filename located in predictive auxiliary file location see Chapter 6 Advanced Customisation 42 D Section 4 11 Miscellaneous Opti
71. ive load dict sssuuus 22 predictive mode 000 5 0500 predictive remove from dict 21 predictive reset weight esses 21 predictive save dict EO 22 predictive save modified dicts 22 EA ENa Bag AA 32 predictive set main dict 24 predictive texinfo jump to command definytion clliessser rer nens EE bt EEEn A1 predictive texinfo jump to definition 40 predictive texinfo jump to flag definition err SE EE e ubica de NEEDED E giar Al predictive texinfo jump to node definition due pla sheds Senge ieu E ier REA RTE tete pats 41 predictive undefine all prefixes 29 predictive undefine prefix 29 predict 1ive unload d1ct 22 predictive which dict mode 24 predictive write dict ssssssn 22 T turn on predictive mode 7 35 Appendix B Variable Index Appendix B Variable Index A auto completion backward delete delay 12 auto completion delay sss 12 auto completion map sss 32 auto completion min chars IN auto completion override syntax alist 33 auto completion source ssssssss 11 auto completion syntax alist 11 33 C completion accept or reject by default 16 GOO GN sese 16 completion auto show delay 16 completion browser buckets 15 complet
72. l a good idea to occasionally check which words are in the dictionary by dumping it to a buffer and scanning through it by hand or with ispell see Section 5 2 Loading and Saving Dictionaries page 22 So which approach is better Each has advantages and disadvantages and it comes down to personal preference Training a reset copy of the supplied English dictionary or one built from another word list ensures that all the words in the dictionary are spelled correctly assuming the words in the list were correct in the first place It also means that predictive mode will provide spelling assistance even when you type an obscure word that you ve never used before On the other hand the dictionary will contain many words that you will never use and may lack words that you do use which will have to be added by hand unless you enable auto add If you write different types of text e g your novel academic papers and emails the vocabulary you use will differ significantly between the different types of text You will get more out of predictive completion by creating separate dictionaries for each You can then set up predictive mode to select the appropriate dictionary automatically either based on the major mode see Section 6 2 Major Modes page 35 or in the case of ATEX documents based on the document class see Section 6 2 1 LaTeX Support page 36 Once you ve created your dictionaries you can use the many features of predictive mo
73. lue rather than 0 dictree size Display the number of words in a dictionary The file containing the list of words used to populate a dictionary has to conform to a specific format word weight prefix list Each line contains one word word delimited by followed by an integer weight which specifies the word s weight separated by white space from the word itself Note that the words in a dictionary do not have to be words in the usual sense They can be arbitrary sequences of characters including white space and punctuation characters The quote character can be included in a word by escaping it Optionally a list of words which are prefixes of word can be specified in prefix list at the end of the line again separated from the weight by white space see Section 5 5 3 Relationships Between Words page 28 If present it should be of the form prefixes prefix1 prefix2 Note that trailing whitespace on any line is not allowed The following variables set defaults for other dictionary properties To change their values for a single dictionary set the variable to the desired value before creating the dictionary resetting the value afterwards predictive completion speed Sets the default completion speed of dictionaries created with predictive create dict This is the desired upper limit on the time it takes to find completions If it takes longer than this to find a particular completion th
74. n popup frame dismiss bindings will not work The completion menu is the most flexible way of selecting completions and can be dis played using completion show menu bound to M down Again it displays the completion candidates and lets you select them and like the pop up frame it also allows you to see all possible completions rather than just displaying the most likely ones by selecting the Chapter 4 Completing Words 9 Browser item from the menu The completion browser doesn t just display all possible completions in a big list Instead it organises them hierarchically making it easier to browse through them until you find the one you want The completion tooltip pop up frame and menu all display a list of completion can didates but each has its own advantages and disadvantages The tooltip is visually and functionally least intrusive but also gives you fewer ways to find the completion you want The pop up frame is encumbered by your window manager s frame decoration and position ing policy though some window managers allow you to disable this for specific windows called frames in Emacs But it can display large numbers of completion candidates far more effectively than a tooltip The completion menu and completion browser make finding the desired completion much easier especially when you re not sure precisely what it is you re looking for But menus steal the keyboard focus in Emacs so you can no longer type in
75. n the characters typed so far As you add characters it can look up words starting with those characters in a dictionary and offer to insert the most likely ones How you choose which completion if any to insert depends on various customization settings some more intrusive than others Note that by only taking into account characters belonging to the current word when predicting how to complete it much of the redundancy in language remains unexploited This limitation is partly for simplicity but also because some of the benefits of predictive completion would be lost if context i e the preceding words and sentences was also taken into account What benefits does predictive completion bring 1 Saving on typing obviously you don t have to type the whole word 2 Automatic spelling assistance when you type the first few characters of a word only correct spellings of the whole word are offered This is not only useful for human languages The predictive completion mode can be set up to complete on variable and function names in a program helping avoid bugs due to misspelled names 3 Faster typing possibly not quite the same as point 1 As you get used to predictive completion your fingers will start to learn the key sequences required for frequently used words And these key sequences will usually be much shorter than typing the full word This is one reason for not taking context into account If we did the same word might req
76. ndings M and M are already set up by default but you can easily add more using the completion define word constituent binding convenience function in your emacs file See Section 6 1 Character Syntax and Key Bindings page 32 for more details about the syntax and key binding features The following variables affect the behaviour of auto completion mode auto completion syntax alist Whether auto completion mode allows you to type normally ignoring the provisional completions until you want to use one select type normally in the customization buffer or whether punctuation characters automatically ac cept the current provisional completion before the character is inserted se lect punctuation accepts in the customization buffer For full details see Section 6 1 Character Syntax and Key Bindings page 32 auto completion min chars Minimum number of characters that must be typed before the various com pletion mechanisms are activated when using auto completion mode Note that you can still explicitly invoke completion on a shorter prefix using the Chapter 4 Completing Words 12 complete predictive command see Section 4 2 1 Inserting Completions page 9 auto completion delay Number of seconds Emacs must be idle before the various completion mecha nisms are activated when using auto completion mode see Section 4 3 Auto Completion Mode page 11 auto completion backward delete delay Number of sec
77. ng Dictionaries 0 00 e eee eee eee 22 5 3 Basic Dictionary USOS u u 24 5 4 Region Local Dictionaries usura 24 5 5 Dictionary LOGOS 25 5 5 1 Learning from Buffers and bilbea 25 5 5 2 Automatic LOTUS uses 26 5 5 3 Relationships Between Worda cece eee eens 28 5 6 Getting the Most out of Dictionaries assa 30 6 Advanced Customisation 32 6 1 Character Syntax and Key Binding usa 32 6 1 1 Keymaps and Key Bindina 32 OE2 Syntax sess wry dint da dha E eU keia epee es 33 6 2 Major MOS lt s ga ag RA R da eregu pn pren ben 35 RR KR GANE SA 36 6 2 1 1 Parsing ATX Documents 0 eee eee 36 6 2 1 2 IXTEX Navigation Commands 000 37 6 2 1 3 Help with ATEX Command Syntax s ra 6 2 1 4 IATEX Packages eseeee ee neces 38 6 2 1 5 Automatically Created bileg 39 6 2 2 Texinfo BOO aratz eren tee ses gutara er ere 39 6 2 2 1 Parsing Texinfo Documenta eee 40 6 2 2 2 Texinfo Navigation Commands s z 40 6 2 2 3 Automatically Created bileg 41 6 2 3 HTML Support sssseeeeene Ime 41 7 Bugs and Future Improvements 43 Gl Known Bugs e perge ge EEE EEE Zk ier ert TRE an 43 7 2 Future Improvements 0 cece eee eh 43 BA oo TEE 44 Appendix A Command Index 45 Appendix B Variable Index 46 Appendix C Concept Index AT Appendix D Copying this Manual
78. ns must produce a valid regexp which is used to match pre fixes that are considered equivalent to the one actually typed Only a subset of the full Emacs regular expression syntax is supported There is no support for regexp constructs that are only meaningful for strings character ranges and character classes inside charac ter alternatives and syntax related backslash constructs Back references and non greedy postfix operators are not supported so after a postfix operator loses its special meaning Also matches are always anchored so and rr lose their special meanings use at the beginning and end of the regexp to get an unanchored match predictive equivalent characters works by substituting a character alternative list ing all the equivalent characters whenever those characters appear in the prefix It merely provides a more convenient way of defining these commonly used expansions and is ex actly the same as adding those expansions on to the very end of predictive prefix expansions Any expansions defined in predictive prefix expansions therefore take precedence over character equivalences defined in predictive equivalent characters The main use of predictive equivalent characters is to make certain characters e g the same character with and without diacritics equivalent as far as completion is concerned For example if predictive equivalent characters was set to e E E a AR t
79. om file Like predictive learn from buffer but learns from a file instead of a buffer predictive fast learn or add from buffer Similar to predictive learn from buffer It runs faster for large dictionar ies at the expense of missing some words Specifically only words consisting entirely of word or symbol constituent characters according to the buffer s syn tax table will be taken into account Also unlike predictive learn from buffer this command takes into account the setting of the predictive auto add to dict option If an explicit dictionary is specified words that are not already in the dictionary will be added to it if predictive auto add to dict has any non nil value If no explicit dictionary is specified predictive auto add to dict has the usual effect as do the other auto add related options see Section 5 5 2 Automatic Learning page 26 predictive fast learn or add from file Like predictive fast learn or add from buffer but learns from a file in stead of a buffer 5 5 2 Automatic Learning Predictive mode can automatically learn which words you use most often as you type in order to make better predictions This feature is especially useful when you first start using a dictionary to adapt it to your writing style Once a dictionary has been trained and is making good predictions it can be turned off to fix the order in which completions are offered see Chapter 1 What is predictive completion page 1 though
80. ompletion popup frame toggle all 14 SRU AAS ALEAN 9 completion select colc zere ep ege eren 5 completion self insert sss 34 completion show menu eese ess 5 completion show tooltip 5 13 completion tab complete 5 10 completion tooltip cycle 13 completion tooltip cycle backwards 13 D Ea gaa E 22 dictree sizG lleven Cab eS cee Erda 21 dictree unlosad ii ie db pe nbn 22 P predictive add to dict cc eee 20 45 predictive create dict cc cee eee 20 predictive create meta dict 20 predictive define all prefixes 29 predictive define prefix 29 predictive dump dict to buffer 23 predictive dump dict to file 23 predictive fast learn or add from buffer rms 26 predictive fast learn or add from file 26 predictive latex jump to command definition E 37 predictive latex jump to definition 37 predictive latex jump to end delimiter 38 predictive latex jump to environment definite feist oie tei Rr Rede 37 predictive latex jump to label definition EE 37 predictive latex jump to matching delimiter kuba ge R E a RET eee 37 predictive latex jump to section 3T predictive latex jump to start delimiter RA E E 38 predictive learn from buffer 26 predictive learn from file 26 predict
81. ompletions of the words If you enable predictive auto correction no completion you will almost certainly want to enable auto completion mode see Section 4 3 Auto Completion Mode page 11 change the default auto completion syntax alist Acceptance behaviour to punctuation accepts see Section 6 1 2 Syntax page 33 and set completion accept or reject by default to accept see above predictive equivalent characters A list of characters to be treated as equivalent Each element of the list should be a string and all characters appearing in the same string will be treated as equivalent when completing words Predictive mode will then not only find completions for the prefix you typed but also for all equivalent prefixes Note that case is significant predictive prefix expansions An alist of expansions to apply to a prefix before completing it The alist should associate regexps with their replacements The result of expanding a prefix should be a valid regexp but see below which is used to match prefixes that Chapter 4 Completing Words 18 should be considered equivalent for completion The expansions are applied in order to the completion prefix Characters matching a regexp are only expanded once i e later expansions are not applied to the replacement text of previous expansions Case is always significant The result of expanding a prefix according to predictive equivalent characters and predictive prefix expansio
82. onds Emacs must be idle after a backwards deletion see Section 4 2 2 Deleting Characters page 10 before the various completion mechanisms are activated when using auto completion mode see Section 4 3 Auto Completion Mode page 11 Having a small delay is useful when the delete key is held down continuously Default is 0 1 seconds 4 4 Dynamic Completion Dynamic completion is controlled by the completion use dynamic customisation variable When it is non nil the most likely completion is provisionally inserted in the buffer after the point and highlighted If auto completion mode is enabled typing more word constituent characters will add them to the word updating the most likely completion see Section 4 3 Auto Completion Mode page 11 Note that since the completion reject command ends the completion process if you want to find completions for the same prefix again after previously rejectng a completion you have to do it manually with complete predictive even when auto completion mode is enabled See Section 4 2 1 Inserting Completions page 9 and Section 4 3 Auto Completion Mode page 11 completion use dynamic When non nil enable dynamic completion which provisionally inserts the most likely conpletion in the buffer completion dynamic highlight common substring When non nil the longest common substring of all the available completions is highlighted in a different colour within the dynamic completion completion
83. ons page 16 which by default is a predictive subdirectory of the directory containing the HTML file It is safe to delete this file or even the entire predictive auxiliary file location directory as long as the corresponding HTML file is not loaded in Emacs at the time They will be recreated automatically next time the file is loaded However if you delete the dictionary files you will lose all learned word weights see Section 5 5 Dictionary Learning page 25 Chapter 7 Bugs and Future Improvements 43 7 Bugs and Future Improvements The predictive completion package has been tested on Emacs versions 21 3 22 x and the current CVS version and is known to work reasonably well It will not work under older versions and currently doesn t work under any version of XEmacs Report bugs and feature requests to toby predictive dr qubit org Even reports of which versions of Emacs it runs under are useful at this stage though check the web site http www dr qubit org emacs php first to make sure your version is not already listed 7 1 Known Bugs Known bugs in no particular order 1 Predictive mode does not work under XEmacs Making it work will take some com patibility work but should be possible 2 The predictive latex electric environments feature is very flaky and should probably not be used at the moment It has occasionally been known to completely mess up IATEX files by randomly deleting parts of them
84. or reject by default has no effect More fine grained control is instead provided by auto completion syntax alist and auto completion override syntax alist See Section 4 3 Auto Completion Mode page 11 There is one exception to all this whether or not auto completion mode is enabled if you move the point to somewhere within a dynamic completion and start typing the part of the completion before the point is always accepted and the remaining characters deleted This is almost always what you intended and leads to less surprises completion overwrite When non nil completions overwrite the rest of the word after point both when you manually call complete predictive with the point positioned in the middle of word and when auto completion mode is enabled and you type a new character in the middle of a word Enabled by default Predictive mode doesn t play all that well with overwrite mode The completion overwrite option implements an intelligent partial over write behaviour for completions Chapter 4 Completing Words 17 This only has an effect if you try to start completing with the point in the middle of a word When completion overwrite is enabled the part of the word at point that comes after the point will be over written by the completion When disabled the completion is simply inserted in the middle of the word without deleting the rest of it completion max candidates Maximum number of completions to find Default i
85. p down mouse 1 mouse minor mode menu 5 5 Dictionary Learning The better the weights in a dictionary match the frequency with which you use words the more useful predictive mode will be Some of the standard dictionaries already include word weights which match average word frequencies taken from a large sample of texts Some don t include any word weights In any case your personal word usage might be very different from the average Ideally the weights in a dictionary should match your personal style of writing In fact since your writing style might change significantly depending on whether you re writing say a scientific article or an email it may even be worth having different dictionaries for different circumstances The easiest way to teach a dictionary about your writing style is to supply it with samples of your writing and have it learn the word weights from them Predictive mode provides two ways to do this learning from existing files and automatic learning as you type 5 5 1 Learning from Buffers and Files Predictive mode can learn word weights from existing text The following commands can be used to do this Note that they will not add new words to a dictionary they only update weights of words that are already in the dictionary The learning commands take account of region local dictionaries and will ensure words are learnt in the correct dictionaries see Section 5 4 Region Local Dictionaries page 24
86. pletion mode see Section 4 3 Auto Completion Mode page 11 Although you can choose to display the completion menu automatically because it steals the keyboard focus this probably isn t all that useful at least not without a long delay Chapter 4 Completing Words 10 completion tab complete TAB Do traditional tab completion i e insert the longest common prefix of all candidate completions and re complete the resulting longer string completion extend prefix C TAB Insert the characters from the current completion as though typed manually and look for completions of the resulting longer string Note that apart from the complete predictive bindings none of the other key bind ings are active until you have started completing a word either using complete predictive or automatically if you are using auto completion mode see Section 4 3 Auto Completion Model page 11 4 2 2 Deleting Characters completion delete char delete Delete forwards and after deleting reject any completion at the point A prefix argument sets the number of characters to delete completion backward delete char Reject current completion if there is one and delete backwards A prefix argument sets the number of characters to delete If this deletes into a word and auto completion mode is enabled complete what remains of that word completion backward delete char untabify DEL Similar to completion backward delete char but change
87. prefix as a default for predictive define prefix and predictive undefine prefix It s default value is only appropriate for English predictive guess prefix suffixes List of suffixes to use when guessing a likely prefix for a word The suffixes a tried in the order they appear in the list and the first one that matches the end of the word is used the guessed prefix is the original word with the suffix removed Ensuring that prefixes take precedence when completing words is almost always a good idea It makes predictive completion much more convenient especially dynamic completion see Section 4 4 Dynamic Completion page 12 Therefore predictive mode includes a Chapter 5 Dictionaries 30 feature that when enabled the default automatically defines all the prefix relationships whenever a word is added to a dictionary predictive auto define prefixes When non nil predictive mode will automatically update all prefix relationships for a word in a dictionary when the word is added The new word will always take precedence over any word that is an extension of it and in their turn any words that are prefixes of the new word will take precedence over it 5 6 Getting the Most out of Dictionaries As it says at the beginning of this chapter predictive completion is only as good as the dictionary it uses The English dictionary supplied with the predictive package is trained on a large body of British English text so the words and wor
88. ps use predictive dump dict to file See Section 5 2 Loading and Saving Dictionaries page 22 It is not enough to make a copy of the dictionary file Only the plain text dumped format is guaranteed to be portable across different versions of predictive mode However this version of the predictive completion package version 0 22 and newer or more specifically version 0 12 and newer of the dict tree el library uses a different format than earlier versions even for the dumped files To port a dictionary from older versions to this version use the following procedure 1 backup the dictionay using predictive dump dict to file as just described using the old version of the predictive package 2 start Emacs 3 load the predictive convert dump format library included in this version of the predictive completion package using M x load file path to predictive convert dump format el 4 open the dumped dictionary backup file in Emacs 5 run the predictive convert dump format command 6 recreate the dictionary using the predictive create dict command see Section 5 1 Creating Dictionaries page 20 Repeat this procedure for each dictionary that you want to port to this new version Older versions of the predictive completion package saved dictionaries in a compiled form that was not portable across different versions of Emacs Newer versions now automatically save dictionaries in both compiled and uncomp
89. py of this License Preserve the section Entitled History Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Docu ment create one stating the title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission For any section Entitled Acknowledgements or Dedications Preserve the Title of the section and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein Preserve all the Invariant Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles Delete any section Entitled Endorsements Such a section may not be included in the Modified Version Do not retitle any existin
90. regate or the electronic equivalent of covers if the Document is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate TRANSLATION Iranslation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing Invariant Sections with translations requires special permission from their copyright holders but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail If a section in the Document is Entitled Acknowledgements Dedications or His tory the requirement section 4 to Preserve its Title section 1 will typically require changing the actual title TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided for under this License Any other attempt to copy modify sublicense or distribute the Document is void and will automatically terminate your rights under this License However parties who
91. regions of text The predictive mode support for a number of major modes makes use of this feature see Section 6 2 Major Modes page 35 Configuring region local dictionaries is however beyond the scope of this user manual See Section Region Local Dictionaries in Predictive Programmer Manual predictive which dict mode Auxilliary minor mode that displays the currently active dictionary in the mode line Chapter 5 Dictionaries 25 Predictive mode provides an auxilliary minor mode predictive which dict mode which displays the name of the currently active dictionary in the mode line i e the dic tionary that is active at the point If the active dictionary is in fact a list of dictionaries the name of the first dictionary in the list is displayed followed by Positioning the mouse over the dictionary name displays the names of the other dictionaries either in the echo area if tooltip mode is disabled or in a terminal or in a tooltip However for this to work you have to customize part of the mode line modes variable as the default setting clobbers this functionality Find the part that refers to the minor mode alist variable and delete the help echo property i e change that part to propertize minor mode alist mouse face mode line highlight local map keymap header line keymap down mouse 3 mode line mode menu 1 mode line keymap down mouse 3 mode line mode menu 1 mouse 2 mode line minor mode hel
92. s 10 Setting completion max candidates to a large number is probably not useful and will slow predictive mode down It is easier to type a few extra characters than cycle through lots of completions and the number available directly via hotkeys is limited by the number of keys you are prepared to set aside for selecting completions see Section 4 5 Completion Hotkeys page 13 completion highlight face The face used to highlight the completion candidates in the various user interfaces completion highlight face is used to highlight the current dynamic completion in the buffer and also to highlight the currently selected completion in the tooltip and pop up frame predictive auto correction no completion When non nil predictive mode won t complete words at all Instead it will only auto correct the words you type using the definitions in predictive equivalent characters and predictive prefix expansions see below This is only useful if one or both of those variables have been set Setting predictive auto correction no completion changes predictive mode from being a completion mode to being an auto correction mode It relies on you defining equivalent characters in predictive equivalent characters or useful prefix expansions in predictive prefix expansions see below For example if the former defines all accented variants of characters to be equivalent then predictive mode will auto correct accents for you but without offering c
93. s slated for inclusion in version 1 0 Chapter 4 Completing Words 19 recommended If it is a relative path it is taken to be relative to the file that a predictive mode buffer is visiting If an absolute path is used all auxiliary files for all predictive mode buffers will be saved to the same location In this case there are no safe guards to prevent two different auxiliary files that happen to have the same name from clobbering one another That said only identically named files in different directories pose a risk Depending on the settings you have chosen predictive mode may not create any auxiliary files at all The only one created in standard predictive mode buffers is the buffer local dictionary see Section 5 5 2 Automatic Learning page 26 However the predictive mode support for a number of major modes makes extensive use of auxiliary files See Section 6 2 Major Modes page 35 Chapter 5 Dictionaries 20 5 Dictionaries Predictive completion is only as good as the dictionary it uses The dictionary doesn t only list the words themselves it also ranks them according to how likely they are so that predictive mode can offer the most likely completions first As you type predictive mode learns which words you use more frequently so that the predictions improve It can automatically ensure certain words are always ranked higher than others useful e g when one word is a prefix for another Predictive mode is not r
94. s tabs to spa ces as it deletes completion kill word C lt delete gt completion kill sentence completion kill sexp completion kill paragraph Similar to completion delete char but kill forward until the end of the word sentence sexp paragraph instead of deleting individual characters completion backward kill word C DEL completion backward kill sentence completion backward kill sexp completion backward kill paragraph Similar to completion backward delete char but kill backward until the end of the word sentence sexp paragraph instead of deleting individual char acters These commands replace the standard Emacs deletion and kill commands so that they deal sensibly with any provisional completion that might be encountered in the region being deleted If auto completion mode is enabled the backwards deletion commands also re complete any remaining prefix when they delete backwards into part of a word see Section 4 3 Auto Completion Mode page 11 In all other respects these commands are identical to the equivalent standard Emacs deletion commands with corresponding names Chapter 4 Completing Words 11 4 3 Auto Completion Mode When the auto completion minor mode is enabled by calling the auto completion mode command predictive mode will automatically look for completions of words as you type This is especially useful when used in conjunction with dynamic completion see Section 4 4 Dynamic Completion page 12
95. s user The second approach is to start from a completely empty dictionary and use the auto add feature to automatically add words as you type them see Section 5 5 2 Automatic Learning page 26 The auto add feature adds words when you accept them Since the words aren t already in the dictionary the easiest way to add new words while typing is to ensure dynamic completion is enabled and type an end of word character such as a space or punctuation character at the end of the word see Section 4 4 Dynamic Completion page 12 Alternatively you can use the fast learning commands predictive fast learn or add from buffer and predictive fast learn or add from file to add words from existing text note that you must use the fast learning commands for this the normal ones will only increment the weights of words that are already in the dictionary However you auto add the words there is a risk that some words that you don t want wil make their way into the dictionary for example typos and misspellings or possi bly words containing non letter characters The latter are best dealt with by appropri ate entries in completion dynamic syntax alist and completion dynamic override syntax alist see Section 6 1 2 Syntax page 33 The former are best dealt with by Keyboard macros may help here Chapter 5 Dictionaries 31 setting a predictive auto add filter function see Section 5 5 2 Automatic Learning page 26 It s stil
96. t first patching Emacs as described above To speed up loading of predictive mode s IATEX support a file containing information about the location of different regions within the document is saved to auto overlays filename also located in predictive auxiliary file location Separate files are created even for buffers that share the same TeX master It is safe to delete any of these files or even the entire predictive auxiliary file location directory as long as the corresponding ATX file is not loaded in Emacs at the time They will be recreated automatically next time the file is loaded However if you delete the dictionary files you will lose all learned word weights see Section 5 5 Dictionary Learning page 25 6 2 2 Texinfo Support The predictive mode Texinfo support shares much in common with the IATEX support but Texinfo is a somewhat simpler markup language than IATEX TEXnically they re both 5 Dictionaries and Elisp code welcome Chapter 6 Advanced Customisation 40 TEX of course With the default settings Texinfo support is enabled automatically when predictive completion mode is turned on in a Texinfo buffer via an entry in predictive major mode alist see Section 6 2 Major Modes page 35 6 2 2 1 Parsing Texinfo Documents Predictive mode parses Texinfo files as you type without any noticeable slow down in order to identify different contexts The main use for this information is to switch to t
97. t generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknowledgements Dedications Endorsements or History To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document These Warranty Disclaimers are considered to be included by reference in this License but only as regards disclaiming warranties any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License 2 VERBATIM COPYING Appendix D Copying this Manual 52 You may copy and distribute
98. th or without modifying it either commercially or non commercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License Such a notice grants a world wide royalty free license unlimited in duration to use that work under the conditions stated herein The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you You accept the license if you copy mod
99. the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of the Document means a machine readable copy represented in a format whose specification is available to the general public that is suitable for revising the document straightforwardly with generic text editors or for images com posed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image format is not Transparent if used for any substantial amount of text A copy that is not Transparent is called Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTEX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or PDF designed for human modification Examples of transparent image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are no
100. ting word plus the new character Finally it is occasionally useful to be able to manually override a character s syntax and have it treated one off as though it had a different syntax class A key binding to do this can be created using the completion define word constituent binding function in your emacs file after the line loading the predictive package see Chapter 2 Obtaining and Installing page 3 This is most commonly used to allow punctuation characters to be inserted one off as word constituents The bindings M M M and M S lt SPC gt are defined by default in predictive mode to do precisely this for the punctuation characters and 6 2 Major Modes The many features of predictive mode allow you to set things up appropriately for what ever language you are typing whether it be plain text markup languages such as IATEX HTML or Texinfo programming languages such as C or Lisp etc Predictive mode will work happily alongside the appropriate major mode However since each language makes different demands of predictive completion you may find yourself changing a large number of settings when switching major modes To facilitate using predictive completion alongside different major modes predictive mode can run a setup function determined by the current major mode whenever it is switched on in a buffer Of course you can also use major mode hooks but hooks are less convenient if you don t want to
101. uire different key sequences depending on the words and sentences preceding it Whether predictive mode really speeds up typing or not is debatable At the very least it depends on the context in which predictive mode is used Although you have to type less you have to process more information as you type to decide whether to accept the offered completion or whether to add more characters to narrow down the completions to word you want And this increased cognitive load might wipe out the advantage of having to type fewer characters Studies indicate that the cognitive does increase but whether or not this Chapter 1 What is predictive completion 2 negates all speed advantage to predictive completion systems is less clear It seems plausible that the more you use predictive mode the better you will become at quickly evaluating the possible completions Also with the default settings there is nothing to stop you typing normally and ignoring the completions entirely until you want to make use of them In the end the only way to find out is to try it and see Chapter 2 Obtaining and Installing 3 2 Obtaining and Installing The current version of the predictive completion package can be obtained from http www dr qubit org emacs php If you are upgrading from a previous version make sure you first backup dictionaries you use by dumping the words and data they contain to files unless you want to start from scratch To make the backu
102. umber of entries in all menus submenus subsub menus etc to be made as equal as possible The symbol max maximizes the number of entries in higher level menus and hence minimizes the number of entries in lower level submenus whereas minimize does the opposite Note that none of these options affect the number of levels of submenu required in a given browser instance completion browser buckets When set the completion browser will recursively list completions of comple tions of completions of completions organised hierarchically Otherwise the browser will only display the original list of all completions of the prefix 4 10 Auto Show a List of Completions One out of the completion tooltip pop up frame or menu can be displayed automatically when you start completing it makes no sense to display more than one of them at a time they would simply mask each other It can either be displayed immediately or only after Emacs has been idle for a number of seconds The following variables control this feature Chapter 4 Completing Words 16 completion auto show When set to tooltip pop up or menu the corresponding list of completions is displayed automatically when completing When nil nothing is displayed automatically they can still be displayed manually when required completion auto show delay Number of seconds integer that Emacs must be idle before the list of comple tions is displayed 4 11 Miscellaneous Options Th
103. use for the dictionaries Ternary search trees are described in a very readable article by Jon Bentley and Robert Sedgewick The article can be found via http www cs princeton edu rs strings Finally the English dictionary supplied with the predictive completion package was originally based on the British National Corpus frequency tables available from http www itri brighton ac uk Adam Kilgarriff bnc readme html Appendix A Command Index Appendix A Command Index A auto completion mode 7 10 11 12 34 B backward delete ci cos e eb LiRed 10 C complete predictive 8 9 12 16 completion accept ssiids ege n n 5 9 completion backward delete char 10 completion backward delete char untabify Dis Sed AER egi pehiWee qi ein ernega 10 completion backward kill paragraph 10 completion backward kill sentence 10 completion backward kill sexp 10 completion backward kill word C DEL 10 completion cycle o 9 4 pi eitr xS 5 9 completion define word constituent binding EET 11 33 35 complet 1on delete char 10 completion extend prefix 5 10 completion kill paragraph 10 completion kill sentence 10 completion kill sexp icecv eee ees 10 completion kill word C delete 10 completion popup frame 6 14 completion popup frame dismiss 14 c
104. used to select a completion from the list The following variables affect the completion tooltip The tooltip can also be displayed automatically when completing optionally after a time delay See Section 4 10 Auto Show a List of Completions page 15 Chapter 4 Completing Words 14 completion tooltip timeout The number of seconds to display the tooltip The tooltip is hidden automat ically when it is no longer needed but it is impossible to display a tooltip indefinitely in Emacs The work around is to set this to a very large value Default is 86400 completion tooltip offset A cons cell containing the number of pixels an integer by which to offset the tooltip by in the x and y directions car and cdr respectively completion tooltip face The face to use in the tooltip Only the foreground background and family attributes are actually used 4 8 Pop Up Frame Calling completion popup frame when completing bound to C Down displays the avail able completions in a separate Emacs frame positioned below the point You can then use the usual Emacs motion keys to select a completion candidate and provisionally insert it in the buffer up down M p M n C p C n pageup C v M v pagedown home M lt end and M gt you can also supply numerical optional arguments to these as usual You can also toggle between displaying just the most likely completions or displaying all possible completions using completion popup toggle
105. ve latex add to list load path emacs d predictive texinfo add to list load path emacs d predictive html load predictive package autoload predictive mode emacs d predictive predictive Turn on Predictive Completion Mode t If you want to install the info documentation into your local info system you should run the following command as root make info install If your info dir file is not located in usr share info then you can specify its location using make info install INFODIR path to info For more details and for alternative installation options you should consult the INSTALL file included in the predictive package Chapter 3 Quick Start 5 3 Quick Start This Quick Start describes the default behaviour However predictive completion mode can be heavily customized allowing its behaviour to be radically changed The many and various predictive completion mode customization options can be found in the predictive and completion ui customization groups If you like the idea of predictive completion but don t like the way it works out of the box the rest of this manual explains all the options and features in detail Use the predictive mode command to switch the predictive minor mode on The same command will also switch it off again This section only covers some of the default behaviour of predictive mode The way that predictive mode works can be radically changed vi
106. visionally inserted after the point and highlighted C RET accepts the completion as usual Hitting TAB whilst completing will perform traditional tab completion on the word the word will be completed up to the longest common prefix of the available completions Another useful command is C TAB This accepts all the characters from the current provisional completion as though you typed them yourself and re completes the resulting longer string useful if a word just needs a suffix adding for instance See Section 4 2 Basic Completion Commands page 9 for details of cycling and tab completion M Down will display a menu from which you can select a completion see Section 4 9 Completion Menu and Browser page 15 There is also a Browser menu item which brings up the completion browser This hierarchically lists all possible completions not just the most likely ones It can sometimes take a while to construct the completion browser but you can hit C g at any time to cancel it See Section 4 9 Completion Menu and Browser page 15 for details Chapter 3 Quick Start 6 C Down displays a pop up frame in which you can use the usual Emacs motion keys to select a completion M Tab or M in the pop up frame toggles between displaying the most likely completions and displaying all possible completions To get rid of the pop up frame use C Up The predictive completion package comes with an English dictionary which is
107. whenever a completion is accepted see Section 5 5 2 Automatic Learning page 26 The predictive save modified dicts saves all mod ified dictionaries whose autosave flag is set Modified dictionaries used in a buffer are automatically saved when that buffer is killed if they have their autosave flag set All modified autosave dictionaries are saved when you exit Emacs 5 3 Basic Dictionary Usage The name of the main dictionary used by a buffer is stored in the buffer local predictive main dict variable Note that the variable usually contains the name of the dictionary a symbol not the dictionary itself This is the dictionary predictive mode will normally search in when looking for completions predictive main dict can also hold a list of dictionary names They are then treated as though they form one combined dictionary However when predictive auto add to dict is used words are always added to the first dictionary in the list See Section 5 5 2 Automatic Learning page 26 predictive set main dict This function can be used as a convenience to set the main dictionary for the current buffer You will only be able to select dictionaries that are already loaded see Section 5 2 Loading and Saving Dictionaries page 22 If you want to set the default main dictionary permanently customize predictive main dict instead 5 4 Region Local Dictionaries Using overlays it is possible to set up dictionaries that are local to specific

Download Pdf Manuals

image

Related Search

Related Contents

User Manual  VIPERYL  トンボplus 05  東芝シーリングファン取扱説明書 保管用  USER'S GUIDE  STARTER KIT USER`S MANUAL ///  Projecteur Optoma-EP1690 - Lampe VideoProjecteur.info  Lenovo Yoga Tablet 10 16GB Silver  

Copyright © All rights reserved.
Failed to retrieve file