2011-03-17 29 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