-*spell.txt* For Vim version 7.0aa. Last change: 2005 Apr 19
+*spell.txt* For Vim version 7.0aa. Last change: 2005 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
*]s* *E756*
]s Move to next misspelled word after the cursor.
- NOTE: doesn't obey syntax highlighting yet, thus
- will stop at more places than what is highlighted.
+ A count before the command can be used to repeat.
+ This uses the @Spell and @NoSpell clusters from syntax
+ highlighting, see |spell-syntax|.
*[s*
-[s Move to next misspelled word before the cursor.
- DOESN'T WORK YET!
+[s Like "]s" but search backwards, find the misspelled
+ word before the cursor.
+
+ *]S*
+]S Like "]s" but only stop at bad words, not at rare
+ words or words for another region.
+
+ *[S*
+[S Like "]S" but search backwards.
PERFORMANCE
A word that starts with a digit is always ignored.
-SYNTAX HIGHLIGHTING
+SYNTAX HIGHLIGHTING *spell-syntax*
Files that use syntax highlighting can specify where spell checking should be
done:
*/
if (psettings->do_syntax)
{
- id = syn_get_id(ppos->file_line, (long)col, 1);
+ id = syn_get_id(ppos->file_line, col, 1, NULL);
if (id > 0)
id = syn_get_final_id(id);
else
#endif /* FEAT_CMDL_COMPL */
-#if defined(FEAT_EVAL) || defined(FEAT_PRINTER) || defined(PROTO)
/*
* Function called for expression evaluation: get syntax ID at file position.
*/
int
-syn_get_id(lnum, col, trans)
+syn_get_id(lnum, col, trans, spellp)
long lnum;
- long col;
+ colnr_T col;
int trans; /* remove transparancy */
+ int *spellp; /* return: can do spell checking */
{
/* When the position is not after the current position and in the same
* line of the same buffer, need to restart parsing. */
if (curwin->w_buffer != syn_buf
|| lnum != current_lnum
- || col < (long)current_col)
+ || col < current_col)
syntax_start(curwin, lnum);
- (void)get_syntax_attr((colnr_T)col, NULL);
+ (void)get_syntax_attr(col, spellp);
return (trans ? current_trans_id : current_id);
}
-#endif
#if defined(FEAT_FOLDING) || defined(PROTO)
/*