-*insert.txt* For Vim version 9.1. Last change: 2025 Jun 02
+*insert.txt* For Vim version 9.1. Last change: 2025 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar
mode: hit "v", move to the end of the block, and type "gq". See also |gq|.
==============================================================================
-4. 'expandtab', 'smarttab' and 'softtabstop' options *ins-expandtab*
+4. 'expandtab', 'softtabstop' and 'smarttab' options *ins-expandtab*
If the 'expandtab' option is on, spaces will be used to fill the amount of
whitespace of the tab. If you want to enter a real <Tab>, type CTRL-V first
space at a time. The original character will be put back for only one space
that you backspace over (the last one).
- *ins-smarttab*
-When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
-the beginning of a line and 'tabstop' positions in other places. This means
-that often spaces instead of a <Tab> character are inserted. When 'smarttab'
-is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
-used for ">>" and the like.
-
*ins-softtabstop*
When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
positions, and a <BS> used to delete white space, will delete 'softtabstop'
cursor. You will have to delete 'softtabstop' characters first, and then type
extra spaces to get where you want to be.
+ *ins-smarttab*
+When the 'smarttab' option is on, the <Tab> key indents by 'shiftwidth' if the
+cursor is in leading whitespace. The <BS> key has the opposite effect. This
+behaves as if 'softtabstop' were set to the value of 'shiftwidth'. This option
+allows the user to set 'softtabstop' to a value other than 'shiftwidth' and
+still use the <Tab> key for indentation.
+
==============================================================================
5. Replace mode *Replace* *Replace-mode* *mode-replace*
-*options.txt* For Vim version 9.1. Last change: 2025 Jun 02
+*options.txt* For Vim version 9.1. Last change: 2025 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar
*'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
'smarttab' 'sta' boolean (default off)
global
- When on, a <Tab> in front of a line inserts blanks according to
- 'shiftwidth'. 'tabstop' or 'softtabstop' is used in other places. A
- <BS> will delete a 'shiftwidth' worth of space at the start of the
- line.
- When off, a <Tab> always inserts blanks according to 'tabstop' or
- 'softtabstop'. 'shiftwidth' is only used for shifting text left or
- right |shift-left-right|.
- What gets inserted (a <Tab> or spaces) depends on the 'expandtab'
- option. Also see |ins-expandtab|. When 'expandtab' is not set, the
- number of spaces is minimized by using <Tab>s.
- This option is reset when 'paste' is set and restored when 'paste' is
- reset.
- NOTE: This option is reset when 'compatible' is set.
+ When enabled, the <Tab> key will indent by 'shiftwidth' if the cursor
+ is in leading whitespace. The <BS> key has the opposite effect.
+ This behaves as if 'softtabstop' is set to the value of 'shiftwidth'.
+ This option is reset when 'compatible' is set; it is temporarily
+ disabled when 'paste' is enabled, and restored when 'paste' is turned
+ off.
+ Have a look at section |30.5| of the user guide for detailed
+ explanations on how Vim works with tabs and spaces.
*'smoothscroll'* *'sms'* *'nosmoothscroll'* *'nosms'*
'smoothscroll' 'sms' boolean (default off)
-*quickref.txt* For Vim version 9.1. Last change: 2025 Apr 06
+*quickref.txt* For Vim version 9.1. Last change: 2025 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar
'signcolumn' 'scl' when to display the sign column
'smartcase' 'scs' no ignore case when pattern has uppercase
'smartindent' 'si' smart autoindenting for C programs
-'smarttab' 'sta' use 'shiftwidth' when inserting <Tab>
+'smarttab' 'sta' <Tab> in leading whitespace indents by 'shiftwidth'
'smoothscroll' 'sms' scroll by screen lines when 'wrap' is set
'softtabstop' 'sts' number of spaces that <Tab> uses while editing
'spell' enable spell checking