如何更改vim显示硬制表符的方式?

3
你该如何让vim将制表符显示为4个空格? 我尝试了set listset listchars,但是这只改变了表示制表符的8个字符。我想保留制表符,但是让它们占用4个空格而不是8个。这可能吗?
2个回答

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.

2

制表符的宽度由'tabstop'选项决定:

:set tabstop=4

请注意,将此设置从默认值8更改可能会影响其他程序显示文件,因此不建议这样做。在这种情况下,最好通过:set expandtab插入文字空格字符。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接