我在使用Eclipse和java时有点被宠坏了。我开始在linux环境中使用vim进行C编码,有没有一种方法可以让vim自动为块设置合适的间距?
因此,在键入{后,下一行将缩进2个空格,该行上的回车将保持相同的缩进,而a}将后移2个空格?
发布于 2008-09-18 22:41:17
这两个命令应该可以做到这一点:
:set autoindent
:set cindent
要获得奖励积分,请将其放入名为.vimrc的文件中,该文件位于linux上的主目录中。
发布于 2008-09-18 22:47:33
I wrote all about tabs in vim,它给出了一些你没有问到的有趣的事情。要自动缩进大括号,请使用:
:set cindent
要缩进两个空格(而不是vim默认的八个空格中的一个制表符):
:set shiftwidth=2
要防止vim将八个空格转换为制表符:
:set expandtab
如果您想要更改文本块的缩进,请使用<和>。我通常将其与块选择模式(v,选择一个文本块,<或>)结合使用。
(我试图说服您不要使用两个空格的缩进,因为我(和大多数其他人)发现它很难读懂,但这是另一种讨论。)
发布于 2008-09-19 00:35:04
默认情况下,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
。
https://stackoverflow.com/questions/97694
复制相似问题