vim如何将制表符改为空格?

发表时间: 2022-09-24

有几种方法可以做到这一点。最简单的方法是使用 :set tabstop=4 命令行选项。这会将文档中的所有选项卡更改为空格。另一种方法是使用 :tabedit 命令行选项。这将打开一个选项卡编辑窗口,您可以在其中输入要将每个选项卡转换为的空格数。最后,您可以使用 :set shiftwidth=4 命令行选项将文档中的所有选项卡更改为四个空格宽。这些只是几个例子;如果您需要,还有更多可用选项。所有这些方法都适用于文本和代码文件。

如何让 vim 使用空格而不是制表符?

有几种方法可以做到这一点。一种方法是使用 :set tabstop=4 命令行选项。这会将制表位设置为 4 个空格,这将导致 vim 在您将文本插入文档时使用四个空格而不是制表符。另一种方法是使用自动缩进插件。该插件会根据周围的行自动缩进文本,因此如果您将 .vimrc 文件中的 autoindent 变量设置为 1,当您将文本插入文档时,vim 将为每个制表符使用一个空格。最后,您还可以配置 Vim 的键盘快捷键,以便它们的工作方式不同,具体取决于您使用的是制表符还是空格。例如,可以配置 CTRL-T 快捷方式,以便在 Vim 编辑器模式内(即编辑文件时)使用时插入制表符而不是空格。如果这些方法都不适合您,或者您只是想要一种在制表符和空格之间切换而无需记住任何特定命令或击键的更简单方法,然后您可以安装 vim-tabs 扩展。此扩展提供了许多与在 Vim 编辑器模式下切换制表符和空格相关的便利功能,包括自动缩进功能和对多种语言的支持。

在vim中将制表符转换为空格的最佳方法是什么?

有几种方法可以做到这一点,但最简单的是使用 :set tabstop=4 命令。这会将制表位设置为 4 个空格,这会将文件中的所有制表符转换为空格。如果您只想将文件的某些部分转换为空格,可以使用 :setlocal tabstop=n 命令。这会将与给定模式匹配的行的制表位设置为 n 个空格,这只会影响那些行。例如: :setlocal tabstop=2 如果您希望文件中的所有制表符都转换为空格,无论它们在屏幕,您可以使用 :settab 选项。这将为 vim 打开的所有文件设置默认行为,并将所有制表符转换为空格。:settab 您还可以通过设置 'stty' 环境变量来更改 Vim 使用的每个制表符的空格数。例如: export STTY='utf8' 然后当 Vim 启动时,每个 Tab 将使用 8 个空格,而不是

有几种方法可以做到这一点,但

最简单的是

使用

:set tabstop=4 命令。这将设置您的制表位

到 4 个空格,其中

会将文件中的所有选项卡转换为空格。

如果您只想转换文件的某些部分

到空格,你可以使用

:setlocal tabstop=n 命令。这将为匹配的行设置制表位

给定的模式到 n 空间 s ,这只会影响那些行。

例如: :setlocal tabstop=2 如果你希望文件中的所有制表符都转换为空格 s ,无论它们在屏幕上的位置如何,都可以使用 :settab 选项。这将为 vim 打开的所有文件设置默认行为,并将所有选项卡转换为空格 s 。 'st ty' 环境变量。例如: export STTY='utf8' 然后当 Vim 启动时,它会使用 8 Space s per Tab 而不是

  1. : stty -T utf8 要完全禁用转换(因此每个字符都被视为自己的标记),请在 .vimrc 文件的末尾添加 ":notab"。: notab
  2. :: stty -T utf8 要完全禁用转换(因此每个字符都被视为自己的标记),请在我们的末尾添加“:notab”。

如何阻止 vim 使用制表符并改用空格?

这是一个已经被问过很多次的问题,并且有几种方法可以做到。这里有四种方法:

:set tabstop=4

让 g:TabStop = 4

:set softtabstop=4

  1. 使用 :set tabstop=4 命令行选项 在 .vimrc 文件中设置 'tabstop' 变量 使用 :set softtabstop=4 命令行选项 使用 setlocal softtabstop 命令 前两种方法使用 Vim 默认设置,而第三种方法需要您在 .vimrc 文件中添加一行。第四种方法使用 Vim 对 'softtabstop' 的本地设置。下面是如何使用每种方法的示例: 要使用 :set tabstop=4 命令行选项,请输入:
  2. 要在 .vimrc 文件中设置 'tabstop' 变量,请输入:
  3. 要使用 :set softtabstop=4 命令行选项,请输入:

有没有办法强制 vim 使用空格而不是制表符?

有一种方法可以强制 vim 使用空格而不是制表符,但它对用户不是很友好。为此,您需要在 .vimrc 文件中设置 'tabstop' 和 'softtabstop' 选项。tabstop 选项定义在每个制表符之后将插入多少个空格,而 softtabstop 选项定义将在每个非空格字符之前插入多少个空格。要设置制表符选项:

