Vim:将连续线与空格对齐

时间:2013-03-31 11:42:54

标签: c++ coding-style vi vim

除了特定的情况,我想用vim缩进vim中的所有内容。例如,我有这个c ++代码(其中<tab>是制表符系列,<s>是空格字符系列):

<tab>if(true &&
<tab><s>true)
<tab>{
<tab><tab>//code here
<tab>}

我想写'&amp;&amp;'后然后按'o'跳到下一行并开始写入以使vim放置一个制表符和空格数,直到'('从前一行开始。

是否可以在vim中定义这种编码风格?

谢谢!

2 个答案:

答案 0 :(得分:3)

我认为您要找的是(N的{​​{1}}选项。试试cinoptions。根据文档,这看起来像你寻求的对齐。

使用帮助命令可以找到更多信息:set cinoptions+=(0或查看help for cinoptions-values的在线版本。

就标签而言,您需要使用:help cinoptions-values禁用expandtab,并且您需要确保相应地设置了tabstops,soft tabstops和shiftwidth。例如,Linux源代码使用了上面提到的样式,我在我的vimrc中有这个:

:set noexpandtab

答案 1 :(得分:0)

在.vimrc中添加以下内容

set tabstop=2
set expandtab
set shiftwidth=2
set smarttab
set linebreak
set smartindent
set cindent
set autoindent

这就是你需要在vim中推出令人敬畏的功能。 :)