2015-09-07 22 views
2

C代碼在gVim的一個的* .c文件,當我輸入for(我想Vim如下產生循環結構基本的休息。自動生成gVim的

for(;;) 
{ 
} 

我已經在_vimrc中使用以下縮寫幫助實現了這一點。

ab for(for(;;)<CR>{<CR>} 

但是,我希望這個縮寫僅在c文件中才有效。

有沒有我可以在_vimrc中使用的條件,以便在所有文件中禁用縮寫,但在* .c文件中?用vim實現這一

回答

1

的一個好方法是通過使用autocommand,例如有:

autocmd FileType c  abb <buffer> for(for(;;)<CR>{<CR>} 

autocommand真的很強大,而且documentation是相當不錯的。 在此示例中,請謹慎使用abb<buffer>參數,因爲您希望此縮寫僅在c源文件緩衝區中處於活動狀態。例如,請參見abbreviate-local文檔。

+0

我用ABB的支持,但我沒有看到期望的結果。我的意思是,當我有* .c和* .txt文件在緩衝區中時,這個ab在* .txt文件中也被啓用...... –

+2

我相信它的'縮寫','ab'和'abb'只是'abbreviate'的縮寫形式 – FDinoff

+0

@FDinoff你是對的 –

6

此功能通常稱爲「片段」。

它是由各種Vim的插件,像SirVer/ultisnips