2011-03-17 48 views
1

我目前正在与一位同事合作项目,我们都使用Vim进行编码。 但是我注意到我的代码没有像他那样对齐,这导致他的部分额外工作重新缩进代码。我的选项卡空间没有正确对齐 - VIM

所以我打开:设置列表以查看标记为(^ I)的标签空间和标有$的行尾的差异。

由于某些原因,当我键入(:list)模式时,我的文本不会缩进,甚至不会显示标签标记(^ I)的痕迹,类似于他的代码。为什么是这样?

这里是我的意思的例子:

^I^I$this->greeting('Hello world');$ 

虽然我的代码会出现这样在同一个文件:

 $this->reply('Hello you');$ 

通知不平空间?

这是我的vimrc设置:

set expandtab 
set softtabstop = 4 
set tabstop = 4 
set shiftwidth = 4 

我希望我在正确的轨道上,有可能是我还没有考虑其他一些问题。请分享你的知识。

真诚, 为什么这类型的选项卡

回答

1

set expandtab手段成为空间。这很好,只要你们同意一个标签是什么;很有可能他们使用的是Unix(并且,我认为是出于历史原因,vim),默认set tabstop=8

+0

你好! ...我认为我们有一个规则,标签应该包含4个空格。但是让我感到奇怪的是,或者可能因为我没有使用过VIM这么久,我的代码并没有在选项卡标记(I ^)前面加入:set list模式。 – why 2011-03-17 08:47:16

+0

因为启用'set expandtab',您的代码不包含制表符;它包含您键入的选项卡的扩展。没有'set expandtab',就会有实际的tab('^ I')字符。 – geekosaur 2011-03-17 08:49:27

+0

@why:因为*你*没有标签,但空格? – eckes 2011-03-17 08:49:34