2017-07-06 38 views
1

經過一個字符長度的單詞或三個以上長度的字符單詞後,TAB移動了四個空格。 我的.vimrc配置文件如下所示。爲什麼VIM中的TAB在三個字符的單詞之後移動一個空格?

syntax on 

" number of spaces moved along by pressing >>, << or == 
set shiftwidth=4 

" number of spaces moved along by pressing the <TAB> or <BS> key 
set softtabstop=4 

set expandtab 

的製表位配置值設置爲默認值,8 我期待該選項卡會不管前進4位。

+0

你能舉個例子嗎?你的描述不是很清楚。 –

+0

另外你不顯示'tabstop'的值。它是否設置爲默認值(8)? –

+0

它也發生在我身上,並且我的'tabstop'被設置爲默認值(8) – dlmeetei

回答

1

當縮進時,vim會插入很多空格,它需要達到shiftwidth的下一個倍數。

在你的情況下,shiftwidth=4,所以vim插入空格直到它到達第4列:只有一個空格。

如果你想Vim而不是盲目地插入四個空格無論什麼,嘗試在你的vimrc以下:

inoremap <TAB> <space><space><space><space> 

這將Vim插入4個空格。

+2

實際上,它會插入7個空格,因爲在''引用之間有3個空格... –

+0

@Dan你說得對。我修好了它。 –

相關問題