在 Vim 中将缩进宽度设置为 2 或 4 个空格(或制表符)

Vim 是几十年来最流行的基于终端的文本编辑器之一。

但无论你使用 Vim 多久,总会有更多你不知道的技巧和窍门。

这是关于在 Vim 中将缩进宽度设置为 2 个空格或 4 个空格。 如果您是程序员,尤其是 Python 程序员,这将特别有用。

在您的 vimrc 文件(位于 ~/.vimrc)中,添加以下行以在 Vim 中自动使用 2 个空格而不是制表符。

set autoindent expandtab tabstop=2 shiftwidth=2

不用担心。 我将详细介绍它。

设置自动缩进

想象你正在写一行代码,下一行代码需要缩进,你按下 Enter 键转到下一行,但不会自动应用缩进。

这可能很烦人。 要自动缩进行,将以下行添加到您的 ‘vimrc’。

set autoindent

一旦你把它保存在你的 ‘vimrc’ 中,无论你使用什么编程或脚本语言,它都会在你的 vim 会话中启用自动缩进。

使用空格进行缩进

如果你想使用空格来缩进你的代码,将以下行添加到你的 ‘.vimrc’ 文件中。

set expandtab
set tabstop=<NUM OF SPACES>
set shiftwidth=<NUM OF SPACES>
  • 第一行启用 expandtab Vim 中的选项。 此选项确保空格用于缩进行,即使您按下“Tab”键。
  • 第二种选择 tabstop 取一个数值。 假设我输入了 set tabstop=2,这将为行缩进插入 2 个空格。
  • 最后,第三个选项, shiftwidth 当您使用“>>”或“<<”运算符向已经存在的代码行/代码块添加或删除缩进时管理缩进。

我建议使用 2 或 4 tabstopshiftwidth 价值观。

我还建议您使用相同的值 tabstopshiftwidth. 使用不同的值可能会弄乱您的缩进。

这是 Vim 中缩进的代码:

?在极少数情况下,如果您需要使用制表符,按 ‘Tab’ 键将无法使用 expandtab 启用。 要使用制表符,请使用“Ctrl + V”组合键,然后键入制表符。

反之亦然:使用制表符进行缩进

为站在“制表符与空格”两侧的人服务,现在让我们看看如何使用制表符而不是空格来缩进。

将以下行添加到您的 ‘vimrc’ 中:

set noexpandtab
set tabstop=4
set shiftwidth=4

这 3 行中您的 vimrc 使用制表符而不是空格的唯一区别是使用 noexpandtab 代替 expandtab. 这 noexpandtab 选项防止制表符转换为空格。

结论

以上所有内容都适用于新文件。 要在 Vim 中将当前打开的文件中的制表符转换为空格,请按 Esc 键进入 Normal 模式。 现在使用 retab 通过按 ‘:’(冒号)字符来命令,Vim 会将现有的制表符转换为空格。

除了制表符与空格的战争,本教程旨在帮助您将缩进设置为您的偏好。

如果您有兴趣学习的不仅仅是 Vim 基础知识,请使用 Jovica Ilic 的这个程序。