如何将vim显示标签设为4个空格?
我尝试使用set list
和set listchars
进行游戏,但这只会更改代表该标签的8个字符。我想保留标签,但是它们需要4个空格而不是8个。这可能吗?
答案 0 :(得分:5)
:h 'ts'
你会看到:
'tabstop' 'ts' number (default 8)
local to buffer
Number of spaces that a <Tab> in the file counts for. Also see
|:retab| command, and 'softtabstop' option.
Note: Setting 'tabstop' to any other value than 8 can make your file
appear wrong in many places (e.g., when printing it).
There are four main ways to use tabs in Vim:
1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
(or 3 or whatever you prefer) and use 'noexpandtab'. Then Vim
will use a mix of tabs and spaces, but typing <Tab> and <BS> will
behave like a tab appears every 4 (or 3) characters.
2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed.
3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
|modeline| to set these values when editing the file again. Only
works when using Vim to edit the file.
4. Always set 'tabstop' and 'shiftwidth' to the same value, and
'noexpandtab'. This should then work (for initial indents only)
for any tabstop setting that people use. It might be nice to have
tabs after the first non-blank inserted as spaces if you do this
though. Otherwise aligned comments will be wrong when 'tabstop' is
changed.
答案 1 :(得分:2)
Tab字符的宽度由'tabstop'
选项确定:
:set tabstop=4
请注意,将此值从默认值8更改可能会影响其他程序显示文件的方式,因此不鼓励使用。在这种情况下,更好地插入文字空格字符(通过:set expandtab
)。