用于“自动关闭”括号的 Vim 插件?

Posted

技术标签:

【中文标题】用于“自动关闭”括号的 Vim 插件?【英文标题】:Vim plugin for 'auto-closed' parenthesis? 【发布时间】:2012-02-16 00:27:09 【问题描述】:

我找遍了远近,并没有找到像Textmate这样可以简单地自动关闭一组括号的插件。例如:

Vim     : (*manually close parens* → )
Textmate: (*Auto closes parens*)

如果您可以为此描述一个插件,我将非常有帮助。谢谢!

【问题讨论】:

【参考方案1】:

试试 delimitMate:

https://github.com/Raimondi/delimitMate

这里还列出了一些插件。另外还有关于自己设置的说明:

http://vim.wikia.com/wiki/Automatically_append_closing_characters

【讨论】:

【参考方案2】:

我使用自动配对。你可以在这里得到它:

https://github.com/jiangmiao/auto-pairs.git

如果您阅读文档,它有很多选项可以涵盖大多数可能性。

【讨论】:

自动配对可能会破坏一些键映射。例如 å 不适用于瑞典语键盘(但不适用于 Å)。【参考方案3】:

我正在维护一个插件,它简化了平衡括号状字符的插入,甚至支持单词/行/选择的包围。

https://github.com/LucHermitte/lh-brackets/#the-bracketing-subsystem

lh-cpp page 中描述了 C 和 C++ 的默认绑定。

【讨论】:

这是一个很好的选择,虽然它需要一些时间来阅读文档,因为我使用了很多 lh 的东西并且它有点压倒性。我还没有完全弄清楚为什么它会在插入后生成额外的工件,但只在 .vim 语言文件中。 提取的东西肯定是占位符。如果您使用 gvim,您可以使用 <m-del> 跳转到下一个占位符,<c-j> (IIRC) 使用 vim。在 C 和 C++ 中,';'将尝试关闭光标后的所有占位符,然后关闭括号并关闭"。现在,如果您只在 .vim 文件中有占位符,而在其他文件中没有,我们将不得不进一步调查。我们明天尝试通过电子邮件或通过 google-code 上的跟踪器执行此操作。【参考方案4】:

对于我们这些想要走普通vim 方式的人:

ino " ""<left>
ino ' ''<left>
ino ( ()<left>
ino [ []<left>
ino  <left>
ino <CR> <CR><ESC>O

insert 模式下的此自动完成功能。保留vimrc 以避免每次都输入 当我们不想要映射时,我们需要在输入 ( 等的映射字符之前使用 ctrl - v 对其进行转义。

【讨论】:

以上是关于用于“自动关闭”括号的 Vim 插件?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Vim 自动放置大括号?

java 自动关闭资源的try语句

eclipse打开了就自动关闭

用Setup Factory制作的安装程序怎样关闭后自动打开指定网页?要在哪里设置?

可自动关闭的惯用语可能出现空指针异常

每当我启动时,我的 Eclipse 都会自动关闭