制作Vim Curly Braces,Square Braces,Parens就像Textmate一样

Cha*_*had 17 vim

所以我想我不是在寻找合适的东西,但是我想看看如何让VIM像Textmate一样,在编写一组花括号,parens或方括号时输入你得到这个.Pipe表示光标.

      function doSomething(){
          |
      }

      #selector{
          |
      }
Run Code Online (Sandbox Code Playgroud)

而不是这个垃圾

      function doSomething(){
      |}

      #selector{
      |}
Run Code Online (Sandbox Code Playgroud)

我已经拥有了[{(当他们输入时只是返回并且缩进被压缩了.像往常一样,任何帮助都会受到赞赏.

Ran*_*ris 27

我在我的使用中使用了以下映射.vimrc:

inoremap {<cr> {<cr>}<c-o>O<tab>
inoremap [<cr> [<cr>]<c-o>O<tab>
inoremap (<cr> (<cr>)<c-o>O<tab>
Run Code Online (Sandbox Code Playgroud)

所以当我输入时:

function foo(){<cr>
Run Code Online (Sandbox Code Playgroud)

我明白了:

function foo(){
    |
}
Run Code Online (Sandbox Code Playgroud)

(<cr>和相似[<cr>.

  • 我在最后删除了<tab>标签,并且我在.vimrc中也有smartindent.添加了花括号,并将插入符号放在正确的位置.谢谢! (4认同)

seb*_*ian 5

分隔Mate用户的注意事项

使用delimitMate插件时,其他答案的映射会干扰插件。幸运的是,通过设置delmitMateExpansion选项,此行为已在 delimitMate 中可用(但默认情况下禁用)。例如添加

let delimitMate_expand_cr = 1
Run Code Online (Sandbox Code Playgroud)

给你的 .vimrc