首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在vim中用C自动缩进空格?

在vim中用C自动缩进空格?
EN

Stack Overflow用户
提问于 2008-09-18 22:36:58
回答 7查看 126.6K关注 0票数 87

我在使用Eclipse和java时有点被宠坏了。我开始在linux环境中使用vim进行C编码,有没有一种方法可以让vim自动为块设置合适的间距?

因此,在键入{后,下一行将缩进2个空格,该行上的回车将保持相同的缩进,而a}将后移2个空格?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-09-18 22:41:17

这两个命令应该可以做到这一点:

代码语言:javascript
复制
:set autoindent
:set cindent

要获得奖励积分,请将其放入名为.vimrc的文件中,该文件位于linux上的主目录中。

票数 137
EN

Stack Overflow用户

发布于 2008-09-18 22:47:33

I wrote all about tabs in vim,它给出了一些你没有问到的有趣的事情。要自动缩进大括号,请使用:

代码语言:javascript
复制
:set cindent

要缩进两个空格(而不是vim默认的八个空格中的一个制表符):

代码语言:javascript
复制
:set shiftwidth=2

要防止vim将八个空格转换为制表符:

代码语言:javascript
复制
:set expandtab

如果您想要更改文本块的缩进,请使用<和>。我通常将其与块选择模式(v,选择一个文本块,<或>)结合使用。

(我试图说服您不要使用两个空格的缩进,因为我(和大多数其他人)发现它很难读懂,但这是另一种讨论。)

票数 57
EN

Stack Overflow用户

发布于 2008-09-19 00:35:04

默认情况下,vim的许多功能(如autoindentcindent)都是关闭的。要真正了解vim能为您做些什么,您需要一个像样的~/.vimrc

一个很好的开始是在$VIMRUNTIME/vimrc_example.vim中。如果您想尝试一下,可以使用

代码语言:javascript
复制
:source $VIMRUNTIME/vimrc_example.vim

在vim中。

实际上,我建议把内容复制到你的~/.vimrc上,因为它有很好的注释,这是一个开始学习如何使用vim的好地方。您可以通过以下方式完成此操作

代码语言:javascript
复制
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc

这将覆盖您当前的~/.vimrc,但是如果您所拥有的都是Davr建议的缩进设置,我不会为此担心,因为示例vimrc也会为您解决这个问题。有关示例的完整演练以及它为您做了什么,请参见:help vimrc-intro

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/97694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档