在vim自动缩进空格与C?
我已经有点被宠坏了使用Eclipse和Java。 我开始使用vim在linux环境下进行C编码,有没有办法让vim自动为块做适当的间距?
所以input一个{下一行将有2个空格缩进,并在该行的返回将保持在相同的缩进,一个}将移回2个空格?
这两个命令应该这样做:
:set autoindent :set cindent
对于奖励点,把它们放在一个名为.vimrc的文件位于你的Linux主目录
我写了所有有关vim的标签 ,这些标签给出了一些你没有问的有趣的东西。 要自动缩进大括号,请使用:
:set cindent
要缩进两个空格(而不是八个空格中的一个制表符,vim默认):
:set shiftwidth=2
为了防止vim将八个空格转换为制表符:
:set expandtab
如果您想要更改文本块的缩进,请使用<和>。 我通常将这个与块select模式结合使用(v,select一个文本块,<或>)。
(我试图用两个空格的缩进来说服你,因为我(和大多数其他人)觉得很难阅读,但这是另一个讨论。)
很多vim的function(如autoindent
和cindent
)默认closures。 要真正看到vim能为你做什么,你需要一个体面的~/.vimrc
。
一个好的入门者是$VIMRUNTIME/vimrc_example.vim
。 如果你想尝试一下,请使用
:source $VIMRUNTIME/vimrc_example.vim
当在vim。
我实际上build议把内容复制到你的~/.vimrc
因为它很好的评论,并且开始学习如何使用vim。 你可以这样做
:e $VIMRUNTIME/vimrc_example.vim :w! ~/.vimrc
这会覆盖你目前的~/.vimrc
,但是如果你在里面有Davrbuild议的缩进设置,那么我就不会冒汗,因为vimrc的例子也会帮你处理。 有关示例的完整演练,以及它为您做了什么,请参阅:help vimrc-intro
。
只需运行:
user@host:~ $ echo set autoindent >> .vimrc
我认为最好的答案实际上是在vim维基上解释的:
http://vim.wikia.com/wiki/Indenting_source_code
请注意,build议不要使用“set autoindent”。 所有我在这个解释中find的最好的特性是能够设置每个文件的设置,如果你用python和C ++进行编程,这是非常有用的,例如,你需要4个空格的标签在前者和2后者的空间。
并永远记住空间+标签的这个古老的解释:
尝试:
设置sw = 2
设置ts = 2
设置smartindent