将选项卡重新定义为4个空格

我目前的设置假设有8个空格; 我怎么能重新定义它?


这取决于你的意思。 你想让你的文件中的实际制表符出现4个空格宽,或者通过“制表符”实际上是否意味着一个缩进,通过按Tab键生成,这将导致文件字面上包含(最多)4个空格字符每个“标签”你键入?

根据您的回答,下列其中一组设置应该适合您:

  • 对于出现4个空格宽度的制表符

    set tabstop=4
    

    如果您在源代码中使用实际的制表符,您可能还需要这些设置(这些实际上是默认设置,但您可能需要进行防御设置):

    set softtabstop=0 noexpandtab
    

    最后,如果你想要一个缩进来对应一个标签,你还应该使用:

    set shiftwidth=4
    
  • 对于包含4个空格字符但用Tab键输入的缩进

    set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
    
  • 要使上述设置永久添加到您的vimrc这些行。

    如果您需要进行调整,或者只是想了解这些选项都意味着什么,下面是每个选项意义的细分:

    tabstop

    在“空格”中测量的硬tabstop的宽度 - 实际上是实际制表符的(最大)宽度。

    shiftwidth

    “缩进”的大小。 这也是一个在空间测量,因此,如果用制表符代码库缩进那么你要shiftwidth等于制表符的次数tabstop 。 这也被诸如=><命令使用。

    softtabstop

    将它设置为除tabstop以外的非零值将使Tab键(在插入模式下)插入空格组合(可能是制表符)以模拟此宽度处的制表位。

    expandtab

    启用此选项将使Tab键(在插入模式下)插入空格而不是制表符。 这也会影响retab命令的行为。

    smarttab

    启用此选项将使Tab键(在插入模式下)插入空格或制表符,以便当光标位于行的开头(即,只有前面的字符为空白)时,转到下一个制表符的下一个缩进处。

    有关任何这些内容的更多详细信息,请参阅:help 'optionname' vim中:help 'optionname' (例如:help 'tabstop'


    要为当前用户永久定义此.vimrc ,请创建(或编辑) .vimrc文件:

    $ vim ~/.vimrc
    

    然后,将以下配置粘贴到文件中。 一旦vim重新启动,标签设置将被应用。

    set tabstop=4       " The width of a TAB is set to 4.
                        " Still it is a t. It is just that
                        " Vim will interpret it to be having
                        " a width of 4.
    
    set shiftwidth=4    " Indents will have a width of 4
    
    set softtabstop=4   " Sets the number of columns for a TAB
    
    set expandtab       " Expand TABs to spaces
    

    或vim modeline的简写:

    vim :set ts=4 sw=4 sts=4 et :
    
    链接地址: http://www.djcxy.com/p/28641.html

    上一篇: Redefine tab as 4 spaces

    下一篇: Make Vim show ALL white spaces as a character