我如何让Vim自动放置括号?
在编辑.scm
文件的时候,如果Vim自动放置结束括号,那就太好了)
。我该怎么做?
您可以根据自己的喜好来映射左大括号:
:imap ( ()<left>
尝试使用AutoClose插件。
最简单的答案是包括一张地图。 例如。:
:inoremap ( ()<left>
问题是你需要为每一个你想自动closures的符号添加一个条目('{','[','''等等)。另外,插件通常更聪明,提供诸如检测“closures”字符,而不是重复它。
上面的解决scheme和大多数插件的问题是,他们往往打破撤消序列( gundo任何人?),如解释在:帮助ins特殊特殊 。
这里是你所问的插件列表(来自vimtips ):
- 由以色列Chauca Fuentes划定(可configuration,并不打破撤消/重做/重复,但 – 打破iabbr)也在GitHub
- AutoClose by Karl Guertin(自动closures特定的硬编码字符,但不会中断撤销/重做/重复)
- AutoClose Thiago Alves(可configuration,但打破撤消/重做/重复)
- 自动配对的苗族江对(可configuration,但打破撤消/重做/重复)
- closures由Edoardo Vacchi(可configuration,但打破撤消/重做/重复)
- 智能input由假名Natsuno(可configuration,但打破撤消/重做/重复)
除了vimtips之外, 网上还有另外一个很好的解释 。
我也需要一个,我已经尝试了一些插件:
AutoClose, http://www.vim.org/scripts/script.php? script_id = 1849,有点侵略性。
简单的对, http://www.vim.org/scripts/script.php? script_id =2339 ,取决于Python。 如果你在Linux上,这不是一个问题,但在Windows上,将Vim版本匹配到你的Python解释器可能是一个麻烦。
我的build议是ClosePairs,你可以在http://www.vim.org/scripts/script.php?script_id=2373find,这对我来说是完美的。; 这是简单而有用的。
这个主题有很多提示和插件。 看看vimtips网站的相关条目 。
我目前正在使用自动配对 ,它工作得非常好。
插件破解撤销/重做/重复的问题似乎在上面列出的一些插件中仍然存在,但我不认为它是一个问题(至less不是我目前)。
只是一个警告,但我不能使用:帮助标签生成与此插件的帮助文件在撰写本文时。
看看这个新的插件: 由Townk的vim-autoclose 。 前面提到的AutoClose是有侵略性的,有时会以不希望的方式行事。
使用这个(通过imap或其中一个脚本)有一个问题。 您将无法使用重复完整的编辑.
命令。
eg (foo) with . only gets you foo, without the brackets.
它正常工作,如果你正常插入括号,作为两个字符。
您可以尝试下载以下插件AutoClose:插入匹配的括号,paren,大括号或引号
https://github.com/vim-scripts/Auto-Pairs
testing了这个插件的重做。 2013这只是工作。 还用python模式插件。
有一个新的cohama插件:
lexima.vim
( github )
(尚未在vim.org上)
这个插件支持.
命令!
Afaik,这是唯一支持这个的插件。
此外撤消/重做序列的作品。