如何讓Vim將光標置於大括號內,即以一個新行開始,即|表示光標位置:Vim自動縮進換行
class {
|
}
現在我的設置它不僅會
class {
|}
我在.vimrc文件 設置自動縮進shiftwidth的= 2的製表位= 2得到這個noexpandtab
基本上我只想要一個普通的IDE如何縮進它。
更新:
我發現如何與inoremap { {<CR>}<Esc>O
如何讓Vim將光標置於大括號內,即以一個新行開始,即|表示光標位置:Vim自動縮進換行
class {
|
}
現在我的設置它不僅會
class {
|}
我在.vimrc文件 設置自動縮進shiftwidth的= 2的製表位= 2得到這個noexpandtab
基本上我只想要一個普通的IDE如何縮進它。
更新:
我發現如何與inoremap { {<CR>}<Esc>O
把這個在你的.vimrc:
imap <C-Return> <CR><CR><C-o>k<Tab>
假設autoindent
和smartindent
設置正確,括號之間鍵入Ctrl + Return
將會把光標移到您希望它是。
我發現delimitMate完全符合您的描述和更多(即自動插入結尾}
)。請注意,您必須通過將let delimitMate_expand_cr=1
添加到您的配置中來告訴delimitMate擴展回車。
從我的觀察,這正是TextMate和SublimeText中的行爲。
限定用戶的FYI用戶界面+ neocomplcache:如果使用默認的neocomplcache .vimrc設置,則需要調整
對於'delimitMate''expand_cr_1'最近還沒有工作。相反,你可以使用'imap
我有Ubuntu 12.04,我在主目錄中找不到vimrc
文件。全球vimrc
文件在/etc/vim/vimrc
。
這個文件幾乎沒有。所以對我來說它的工作這個3行添加到的/etc/vim/vimrc
set autoindent
set cindent
inoremap { {<CR>}<up><end><CR>
結束的時候,你會鍵入{
下次就會通過組合{
改變,輸入,}
,向上,結束,回車。 cindent
和autoindent
將添加所需數量的Tab。
P.S.我不擅長調整vim,所以一些解釋可能不太準確。這是我認爲它的工作原理。
我在最後一行的末尾添加了一個「
在該文件的底部,我使用:
# vim: ts=2 sw=2 sts=2 sr noet st ai si
例如Dockerfile
:
FROM centos-7
RUN ...
CMD ...
# vim: ts=2 sw=2 sts=2 sr noet st ai si
如果你想只保留縮進,請使用# vim: st ai si
謝謝!那工作:P – Zen 2010-12-18 07:56:19
有反正它映射它進入壽?我有點習慣於按下輸入鍵,因爲我一直在使用eclipse。 – Zen 2010-12-18 07:58:09
或無論如何將它集成在一個特定語言的縮進文件中? – Zen 2010-12-18 08:14:54