vim - Vim 的自动右括号

标签 vim vim-plugin brackets

Vim 7.4 是否有任何可用的插件可以自动关闭括号('{}'、'[]'、'()')并且可能插入一些回车符(至少对于 '{}')?

我知道这个问题已经被问过很多次了,但没有一个答案似乎在 vim 7.4 中不起作用,或者插件尚未更新或其他什么。

到目前为止,我已经尝试过 vim-smartinput、autoclose 和 delimitmate,尽管我启用了插件并且它们似乎处于事件状态,但这些插件都无法插入任何结束字符。我不知道 vim 中是否有一些更改以某种方式破坏了这些插件。这些插件似乎至少在一年内都没有更新。有任何适用于 vim 7.4 的解决方案吗?

最佳答案

对于我们这些想要 Vanilla 的人 vim :

inoremap " ""<left>
inoremap ' ''<left>
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap {<CR> {<CR>}<ESC>O
inoremap {;<CR> {<CR>};<ESC>O

如果未设置设置粘贴,则在插入模式下自动完成。将其保存在 vimrc 中以避免每次都输入它 当我们不需要映射时,我们需要在输入映射的字符之前使用 ctrl + v 对其进行转义,例如 ( { 等。

关于vim - Vim 的自动右括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21316727/

相关文章:

c - 在 Vim 中重构 C/C++(例如像 Eclipse 中的方法提取)

c# - Visual Studio 2010 + resharper 括号缩进问题

vim - 在 'replace' 表达式中调用函数

vim - 如何将多个选项卡行粘贴到 Vi 中?

vim - 使用 MinGW 构建 vim

macos - 安装MacVim以使用gvim

vim - snipmate 无法在 vim 中工作

python - Vim(python 模式)断点

java - Java中String[](带方括号)和String(不带方括号)的区别

java - 给予括号优先