blob: 590b80ea379d90855f88762888bebf821fc9a086 [file] [log] [blame]
Bram Moolenaar3638c682005-06-08 22:05:14 +00001*spell.txt* For Vim version 7.0aa. Last change: 2005 Jun 08
Bram Moolenaar217ad922005-03-20 22:37:15 +00002
3
4 VIM REFERENCE MANUAL by Bram Moolenaar
5
6
7Spell checking *spell*
8
91. Quick start |spell-quickstart|
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000102. Generating a spell file |spell-mkspell|
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000113. Spell file format |spell-file-format|
Bram Moolenaar217ad922005-03-20 22:37:15 +000012
13{Vi does not have any of these commands}
14
15Spell checking is not available when the |+syntax| feature has been disabled
16at compile time.
17
18==============================================================================
191. Quick start *spell-quickstart*
20
21This command switches on spell checking: >
22
23 :setlocal spell spelllang=en_us
24
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +000025This switches on the 'spell' option and specifies to check for US English.
Bram Moolenaar217ad922005-03-20 22:37:15 +000026
27The words that are not recognized are highlighted with one of these:
28 SpellBad word not recognized
29 SpellRare rare word
30 SpellLocal wrong spelling for selected region
31
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +000032Vim only checks words for spelling, there is no grammar check.
33
34To search for the next misspelled word:
35
36 *]s* *E756*
37]s Move to next misspelled word after the cursor.
Bram Moolenaar9d0ec2e2005-04-20 19:45:58 +000038 A count before the command can be used to repeat.
39 This uses the @Spell and @NoSpell clusters from syntax
40 highlighting, see |spell-syntax|.
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +000041
42 *[s*
Bram Moolenaar9d0ec2e2005-04-20 19:45:58 +000043[s Like "]s" but search backwards, find the misspelled
44 word before the cursor.
45
46 *]S*
47]S Like "]s" but only stop at bad words, not at rare
48 words or words for another region.
49
50 *[S*
51[S Like "]S" but search backwards.
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +000052
Bram Moolenaar217ad922005-03-20 22:37:15 +000053
Bram Moolenaar82cf9b62005-06-07 21:09:25 +000054To add words to your own word list:
55
56 *zg*
57zg Add word under the cursor as a good word to
58 'spellfile'. In Visual mode the selected characters
59 are added as a word (including white space!).
60
61 *zw*
62zw Add word under the cursor as a wrong (bad) word to
63 'spellfile'. In Visual mode the selected characters
64 are added as a word (including white space!).
65
66 *:spellg* *:spellgood*
67:spellg[ood] {word} Add [word} as a good word to 'spellfile'.
68
69:spellw[rong] {word} Add [word} as a wrong (bad) word to 'spellfile'.
70
71After adding a word to 'spellfile' its associated ".spl" file will
Bram Moolenaar3638c682005-06-08 22:05:14 +000072automatically be updated. More details about the 'spellfile' format below
73|spell-wordlist-format|.
Bram Moolenaar82cf9b62005-06-07 21:09:25 +000074
75
Bram Moolenaar6bb68362005-03-22 23:03:44 +000076PERFORMANCE
77
Bram Moolenaar3638c682005-06-08 22:05:14 +000078Note that Vim does on-the-fly spell checking. To make this work fast the
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +000079word list is loaded in memory. Thus this uses a lot of memory (1 Mbyte or
Bram Moolenaar3638c682005-06-08 22:05:14 +000080more). There might also be a noticeable delay when the word list is loaded,
81which happens when 'spelllang' or 'spell' is set. Each word list is only
82loaded once, they are not deleted when 'spelllang' is made empty or 'spell' is
83reset. When 'encoding' is set the word lists are reloaded, thus you may
84notice a delay then too.
Bram Moolenaar6bb68362005-03-22 23:03:44 +000085
86
Bram Moolenaar217ad922005-03-20 22:37:15 +000087REGIONS
88
89A word may be spelled differently in various regions. For example, English
90comes in (at least) these variants:
91
92 en all regions
Bram Moolenaar5c5474b2005-04-19 21:40:26 +000093 en_au Australia
Bram Moolenaar217ad922005-03-20 22:37:15 +000094 en_ca Canada
Bram Moolenaar5c5474b2005-04-19 21:40:26 +000095 en_gb Great Britain
96 en_nz New Zealand
97 en_us USA
Bram Moolenaar217ad922005-03-20 22:37:15 +000098
99Words that are not used in one region but are used in another region are
Bram Moolenaar3638c682005-06-08 22:05:14 +0000100highlighted with |SpellLocal|.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000101
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000102Always use lowercase letters for the language and region names.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000103
Bram Moolenaar3638c682005-06-08 22:05:14 +0000104When adding a word with |zg| or another command it's always added for all
105regions. You can change that by manually editing the 'spellfile'. See
106|spell-wordlist-format|.
107
Bram Moolenaar217ad922005-03-20 22:37:15 +0000108
109SPELL FILES
110
111Vim searches for spell files in the "spell" subdirectory of the directories in
Bram Moolenaar3638c682005-06-08 22:05:14 +0000112'runtimepath'. The name is: LL.EEE.spl, where:
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000113 LL the language name
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000114 EEE the value of 'encoding'
Bram Moolenaar217ad922005-03-20 22:37:15 +0000115
Bram Moolenaar3638c682005-06-08 22:05:14 +0000116Only the first file is loaded, the one that is first in 'runtimepath'. If
117this succeeds then additionally files with the name LL.EEE.add.spl are loaded.
118All the ones that are found are used.
119
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +0000120Exceptions:
121- Vim uses "latin1" when 'encoding' is "iso-8859-15". The euro sign doesn't
122 matter for spelling.
123- When no spell file for 'encoding' is found "ascii" is tried. This only
124 works for languages where nearly all words are ASCII, such as English. It
125 helps when 'encoding' is not "latin1", such as iso-8859-2, and English text
Bram Moolenaar3638c682005-06-08 22:05:14 +0000126 is being edited. For the ".add" files the same name as the found main
127 spell file is used.
128
129For example, with these values:
130 'runtimepath' is "~/.vim,/usr/share/vim70,~/.vim/after"
131 'encoding' is "iso-8859-2"
132 'spelllang' is "pl"
133
134Vim will look for:
1351. ~/.vim/spell/pl.iso-8859-2.spl
1362. /usr/share/vim70/spell/pl.iso-8859-2.spl
1373. ~/.vim/spell/pl.iso-8859-2.add.spl
1384. /usr/share/vim70/spell/pl.iso-8859-2.add.spl
1395. ~/.vim/after/spell/pl.iso-8859-2.add.spl
140
141This assumes 1. is not found and 2. is found.
142
143If 'encoding' is "latin1" Vim will look for:
1441. ~/.vim/spell/pl.latin1.spl
1452. /usr/share/vim70/spell/pl.latin1.spl
1463. ~/.vim/after/spell/pl.latin1.spl
1474. ~/.vim/spell/pl.ascii.spl
1485. /usr/share/vim70/spell/pl.ascii.spl
1496. ~/.vim/after/spell/pl.ascii.spl
150
151This assumes none of them are found (Polish doesn't make sense when leaving
152out the non-ASCII characters).
Bram Moolenaar217ad922005-03-20 22:37:15 +0000153
Bram Moolenaar6bb68362005-03-22 23:03:44 +0000154Spelling for EBCDIC is currently not supported.
155
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000156A spell file might not be available in the current 'encoding'. See
157|spell-mkspell| about how to create a spell file. Converting a spell file
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +0000158with "iconv" will NOT work!
Bram Moolenaar217ad922005-03-20 22:37:15 +0000159
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000160 *E758* *E759*
161When loading a spell file Vim checks that it is properly formatted. If you
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +0000162get an error the file may be truncated, modified or intended for another Vim
163version.
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000164
Bram Moolenaar6bb68362005-03-22 23:03:44 +0000165
166WORDS
167
168Vim uses a fixed method to recognize a word. This is independent of
169'iskeyword', so that it also works in help files and for languages that
170include characters like '-' in 'iskeyword'. The word characters do depend on
171'encoding'.
172
Bram Moolenaar3638c682005-06-08 22:05:14 +0000173A word that starts with a digit is always ignored. That includes hex numbers
174in the form 0xff and 0XFF.
Bram Moolenaar6bb68362005-03-22 23:03:44 +0000175
176
Bram Moolenaar9d0ec2e2005-04-20 19:45:58 +0000177SYNTAX HIGHLIGHTING *spell-syntax*
Bram Moolenaar6bb68362005-03-22 23:03:44 +0000178
179Files that use syntax highlighting can specify where spell checking should be
180done:
181
Bram Moolenaar3638c682005-06-08 22:05:14 +00001821. everywhere default
1832. in specific items use "contains=@Spell"
1843. everywhere but specific items use "contains=@NoSpell"
Bram Moolenaar6bb68362005-03-22 23:03:44 +0000185
Bram Moolenaar3638c682005-06-08 22:05:14 +0000186For the second method adding the @NoSpell cluster will disable spell checking
187again. This can be used, for example, to add @Spell to the comments of a
188program, and add @NoSpell for items that shouldn't be checked.
Bram Moolenaar6bb68362005-03-22 23:03:44 +0000189
Bram Moolenaar217ad922005-03-20 22:37:15 +0000190==============================================================================
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +00001912. Generating a spell file *spell-mkspell*
Bram Moolenaar217ad922005-03-20 22:37:15 +0000192
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000193Vim uses a binary file format for spelling. This greatly speeds up loading
194the word list and keeps it small.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000195
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000196You can create a Vim spell file from the .aff and .dic files that Myspell
197uses. Myspell is used by OpenOffice.org and Mozilla. You should be able to
198find them here:
199 http://lingucomponent.openoffice.org/spell_dic.html
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000200You can also use a plain word list.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000201
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +0000202:mksp[ell] [-ascii] {outname} {inname} ... *:mksp* *:mkspell*
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000203 Generate a Vim spell file word lists. Example: >
204 :mkspell nl nl_NL.words
205<
206 When {outname} ends in ".spl" it is used as the output
207 file name. Otherwise it should be a language name,
208 such as "en". The file written will be
209 {outname}.{encoding}.spl. {encoding} is the value of
210 the 'encoding' option.
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000211
Bram Moolenaar0e21a3f2005-04-17 20:28:32 +0000212 When the [-ascii] argument is present, words with
213 non-ascii characters are skipped. The resulting file
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000214 ends in "ascii.spl".
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000215
216 The input can be the Myspell format files {inname}.aff
217 and {inname}.dic. If {inname}.aff does not exist then
218 {inname} is used as the file name of a plain word
219 list.
220
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000221 Multiple {inname} arguments can be given to combine
222 regions into one Vim spell file. Example: >
223 :mkspell ~/.vim/spell/en /tmp/en_US /tmp/en_CA /tmp/en_AU
224< This combines the English word lists for US, CA and AU
225 into one en.spl file.
226 Up to eight regions can be combined. *E754* *755*
Bram Moolenaar217ad922005-03-20 22:37:15 +0000227
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000228 When the spell file was written all currently used
229 spell files will be reloaded.
230
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000231:mksp[ell] [-ascii] {add-name}
232 Like ":mkspell" above, using {add-name} as the input
233 file and producing an output file that has ".spl"
234 appended.
235
236Since you might want to change a Myspell word list for use with Vim the
237following procedure is recommended:
Bram Moolenaar217ad922005-03-20 22:37:15 +0000238
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +00002391. Obtain the xx_YY.aff and xx_YY.dic files from Myspell.
2402. Make a copy of these files to xx_YY.orig.aff and xx_YY.orig.dic.
2413. Change the xx_YY.aff and xx_YY.dic files to remove bad words, add missing
Bram Moolenaar0cb032e2005-04-23 20:52:00 +0000242 words, define word characters with FOL/LOW/UPP, etc. The distributed
243 "src/spell/*.diff" files can be used.
2444. Set 'encoding' to the desired encoding and use |:mkspell| to generate the
245 Vim spell file.
2465. Try out the spell file with ":set spell spelllang=xx_YY".
Bram Moolenaar217ad922005-03-20 22:37:15 +0000247
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000248When the Myspell files are updated you can merge the differences:
Bram Moolenaar0cb032e2005-04-23 20:52:00 +00002491. Obtain the new Myspell files as xx_YY.new.aff and xx_UU.new.dic.
2502. Use Vimdiff to see what changed: >
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000251 vimdiff xx_YY.orig.dic xx_YY.new.dic
Bram Moolenaar0cb032e2005-04-23 20:52:00 +00002523. Take over the changes you like in xx_YY.dic.
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000253 You may also need to change xx_YY.aff.
Bram Moolenaar0cb032e2005-04-23 20:52:00 +00002544. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000255
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000256==============================================================================
2579. Spell file format *spell-file-format*
Bram Moolenaar217ad922005-03-20 22:37:15 +0000258
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000259This is the format of the files that are used by the person who creates and
260maintains a word list.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000261
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000262Note that we avoid the word "dictionary" here. That is because the goal of
263spell checking differs from writing a dictionary (as in the book). For
264spelling we need a list of words that are OK, thus need not to be highlighted.
265Names will not appear in a dictionary, but do appear in a word list. And
266some old words are rarely used and are common misspellings. These do appear
267in a dictionary but not in a word list.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000268
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000269There are two formats: one with affix compression and one without. The files
270with affix compression are used by Myspell (Mozilla and OpenOffice.org). This
271requires two files, one with .aff and one with .dic extension. The second
272format is a list of words.
273
274
Bram Moolenaar3638c682005-06-08 22:05:14 +0000275FORMAT OF WORD LIST *spell-wordlist-format*
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000276
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000277The words must appear one per line. That is all that is required.
278Additionally the following items are recognized:
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000279- Empty and blank lines are ignored.
280- Lines starting with a # are ignored (comment lines).
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000281- A line starting with "/encoding=", before any word, specifies the encoding
282 of the file. After the second '=' comes an encoding name. This tells Vim
283 to setup conversion from the specified encoding to 'encoding'.
Bram Moolenaar3638c682005-06-08 22:05:14 +0000284- A line starting with "/regions=" specifies the region names that are
285 supported. Each region name must be two ASCII letters. The first one is
286 region 1. Thus "/regions=usca" has region 1 "us" and region 2 "ca".
287 In an addition word list the list should be equal to the main word list!
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000288- A line starting with "/?" specifies a word that should be marked as rare.
289- A line starting with "/!" specifies a word that should be marked as bad.
290- A line starting with "/=" specifies a word where case must match exactly.
291 A "?" or "!" may be following: "/=?" and "/=!".
Bram Moolenaar3638c682005-06-08 22:05:14 +0000292- Digits after "/" indicate the regions in which the word is valid. If no
293 regions are specified the word is valid in all regions.
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000294- Other lines starting with '/' are reserved for future use. The ones that
295 are not recognized are ignored (but you do get a warning message).
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000296
Bram Moolenaar3638c682005-06-08 22:05:14 +0000297Example:
298
299 # This is an example word list comment
300 /encoding=latin1 encoding of the file
301 /regions=uscagb regions "us", "ca" and "gb"
302 example word for all regions
303 /1blah word for region 1 "us"
304 /!Vim bad word
305 /?3Campbell rare word in region 3 "gb"
306 /='s mornings keep-case word
307
Bram Moolenaar75c50c42005-06-04 22:06:24 +0000308
309FORMAT WITH AFFIX COMPRESSION
310
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000311There are two files: the basic word list and an affix file. The affixes are
312used to modify the basic words to get the full word list. This significantly
313reduces the number of words, especially for a language like Polish. This is
314called affix compression.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000315
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000316The format for the affix and word list files is mostly identical to what
317Myspell uses (the spell checker of Mozilla and OpenOffice.org). A description
318can be found here:
319 http://lingucomponent.openoffice.org/affix.readme ~
320Note that affixes are case sensitive, this isn't obvious from the description.
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000321
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000322Vim supports a few extras. Hopefully Myspell will support these too some day.
323See |spell-affix-vim|.
Bram Moolenaar217ad922005-03-20 22:37:15 +0000324
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000325The basic word list and the affix file are combined and turned into a binary
326spell file. All the preprocessing has been done, thus this file loads fast.
327The binary spell file format is described in the source code (src/spell.c).
328But only developers need to know about it.
329
330The preprocessing also allows us to take the Myspell language files and modify
331them before the Vim word list is made. The tools for this can be found in the
332"src/spell" directory.
333
334
Bram Moolenaar3638c682005-06-08 22:05:14 +0000335WORD LIST FORMAT *spell-dic-format*
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000336
337A very short example, with line numbers:
338
339 1 1234
340 2 aan
341 3 Als
342 4 Etten-Leur
343 5 et al.
344 6 's-Gravenhage
345 7 's-Gravenhaags
346 8 bedel/P
347 9 kado/1
348 10 cadeau/2
349
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000350The first line contains the number of words. Vim ignores it, but you do get
351an error message if it's not there. *E760*
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000352
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000353What follows is one word per line. There should be no white space before or
354after the word.
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000355
356When the word only has lower-case letters it will also match with the word
357starting with an upper-case letter.
358
359When the word includes an upper-case letter, this means the upper-case letter
360is required at this position. The same word with a lower-case letter at this
361position will not match. When some of the other letters are upper-case it will
362not match either.
363
364The same word with all upper-case characters will always be OK.
365
366 word list matches does not match ~
367 als als Als ALS ALs AlS aLs aLS
368 Als Als ALS als ALs AlS aLs aLS
369 ALS ALS als Als ALs AlS aLs aLS
370 AlS AlS ALS als Als ALs aLs aLS
371
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000372The KEP affix ID can be used to specifically match a word with identical case
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000373only, see below.
374
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000375Note in line 5 to 7 that non-word characters are used. You can include
376any character in a word. When checking the text a word still only matches
377when it appears with a non-word character before and after it. For Myspell a
378word starting with a non-word character probably won't work.
379
380After the word there is an optional slash and flags. Most of these flags are
381letters that indicate the affixes that can be used with this word.
382
383 *spell-affix-vim*
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000384A flag that Vim adds and is not in Myspell is the flag defined with KEP in the
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000385affix file. This has the meaning that case matters. This can be used if the
386word does not have the first letter in upper case at the start of a sentence.
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000387Example (assuming that = was used for KEP):
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000388
389 word list matches does not match ~
390 's morgens/= 's morgens 'S morgens 's Morgens
391 's Morgens 's Morgens 'S morgens 's morgens
392
393 *spell-affix-mbyte*
394The basic word list is normally in an 8-bit encoding, which is mentioned in
395the affix file. The affix file must always be in the same encoding as the
396word list. This is compatible with Myspell. For Vim the encoding may also be
397something else, any encoding that "iconv" supports. The "SET" line must
398specify the name of the encoding. When using a multi-byte encoding it's
399possible to use more different affixes.
400
Bram Moolenaar0cb032e2005-04-23 20:52:00 +0000401 *spell-affix-chars*
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000402When using an 8-bit encoding the affix file should define what characters are
403word characters (as specified with ENC). This is because the system where
404":mkspell" is used may not support a locale with this encoding and isalpha()
405won't work. For example when using "cp1250" on Unix.
Bram Moolenaar0cb032e2005-04-23 20:52:00 +0000406
407 *E761* *E762*
408Three lines in the affix file are needed. Simplistic example:
409
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000410 FOL áëñáëñ ~
411 LOW áëñáëñ ~
412 UPP áëñÁËÑ ~
Bram Moolenaar0cb032e2005-04-23 20:52:00 +0000413
414All three lines must have exactly the same number of characters.
415
416The "FOL" line specifies the case-folded characters. These are used to
417compare words while ignoring case. For most encodings this is identical to
418the lower case line.
419
420The "LOW" line specifies the characters in lower-case. Mostly it's equal to
421the "FOL" line.
422
423The "UPP" line specifies the characters with upper-case. That is, a character
424is upper-case where it's different from the character at the same position in
425"FOL".
426
427ASCII characters should be omitted, Vim always handles these in the same way.
428When the encoding is UTF-8 no word characters need to be specified.
429
430 *E763*
431All spell files for the same encoding must use the same word characters,
Bram Moolenaar46df82e2005-04-24 22:06:24 +0000432otherwise they can't be combined without errors. The XX.ascii.spl spell file
433generated with the "-ascii" argument will not contain the table with
434characters, so that it can be combine with spell files for any encoding.
Bram Moolenaar0cb032e2005-04-23 20:52:00 +0000435
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000436 *spell-affix-KEP*
437In the affix file a KEP line can be used to define the affix name used for
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000438keep-case words. Example:
439
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000440 KEP = ~
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000441
442See above for an example |spell-affix-vim|.
443
Bram Moolenaar82cf9b62005-06-07 21:09:25 +0000444 *spell-affix-RAR*
Bram Moolenaar45eeb132005-06-06 21:59:07 +0000445In the affix file a RAR line can be used to define the affix name used for
446rare words. Example:
447
448 RAR ? ~
449
450Rare words are highlighted differently from bad words. This is to be used for
451words that are correct for the language, but are hardly ever used and could be
452a typing mistake anyway.
453
454
Bram Moolenaar217ad922005-03-20 22:37:15 +0000455 vim:tw=78:sw=4:ts=8:ft=help:norl: