2012-01-17 36 views
10

我使用vim。具體而言,我使用Janus。我有expandtab設置。但是,在使用vim的過程中,出於某種原因,我的expandtab設置被設置爲noexpandtab,並且我的文件開始變得很難看。我曾嘗試輸入:verbose set expandtab?,但這並不顯示任何內容(具體來說,它顯示我已設置了noexpandtab,但它沒有顯示負責設置它的文件)。我該如何找出爲什麼vim不斷更改我的expandtab設置

所以我想了解一下:

  • 爲什麼我expandtab設置可能會改變
  • 我如何追查元兇,並防止它發生

感謝

+0

你的:動詞集expandtab是什麼?顯示? – Rook 2012-01-17 23:52:26

+0

它只是出現'noexpandtab',即沒有路徑到它被設置的文件。 – jonleighton 2012-01-18 00:07:12

+0

重置你的gvim,然後再試一次,第一件事::verb set expandtab? (不要忘記問號)。 – Rook 2012-01-18 00:30:39

回答

8

試試這個

:verb set expandtab? 
:verb set et? 
:verb set invexpandtab? 

expandtab真的可以通過多種方式來設置:/

+0

謝謝,我會試試。我沒有意識到運行這些不同的命令可能會產生不同的答案。另外,'invexpandtab'是做什麼的?我在google上找不到。 – jonleighton 2012-01-18 00:05:36

+0

@jonleighton - 就像任何其他invcommand一樣,它打開/關閉狀態。設置invnumber,設置invexpandtab,設置inv ...幫助invnumber。 – Rook 2012-01-18 00:29:17

+1

好的,我已經追蹤到[align插件](https://github.com/tsaleh/vim-align/blob/master/autoload/Align.vim#L484)。 ':verb set expandtab?'給我看 - 我想我可能在過去嘗試過時忘記了問號。 – jonleighton 2012-01-18 13:45:50

2

VIM設置既可以在配置文件中設置,也可以在正在編輯的文件內的模式行中設置。請注意,expandtab可以在VIM中縮短爲et,因此請務必查找。

可能的配置文件,我會尋找:

  1. /etc/vim/vimrc和其他文件在該目錄(有時vimrc.local和這樣)
  2. $HOME/.vimrc

至於模式行,它們僅僅是配置VIM的選項,位於文件本身的註釋中。如果這只是一些文件,而不是其他情況,尋找那些看起來像評論:

/* vim: set noet ai tw=75: */ 

並嘗試刪除它們,看看是否有幫助。

+0

謝謝。抹灰並沒有太多變化。當我下次設法重現問題並且看看這是否解釋了什麼時,我會嘗試ldigas。 – jonleighton 2012-01-18 00:06:39

5

我要補充的是,除了上面的,如果你嘗試了以下內容:

:verb set expandtab? 
:verb set et? 
:verb set invexpandtab? 

而你回來沒有行號或文件:

noexpandtab 

這很可能是您有以下需要更改順序的更多:

set expandtab 

set binary 
set noeol 

更改爲(注意順序)

set binary 
set noeol 

set expandtab 

這樣做的原因是由於set binary命令它運行後會執行一些默認設置。包括以下內容:

'textwidth' will be set to 0 
'wrapmargin' will be set to 0 
'modeline' will be off 
'expandtab' will be off 

我注意到DavidWinterbottom在他的評論中叫出來,但是這似乎是唯一的,是由默認隱藏的評論,這使我做更多的閱讀,這是必要的,所以希望這篇文章幫助另一個可憐的靈魂浪費無數小時來追蹤這一點。

相關問題