在Vim中使用C自动缩进空格?

时间:2020-03-06 14:23:53  来源:igfitidea点击:

使用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