gpt4 book ai didi

vim - 将制表符重新定义为 4 个空格

转载 作者:行者123 更新时间:2023-12-03 03:51:47 25 4
gpt4 key购买 nike

我当前的设置假设 8 个空格;我该如何重新定义它?

最佳答案

这取决于你的意思。您的意思是:

  • 您希望文件中的制表符显示为 4 个字符单元格宽度吗?
  • 您希望使用 tab 键生成由 4 个空格字符组成的缩进

根据您需要的行为,以下一组设置应该有效:

如果您希望文件中的制表符显示为 4 个字符单元格宽度:

set tabstop=4

如果您的代码需要使用实际的制表符,这些设置可以防止无意中插入空格(这些是默认设置,但您可能需要防御性地设置它们):

set softtabstop=0 noexpandtab

如果您还想使用制表符缩进,还应该设置shiftwidthtabstop 相同:

set shiftwidth=4

要使这些设置永久生效,请将它们添加到您的 vimrc 中.

如果您想按 tab 键缩进 4 个空格字符:

首先,告诉 vim 使用 4 个空格缩进,并智能地使用 tab 键进行缩进,而不是插入制表符(在行首时):

set shiftwidth=4 smarttab

如果您还希望 vim 仅使用空格字符,而不使用制表符:

set expandtab

最后,我还建议将制表位设置为与缩进宽度不同,以减少制表符伪装成正确缩进的机会:

set tabstop=8 softtabstop=0

要使这些设置永久生效,请将它们添加到您的 vimrc 中.

更多详细信息

如果您需要进行调整,或者只是想了解这些选项的全部含义,以下是每个选项含义的详细说明:

tabstop

The width of a hard tabstop measured in "spaces" -- effectively the (maximum) width of an actual tab character.

shiftwidth

The size of an "indent". It's also measured in spaces, so if your code base indents with tab characters then you want shiftwidth to equal the number of tab characters times tabstop. This is also used by things like the =, > and < commands.

softtabstop

Setting this to a non-zero value other than tabstop will make the tab key (in insert mode)insert a combination of spaces (and possibly tabs) to simulate tab stops at this width.

expandtab

Enabling this will make the tab key (in insert mode) insert spaces instead oftab characters. This also affects the behavior of the retab command.

smarttab

Enabling this will make the tab key (in insert mode) insert spaces or tabs togo to the next indentof the next tabstop when the cursor is at the beginning of a line (i.e. theonly preceding characters are whitespace).

有关这些内容的更多详细信息,请参阅 :help '<em>optionname</em>'在 vim 中(例如 :help 'tabstop' )

关于vim - 将制表符重新定义为 4 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1878974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com