用于“自动关闭”括号的 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 插件?的主要内容,如果未能解决你的问题,请参考以下文章