使用Eclipse和Java令我有些受宠若惊。我开始在Linux环境中使用vim进行C编码,有没有办法让vim自动为块做适当的间距?
因此,在输入{之后,下一行将缩进2个空格,而在该行上返回则将其缩进相同,而}将后退2个空格?
Answers:
这两个命令应该做到这一点:
:set autoindent
:set cindent
对于奖励积分,请将其放入Linux上主目录中的名为.vimrc的文件中
我在vim中编写了有关选项卡的所有内容,其中提供了一些您没有问过的有趣的事情。要自动缩进括号,请使用:
:set cindent
要缩进两个空格(而不是八个空格的一个制表符,vim默认):
:set shiftwidth=2
要防止vim将8个空格转换为制表符,请执行以下操作:
:set expandtab
如果要更改一段文本的缩进,请使用<和>。我通常将此功能与块选择模式结合使用(v,选择一个文本块,<或>)。
(由于我(和大多数其他人)觉得很难阅读,所以我会尽量避免使用二维空格缩进,但这是另一种讨论。)
vim的许多功能(例如autoindent
和cindent
)默认情况下处于关闭状态。要真正了解vim可以为您做什么,您需要一个体面的人~/.vimrc
。
一个不错的开端$VIMRUNTIME/vimrc_example.vim
。如果您想尝试一下,请使用
:source $VIMRUNTIME/vimrc_example.vim
在vim中。
实际上,我建议您仅将内容复制到您~/.vimrc
的评论中,这是开始学习如何使用vim的好地方。你可以这样做
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc
这将覆盖您的当前设置~/.vimrc
,但是如果您拥有的所有功能都是Davr建议的缩进设置,那么我不会费力,因为示例vimrc也会为您解决这一问题。有关示例的完整演练及其对您的作用,请参见:help vimrc-intro
。
user@host:~ $ echo set autoindent >> .vimrc
我认为最好的答案实际上是在vim wikia上解释的:
http://vim.wikia.com/wiki/Indenting_source_code
请注意,建议不要使用“设置自动缩进”。我在此说明中发现的所有功能中,最好的功能是能够设置每个文件的设置,例如,如果您使用python和C ++编程,则该功能特别有用,因为您希望在前一个制表符中有4个空格,而在制表符中则需要2个空格后者中的空格。
并始终记住对空格+制表符的古老解释:
尝试:
设置sw = 2
设置ts = 2
设置smartindent