vim-patch:91af4c4: runtime(doc): improve the wording of 'sts', 'varts' and 'varsts' values (#34480)

closes: vim/vim#17522

91af4c4180

Co-authored-by: Damien Lejay <damien@lejay.be>
Co-authored-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
zeertzjq
2025-06-13 08:53:48 +08:00
committed by GitHub
parent 82d0883c2d
commit 90b682891d
4 changed files with 120 additions and 91 deletions

View File

@@ -6199,18 +6199,24 @@ vim.o.sms = vim.o.smoothscroll
vim.wo.smoothscroll = vim.o.smoothscroll
vim.wo.sms = vim.wo.smoothscroll
--- Number of spaces that a <Tab> counts for while performing editing
--- operations, like inserting a <Tab> or using <BS>. It "feels" like
--- <Tab>s are being inserted, while in fact a mix of spaces and <Tab>s is
--- used. This is useful to keep the 'ts' setting at its standard value
--- of 8, while being able to edit like it is set to 'sts'. However,
--- commands like "x" still work on the actual characters.
--- When 'sts' is zero, this feature is off.
--- When 'sts' is negative, the value of 'shiftwidth' is used.
--- See also `ins-expandtab`. When 'expandtab' is not set, the number of
--- spaces is minimized by using <Tab>s.
--- The 'L' flag in 'cpoptions' changes how tabs are used when 'list' is
--- set.
--- Create soft tab stops, separated by 'softtabstop' number of columns.
--- In Insert mode, pressing the <Tab> key will move the cursor to the
--- next soft tab stop, instead of inserting a literal tab. <BS> behaves
--- similarly in reverse. Vim inserts a minimal mix of tab and space
--- characters to produce the visual effect.
---
--- This setting does not affect the display of existing tab characters.
---
--- A value of 0 disables this behaviour. A negative value makes Vim use
--- 'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with
--- different values, you might consider setting 'smarttab'.
---
--- 'softtabstop' is temporarily set to 0 when 'paste' is on and reset
--- when it is turned off. It is also reset when 'compatible' is set.
---
--- The 'L' flag in 'cpoptions' alters tab behavior when 'list' is
--- enabled. See also `ins-expandtab` ans user manual section `30.5` for
--- in-depth explanations.
---
--- The value of 'softtabstop' will be ignored if `'varsofttabstop'` is set
--- to anything other than an empty string.
@@ -7491,11 +7497,9 @@ vim.o.ut = vim.o.updatetime
vim.go.updatetime = vim.o.updatetime
vim.go.ut = vim.go.updatetime
--- A list of the number of spaces that a <Tab> counts for while editing,
--- such as inserting a <Tab> or using <BS>. It "feels" like variable-
--- width <Tab>s are being inserted, while in fact a mixture of spaces
--- and <Tab>s is used. Tab widths are separated with commas, with the
--- final value applying to all subsequent tabs.
--- Defines variable-width soft tab stops. The value is a comma-separated
--- list of widths in columns. Each width defines the number of columns
--- before the next soft tab stop. The last value repeats indefinitely.
---
--- For example, when editing assembly language files where statements
--- start in the 9th column and comments in the 41st, it may be useful
@@ -7504,11 +7508,12 @@ vim.go.ut = vim.go.updatetime
--- ```vim
--- set varsofttabstop=8,32,8
--- ```
--- This will set soft tabstops with 8 and 8 + 32 spaces, and 8 more
--- for every column thereafter.
--- This sets soft tab stops at column 8, then at column 40 (8 + 32), and
--- every 8 columns thereafter.
---
--- Note that the value of `'softtabstop'` will be ignored while
--- 'varsofttabstop' is set.
--- Note: this setting overrides 'softtabstop'.
--- See section `30.5` of the user manual for detailed explanations on how
--- Vim works with tabs and spaces.
---
--- @type string
vim.o.varsofttabstop = ""
@@ -7516,18 +7521,22 @@ vim.o.vsts = vim.o.varsofttabstop
vim.bo.varsofttabstop = vim.o.varsofttabstop
vim.bo.vsts = vim.bo.varsofttabstop
--- A list of the number of spaces that a <Tab> in the file counts for,
--- separated by commas. Each value corresponds to one tab, with the
--- final value applying to all subsequent tabs. For example:
--- Defines variable-width tab stops. The value is a comma-separated list
--- of widths in columns. Each width defines the number of columns
--- before the next tab stop; the last value repeats indefinitely.
---
--- ```vim
--- set vartabstop=4,20,10,8
--- For example:
--- ```
--- This will make the first tab 4 spaces wide, the second 20 spaces,
--- the third 10 spaces, and all following tabs 8 spaces.
--- :set vartabstop=4,8
--- ```
--- This places the first tab stop 4 columns from the start of the line
--- and each subsequent tab stop 8 columns apart.
---
--- Note that the value of `'tabstop'` will be ignored while 'vartabstop'
--- is set.
--- Note: this setting overrides 'tabstop'.
--- On UNIX, it is recommended to keep the default tabstop value of 8.
--- Consider setting 'varsofttabstop' instead.
--- See section `30.5` of the user manual for detailed explanations on how
--- Vim works with tabs and spaces.
---
--- @type string
vim.o.vartabstop = ""