1- *options.txt* For Vim version 9.1. Last change: 2025 Jun 07
1+ *options.txt* For Vim version 9.1. Last change: 2025 Jun 12
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2043,7 +2043,7 @@ A jump table for the options with a short description can be found at |Q_op|.
20432043 'smartcase' + off no automatic ignore case switch
20442044 'smartindent' + off no smart indentation
20452045 'smarttab' + off no smart tab size
2046- 'softtabstop' + 0 tabs are always 'tabstop' positions
2046+ 'softtabstop' + 0 no soft tab stops
20472047 'startofline' + on goto startofline with some commands
20482048 'tagcase' & "followic" 'ignorecase' when searching tags file
20492049 'tagrelative' & off tag file names are not relative
@@ -2249,6 +2249,9 @@ A jump table for the options with a short description can be found at |Q_op|.
22492249 completion in the preview window. Only works in
22502250 combination with "menu" or "menuone".
22512251
2252+ This option does not apply to | cmdline-completion | . See 'wildoptions'
2253+ for that.
2254+
22522255 *'completepopup'* *'cpp'*
22532256'completepopup' 'cpp' string (default empty)
22542257 global
@@ -7803,11 +7806,13 @@ A jump table for the options with a short description can be found at |Q_op|.
78037806 global
78047807 When enabled, the <Tab> key will indent by 'shiftwidth' if the cursor
78057808 is in leading whitespace. The <BS> key has the opposite effect.
7806- This behaves as if 'softtabstop' is set to the value of 'shiftwidth' .
7809+ In leading whitespace, this has the same effect as setting
7810+ 'softtabstop' to the value of 'shiftwidth' .
78077811 This option is reset when 'compatible' is set; it is temporarily
78087812 disabled when 'paste' is enabled, and restored when 'paste' is turned
78097813 off.
7810- Have a look at section | 30.5 | of the user guide for detailed
7814+ NOTE: in most cases, using 'softtabstop' is a better option. Have a
7815+ look at section | 30.5 | of the user guide for detailed
78117816 explanations on how Vim works with tabs and spaces.
78127817
78137818 *'smoothscroll'* *'sms'* *'nosmoothscroll'* *'nosms'*
@@ -7824,21 +7829,24 @@ A jump table for the options with a short description can be found at |Q_op|.
78247829 *'softtabstop'* *'sts'*
78257830'softtabstop' 'sts' number (default 0)
78267831 local to buffer
7827- Number of spaces that a <Tab> counts for while performing editing
7828- operations, like inserting a <Tab> or using <BS> . It "feels" like
7829- <Tab> s are being inserted, while in fact a mix of spaces and <Tab> s is
7830- used. This is useful to keep the 'ts' setting at its standard value
7831- of 8, while being able to edit like it is set to 'sts' . However,
7832- commands like "x" still work on the actual characters.
7833- When 'sts' is zero, this feature is off.
7834- When 'sts' is negative, the value of 'shiftwidth' is used.
7835- 'softtabstop' is set to 0 when the 'paste' option is set and restored
7836- when 'paste' is reset.
7837- See also | ins-expandtab | . When 'expandtab' is not set, the number of
7838- spaces is minimized by using <Tab> s.
7839- The 'L' flag in 'cpoptions' changes how tabs are used when 'list' is
7840- set.
7841- NOTE: This option is set to 0 when 'compatible' is set.
7832+ Create soft tab stops, separated by 'softtabstop' number of columns.
7833+ In Insert mode, pressing the <Tab> key will move the cursor to the
7834+ next soft tab stop, instead of inserting a literal tab. <BS> behaves
7835+ similarly in reverse. Vim inserts a minimal mix of tab and space
7836+ characters to produce the visual effect.
7837+
7838+ This setting does not affect the display of existing tab characters.
7839+
7840+ A value of 0 disables this behaviour. A negative value makes Vim use
7841+ 'shiftwidth' . If you plan to use 'sts' and 'shiftwidth' with
7842+ different values, you might consider setting 'smarttab' .
7843+
7844+ 'softtabstop' is temporarily set to 0 when 'paste' is on and reset
7845+ when it is turned off. It is also reset when 'compatible' is set.
7846+
7847+ The 'L' flag in 'cpoptions' alters tab behavior when 'list' is
7848+ enabled. See also | ins-expandtab | ans user manual section | 30.5 | for
7849+ in-depth explanations.
78427850
78437851 If Vim is compiled with the | +vartabs | feature then the value of
78447852 'softtabstop' will be ignored if | 'varsofttabstop' | is set to
@@ -9282,36 +9290,40 @@ A jump table for the options with a short description can be found at |Q_op|.
92829290 local to buffer
92839291 {only available when compiled with the | +vartabs |
92849292 feature}
9285- A list of the number of spaces that a <Tab> counts for while editing,
9286- such as inserting a <Tab> or using <BS> . It "feels" like variable-
9287- width <Tab> s are being inserted, while in fact a mixture of spaces
9288- and <Tab> s is used. Tab widths are separated with commas, with the
9289- final value applying to all subsequent tabs.
9293+ Defines variable-width soft tab stops. The value is a comma-separated
9294+ list of widths in columns. Each width defines the number of columns
9295+ before the next soft tab stop. The last value repeats indefinitely.
92909296
92919297 For example, when editing assembly language files where statements
92929298 start in the 9th column and comments in the 41st, it may be useful
92939299 to use the following: >
92949300 :set varsofttabstop=8,32,8
9295- < This will set soft tabstops with 8 and 8 + 32 spaces , and 8 more
9296- for every column thereafter.
9301+ < This sets soft tab stops at column 8, then at column 40 ( 8 + 32) , and
9302+ every 8 columns thereafter.
92979303
9298- Note that the value of | 'softtabstop' | will be ignored while
9299- 'varsofttabstop' is set.
9304+ Note: this setting overrides 'softtabstop' .
9305+ See section | 30.5 | of the user manual for detailed explanations on how
9306+ Vim works with tabs and spaces.
93009307
93019308 *'vartabstop'* *'vts'*
93029309'vartabstop' 'vts' string (default "")
93039310 local to buffer
93049311 {only available when compiled with the | +vartabs |
93059312 feature}
9306- A list of the number of spaces that a <Tab> in the file counts for,
9307- separated by commas. Each value corresponds to one tab, with the
9308- final value applying to all subsequent tabs. For example: >
9309- :set vartabstop=4,20,10,8
9310- < This will make the first tab 4 spaces wide, the second 20 spaces,
9311- the third 10 spaces, and all following tabs 8 spaces.
9313+ Defines variable-width tab stops. The value is a comma-separated list
9314+ of widths in columns. Each width defines the number of columns
9315+ before the next tab stop; the last value repeats indefinitely.
9316+
9317+ For example: >
9318+ :set vartabstop=4,8
9319+ < This places the first tab stop 4 columns from the start of the line
9320+ and each subsequent tab stop 8 columns apart.
93129321
9313- Note that the value of | 'tabstop' | will be ignored while 'vartabstop'
9314- is set.
9322+ Note: this setting overrides 'tabstop' .
9323+ On UNIX, it is recommended to keep the default tabstop value of 8.
9324+ Consider setting 'varsofttabstop' instead.
9325+ See section | 30.5 | of the user manual for detailed explanations on how
9326+ Vim works with tabs and spaces.
93159327
93169328 *'verbose'* *'vbs'*
93179329'verbose' 'vbs' number (default 0)
@@ -9807,6 +9819,7 @@ A jump table for the options with a short description can be found at |Q_op|.
98079819'wildoptions' 'wop' string (default "")
98089820 global
98099821 A list of words that change how | cmdline-completion | is done.
9822+
98109823 The following values are supported:
98119824 fuzzy Use | fuzzy-matching | to find completion matches. When
98129825 this value is specified, wildcard expansion will not
@@ -9824,6 +9837,9 @@ A jump table for the options with a short description can be found at |Q_op|.
98249837 d #define
98259838 f function
98269839
9840+ This option does not apply to | ins-completion | . See 'completeopt' for
9841+ that.
9842+
98279843 *'winaltkeys'* *'wak'*
98289844'winaltkeys' 'wak' string (default "menu")
98299845 global
0 commit comments