Vim自动缩进换行
我如何让vim将光标置于大括号内,即以|开头 表示光标位置:
class {
|
}
现在用我的设置它只能做到这一点
class {
|}
我在.vimrc文件中得到了这个set autoindent shiftwidth = 2 tabstop = 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中发现的行为。
我有Ubuntu 12.04,并且在主目录中找不到vimrc文件。 全局vimrc文件位于/etc/vim/vimrc 。
这个文件几乎没有。 所以对我来说,它将这3行添加到/etc/vim/vimrc的末尾
set autoindent
set cindent
inoremap { {<CR>}<up><end><CR>
当你输入{下一次它将被组合{ ,Enter, } ,up,end,Enter改变。 cindent和autoindent将添加所需数量的Tab。
PS我不擅长调整vim,所以一些解释可能不太准确。 这是我认为它的工作原理。
