2016-02-07 119 views
1

我使用終端的Vim作爲C + + IDE,和我autoclose大括號有一些問題,我使用vim-autoclose插件,我的問題是,當我正在做新功能並打開大括號,鼠標不返回函數內部(大括號內),但它的返回在函數的結尾..有什麼辦法來解決這個問題嗎? 另外,當我創建新類時,有什麼方法可以在類的花括號末尾自動添加分號?自動關閉插件問題與大括號

回答

2

我見過的大部分自動關閉插件都不提供;附加部分class and struct。因此,我不使用自動關閉插件和補充,在~/.vimrc

inoremap {;<CR> {<CR>};<ESC>O 

打字class Test後,鍵入​​和輸入將呈現

class Test { 
    _ //cursor here 
}; 

當然,indentation需要啓用從你的末端,例如aicindent

這裏是一些更多的映射,可能不是與vim-autoclose相關,在純vim上工作正常。

inoremap " ""<left> 
inoremap ' ''<left> 
inoremap (()<left> 
inoremap [ []<left> 
inoremap { {}<left> 
inoremap {<CR> {<CR>}<ESC>O 

最後一行給出

if (true) { 
    _ //cursor 
} 

何時何地,你不想要的映射,我們需要使用Ctrl鍵逃吧 - v鍵入mapped char

希望這會有所幫助

+0

謝謝,我現在就試試這個! – pureofpure

0

lh-cpp{上的映射將在與class,enumstruct相同的行上命中密鑰時插入分號。我沒有花時間去做更先進的事情。

並且在所有情況下,光標都會回到兩個大括號之間。如果你想換行,你必須打<CR>