关于大括号的自动补全问题?
vim吧
全部回复
仅看楼主
level 5
韩腾皝 楼主
imap { {}<ESC>i<CR><ESC>V<O
这个能实现输入 { 然后自动补全并回车加缩进。 前提:
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
我想请问的是,如何在这个大括号出来之后,按一下退格就实现
{
cursor
}
变成:
{cursor}
cursor表示光标所在的位置.
求大神写个函数。
2014年12月30日 03点12分 1
level 5
韩腾皝 楼主
我改变了思路。输入左花括号之后接一个回车才变成第一种样式。否则是挨着一起的。这样也解决了我的问题。
2015年01月09日 03点01分 2
请问怎样映射的?
2015年01月09日 06点01分
回复 chpzwll : imap {<cr> {}<esc>i<cr><esc>V<O 这个仍然不完善 我还在想办法
2015年01月09日 15点01分
回复 韩腾皝 : 我自己尝试了下,发现这样的效果不错 inoremap {<CR> {<CR>}<ESC>O inoremap { {}<ESC>i
2015年01月09日 23点01分
level 5
韩腾皝 楼主
这个的效果最好,但是注意不能少了其他的设置:
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set smartindent
set expandtab
set cindent
inoremap {<cr> {<cr>}<esc>O
2015年01月11日 15点01分 3
1