在Vim中使用C自动缩进空格?
使用Eclipse和Java令我有些受宠若惊。我开始在Linux环境中使用vim进行C编码,有没有办法让vim自动为块做适当的间距?
因此,在输入{之后,下一行将缩进2个空格,而在该行上返回则将其缩进相同,而}将后退2个空格?
解决方案
尝试:
设置sw = 2
设置ts = 2
设置smartindent
这两个命令应该做到这一点:
:set autoindent :set cindent
对于奖励积分,请将其放入Linux上主目录中的名为.vimrc的文件中
我在vim中写了所有关于选项卡的内容,其中提供了一些我们没有问过的有趣的事情。要自动缩进括号,请使用:
:set cindent
要缩进两个空格(而不是八个空格的一个制表符,vim默认):
:set shiftwidth=2
要防止vim将8个空格转换为制表符,请执行以下操作:
:set expandtab
如果要更改文本块的缩进,请使用<和>。我通常将此功能与块选择模式结合使用(v,选择一个文本块,<或者>)。
(由于我(和其他大多数人)觉得很难阅读,所以我会尽量避免使用二维空格缩进,但这是另一种讨论。
并永远记住这个关于空格+制表符的古老解释:
http://www.jwz.org/doc/tabs-vs-spaces.html
默认情况下,许多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