如何让vim将光标放在从新行开始的大括号内,即使用| 表示光标位置:
class {
|
}
Run Code Online (Sandbox Code Playgroud)
现在我的设置只会这样做
class {
|}
Run Code Online (Sandbox Code Playgroud)
我在我的.vimrc文件中设置了autoindent shiftwidth = 2 tabstop = 2 noexpandtab
基本上我只想要一个普通的IDE如何缩进它.
更新:
我找到了如何做到这一点 inoremap { {<CR>}<Esc>O
trk*_*och 22
我发现delimitMate正是你所描述的和更多(即自动插入结尾}
).请注意,您必须通过添加let delimitMate_expand_cr=1
到配置来告诉delimitMate扩展回车.
根据我的观察,这正是TextMate和SublimeText中的行为.
小智 21
我有Ubuntu 12.04,我vimrc
在主目录中找不到任何文件.全球vimrc
档案在/etc/vim/vimrc
.
这个文件几乎没有.所以对我来说,它最终添加了3行/etc/vim/vimrc
set autoindent
set cindent
inoremap { {<CR>}<up><end><CR>
Run Code Online (Sandbox Code Playgroud)
当您{
下次输入时,它将通过组合{
,Enter }
,up,end,Enter 进行更改.cindent
并且autoindent
将添加选项卡的需要量.
PS我不善于调整vim所以一些解释可能不那么准确.这就是我认为它的工作原理.
rom*_*inl 12
把它放在.vimrc中:
imap <C-Return> <CR><CR><C-o>k<Tab>
Run Code Online (Sandbox Code Playgroud)
假设autoindent
并且smartindent
设置正确,Ctrl + Return
在大括号之间键入将把光标放在你想要的位置.