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
2
2
3
3
4
4
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|.
2043
2043
'smartcase' + off no automatic ignore case switch
2044
2044
'smartindent' + off no smart indentation
2045
2045
'smarttab' + off no smart tab size
2046
- 'softtabstop' + 0 tabs are always 'tabstop' positions
2046
+ 'softtabstop' + 0 no soft tab stops
2047
2047
'startofline' + on goto startofline with some commands
2048
2048
'tagcase' & "followic" 'ignorecase' when searching tags file
2049
2049
'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|.
2249
2249
completion in the preview window. Only works in
2250
2250
combination with "menu" or "menuone".
2251
2251
2252
+ This option does not apply to | cmdline-completion | . See 'wildoptions'
2253
+ for that.
2254
+
2252
2255
*'completepopup'* *'cpp'*
2253
2256
'completepopup' 'cpp' string (default empty)
2254
2257
global
@@ -7803,11 +7806,13 @@ A jump table for the options with a short description can be found at |Q_op|.
7803
7806
global
7804
7807
When enabled, the <Tab> key will indent by 'shiftwidth' if the cursor
7805
7808
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' .
7807
7811
This option is reset when 'compatible' is set; it is temporarily
7808
7812
disabled when 'paste' is enabled, and restored when 'paste' is turned
7809
7813
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
7811
7816
explanations on how Vim works with tabs and spaces.
7812
7817
7813
7818
*'smoothscroll'* *'sms'* *'nosmoothscroll'* *'nosms'*
@@ -7824,21 +7829,24 @@ A jump table for the options with a short description can be found at |Q_op|.
7824
7829
*'softtabstop'* *'sts'*
7825
7830
'softtabstop' 'sts' number (default 0)
7826
7831
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.
7842
7850
7843
7851
If Vim is compiled with the | +vartabs | feature then the value of
7844
7852
'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|.
9282
9290
local to buffer
9283
9291
{only available when compiled with the | +vartabs |
9284
9292
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.
9290
9296
9291
9297
For example, when editing assembly language files where statements
9292
9298
start in the 9th column and comments in the 41st, it may be useful
9293
9299
to use the following: >
9294
9300
: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.
9297
9303
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.
9300
9307
9301
9308
*'vartabstop'* *'vts'*
9302
9309
'vartabstop' 'vts' string (default "")
9303
9310
local to buffer
9304
9311
{only available when compiled with the | +vartabs |
9305
9312
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.
9312
9321
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.
9315
9327
9316
9328
*'verbose'* *'vbs'*
9317
9329
'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|.
9807
9819
'wildoptions' 'wop' string (default "")
9808
9820
global
9809
9821
A list of words that change how | cmdline-completion | is done.
9822
+
9810
9823
The following values are supported:
9811
9824
fuzzy Use | fuzzy-matching | to find completion matches. When
9812
9825
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|.
9824
9837
d #define
9825
9838
f function
9826
9839
9840
+ This option does not apply to | ins-completion | . See 'completeopt' for
9841
+ that.
9842
+
9827
9843
*'winaltkeys'* *'wak'*
9828
9844
'winaltkeys' 'wak' string (default "menu")
9829
9845
global
0 commit comments