我在vim中使用delimitmate括号自动完成。
将它用于{}时,它会正确生成
{|}
当你按Enter键时它也需要你
{
|}
无论如何都要让它扩展就绪,以便在使用大括号时进行类型调整。那么输入会正常扩展到这个吗?
{
|
}
答案 0 :(得分:1)
创建~/.vimrc
并在其中添加以下行:
" autoindent
autocmd FileType perl set autoindent|set smartindent
autocmd FileType python set autoindent|set smartindent
" 4 space tabs
autocmd FileType perl set tabstop=4|set shiftwidth=4|set expandtab|set softtabstop=4
autocmd FileType python set tabstop=4|set shiftwidth=4|set expandtab|set softtabstop=4
" show matching brackets
autocmd FileType perl set showmatch
" check perl code with :make
autocmd FileType perl set makeprg=perl\ -c\ %\ $*
autocmd FileType perl set errorformat=%f:%l:%m
autocmd FileType perl set autowrite
这适用于.pl和.py文件。
输入“{”,按“输入”,它将移动到4个空格后的下一行。继续编写代码。完成后,按“回车”转到新行并输入“}”,然后按“回车”,它将正确缩进结束的花括号。
如果这不能解决你的问题,至少这会给你一个提示,告诉你如何通过在~/.vimrc
答案 1 :(得分:1)
我不使用该插件,如果它没有为您提供配置,您可以尝试使用此映射为您的文件类型。假设你有自动注册:
inoremap <expr><CR> getline('.')[getpos('.')[2]:] == "}"?"<CR>":"<CR><ESC>O"
答案 2 :(得分:1)
专门针对delimitMate
let g:delimitMate_expand_cr = '<CR>'
实际上正确的版本是
let delimitMate_expand_cr = 1
au FileType mail let b:delimitMate_expand_cr = 1