有没有办法强制 vim 使用空格而不是制表符?

有一种方法可以强制 vim 使用辅助字符而不是制表符,但它对用户不是很友好。要做到这一点,你需要在他们的文件中忍受'制表位'和'软制表位'选项。'制表位选项定义显示许多空格将在每个制表符字符之后设置,'软制表位位置定义显示许多空格将在每个非空格字符之前设置。设置'制表位选项':

  1. 打开您的 .vimrc 文件 添加以下行:set tabstop=4 保存您的更改设置 softtabstop 选项:打开您的 .vimrc 文件 添加以下行:set softtabstop=4 保存您的更改如果您使用的是 Vim 7 或更高版本,您可以还可以使用“setlocal softtabstop”命令同时设置两个选项。:如果您使用 Vim 6 或更早版本,则需要为每个设置添加单独的行。:您也可以使用这些命令之一来更改键入时自动将制表符转换为空格: autocmd BufNewFile * :setlocal shiftwidth=4 autocmd FileType c :setlocal shiftwidth=4 关闭并重新打开您的 .vimrc 文件如果您想恢复使用制表符,只需删除其中任何一行来自您的 .vimrc 文件。:如果您不想在键入时自动将制表符更改为空格,而是在必要时手动调整其宽度,那么您可以改用以下命令之一:autocmd BufNewFile * :setlocal shiftwidth= 0 autocmd FileType c :setlocal softtab stop = 0 享受吧!
  2. .打开你的'.vircfile'。

为什么我想在 vim 中将制表符变成空格?

您可能想要这样做的原因有几个。一个原因是它可以使您的编辑更有效率。当您在 vim 中打开多个选项卡时,每个选项卡都被视为其自己的单独文件。通过将制表符转换为空格,vim 会将这些制表符中的所有文本视为一个文件,这可以在编辑大文件时为您节省大量时间。

将制表符转换为空格的另一个原因是为了保持一致性。如果您的所有代码和源文件都写在制表符中,如果您开始在一行上输入单词,然后按制表键移动到下一行并最终按空格键,这可能会令人困惑。将制表符转换为空格将解决此问题,以便每个单词都在一行上。

最后,将制表符转换为空格有助于保持代码井井有条。当所有东西都在一条线上时,更容易看到所有东西放在一起的位置,并且在需要时更容易找到特定的代码片段。

vim中一个制表符代表多少个空格?

当你在 vim 中按 tab 键时,它会插入一些空格,这些空格等于 :set tabstop 选项指定的制表符数量。例如,如果您将制表位设置为 8 个空格,则按制表键将在文本中插入 8 个空格。如果您没有设置任何制表位,那么 vim 将使用在您的用户配置文件中为 'tabstop' 定义的任何值(通常

如果您想更改按下 Tab 键时插入的空格数,可以通过更改 :set tabstop 的值来实现。默认设置为 8 个空格。您还可以使用小数点指定不同数量的空格:值得注意的是,此设置仅影响制表符在 vim 中的处理方式;它对可能使用 Windows 样式回车 (r) 的其他程序(例如记事本或写字板)没有任何影响。在这些情况下,每次你在 vim 中输入一些文本之后和按 Tab 之前按 Enter 或 Return 时,Vim 都会在你的文本末尾添加一个额外的 r - 无论你是否设置了制表位!

还有一个可选的第三个参数,它允许我们在点击 TAB 时覆盖用作空格的占位符:默认情况下这是 ' ',但我们可以使用 :set tabstops= 更改它.

  1. .因此,如果您想键入一个空格而不是 Tab,只需按空格键即可。
  2. 5个半个空格,1个空格,以此类推。

我可以更改选项卡在 vim 中代表的空格字符数吗?

是的。为此,请打开 vim 配置目录 ( ~/.

在 vim 中将制表符转换为空格字符会影响我的代码缩进吗?

不,它不会。制表符只是空格后带有不同字符的空格。这就是为什么即使您将制表符转换为空格字符,您仍然可以看到它们。但是,如果您想保持代码的缩进一致,那么您应该为每一级缩进使用两个空格而不是一个制表符和一个空格。

在 vim 中将制表符转换为空格有哪些潜在问题?

  1. 制表符在文本中比空格更容易区分。
  2. 当多个选项卡组合在一起时,可能很难分辨哪个应该转换为空格,哪个应该保留为选项卡。
  3. 如果您使用某些依赖制表符的插件或脚本,将它们转换为空格可能会导致问题。
  4. 如果您有许多具有不同选项卡设置的文件,将它们全部转换为空格可能会导致整个工作站的不一致。
  5. 一些程序(例如 Sublime Text)会在你保存文件时自动将制表符转换为空格,所以如果你不希望这种情况发生,请确保你的 vim 配置不包含 "tabstop" 选项。