处理Vim中的代码缩进?

时间:2010-10-07 14:45:01

标签: vim indentation macvim

我在一个由4人组成的工程团队工作,主要是编写javascript,偶尔也会涉足ruby和python。因此,作为一个团队,我们一直在共享代码,而且正如大多数程序员所做的那样,团队中的每个成员都有他最喜欢的缩进级别&相关设置。我是团队的两名成员之一,他们使用并喜欢Vim作为我的主要代码编辑器。我喜欢我的团队,但我也喜欢我的缩进,这恰好使用了4个空格的制表符。有关更多上下文,这是我在.vimrc中使用的内容:

set ts = 4 sts = 4 sw = 4 expandtab " 4 space tabs

随着团队中进行如此多的代码共享和协作编辑,主代码文件通常开始显示为大量混合选项卡&空间混乱,所以即使是经典的Vim选择全部并按=智能缩进的技巧也没有多大效果。

无论如何,我的问题是:在Vim(特别是MacVim)是否有更好的(更可靠的)方法将代码文件从凌乱的混合缩进转换为我喜欢的缩进?无论是.vimrc设置还是我在编辑文件时输入的命令,我都不在乎。

提前感谢您的任何建议!

2 个答案:

答案 0 :(得分:11)

使用:retab

话虽如此,我强烈建议您作为一个团队,在某个项目上合作时,同意并使用缩进方式。

答案 1 :(得分:1)

我们在同一家商店使用javascript和ruby的情况相同。

autocmd FileType * set tabstop=4|set shiftwidth=4
autocmd FileType ruby set tabstop=2|set shiftwidth=2
set expandtab

我觉得我喜欢javascript的4个空格,但只有两个空格,ruby看起来好多了。

我同意Yaser,你需要设置标准(空格FTW)

一旦你决定摆脱所有标签字符,使用grep查找文件:retab

grep -P '\t' * -R -c