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 tabstop
和 shiftwidth
价值观。
我还建议您使用相同的值 tabstop
和 shiftwidth
. 使用不同的值可能会弄乱您的缩进。
这是 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 的这个程序。