function to avoid
trouble with spaces. Best is to call a function
without arguments, see |expr-option-function|.
|v:val| holds the badly spelled word. The expression
must evaluate to a List of Lists, each with a
suggestion and a score.
Example:
[['the', 33], ['that', 44]] ~
Set 'verbose' and use |z=| to see the scores that the
internal methods use. A lower score is better.
This may invoke |spellsuggest()| if you temporarily
set 'spellsuggest' to exclude the "expr:" part.
Errors are silently ignored, unless you set the
'verbose' option to a non-zero value.
Only one of "best", "double" or "fast" may be used. The others may
appear several times in any order. Example: >vim
set sps=file:~/.config/nvim/sugg,best,expr:MySuggest()
<
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
'splitbelow' 'sb' boolean (default off)
global
When on, splitting a window will put the new window below the current
one. |:split|
*'splitkeep'* *'spk'*
'splitkeep' 'spk' string (default "cursor")
global
The value of this option determines the scroll behavior when opening,
closing or resizing horizontal splits.
Possible values are:
cursor Keep the same relative cursor position.
screen Keep the text on the same screen line.
topline Keep the topline the same.
For the "screen" and "topline" values, the cursor position will be
changed when necessary. In this case, the jumplist will be populated
with the previous cursor position. For "screen", the text cannot always
be kept on the same screen line when 'wrap' is enabled.
*'splitright'* *'spr'* *'nosplitright'* *'nospr'*
'splitright' 'spr' boolean (default off)
global
When on, splitting a window will put the new window right of the
current one. |:vsplit|
*'startofline'* *'sol'* *'nostartofline'* *'nosol'*
'startofline' 'sol' boolean (default off)
global
When "on" the commands listed below move the cursor to the first
non-blank of the line. When off the cursor is kept in the same column
(if possible). This applies to the commands:
- CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", "gg"
- "d", "<<", "==" and ">>" with a linewise operator
(|operator-resulting-pos|)
- "%" with a count
- buffer changing commands (CTRL-^, :bnext, :bNext, etc.)
- Ex commands that only have a line number, e.g., ":25" or ":+".
In case of buffer changing commands the cursor is placed at the column
where it was the last time the buffer was edited.
*'statuscolumn'* *'stc'*
'statuscolumn' 'stc' string (default "")
local to window
When non-empty, this option determines the content of the area to the
side of a window, normally containing the fold, sign and number columns.
The format of this option is like that of 'statusline'.
Some of the items from the 'statusline' format are different for
'statuscolumn':
%l line number column for currently drawn line
%s sign column for currently drawn line
%C fold column for currently drawn line
The 'statuscolumn' width follows that of the default columns and
adapts to the |'numberwidth'|, |'signcolumn'| and |'foldcolumn'| option
values (regardless of whether the sign and fold items are present).
Additionally, the 'statuscolumn' grows with the size of the evaluated
format string, up to a point (following the maximum size of the default
fold, sign and number columns). Shrinking only happens when the number
of lines in a buffer changes, or the 'statuscolumn' option is set.
The |v:lnum| variable holds the line number to be drawn.
The |v:relnum| variable holds the relative line number to be drawn.
The |v:virtnum| variable is negative when drawing virtual lines, zero
when drawing the actual buffer line, and positive when
drawing the wrapped part of a buffer line.
When using |v:relnum|, keep in mind that cursor movement by itself will
not cause the 'statuscolumn'