在vim插入模式下关闭MatchParen的副作用

时间:2016-01-31 15:31:07

标签: vim

我希望vim突出显示匹配正常模式下光标下的paren / bracket / brace。但是,当我切换到插入模式时,我希望匹配停止。 (当它旁边有一个突出显示的块光标时,无法看到我的条形光标。)

这很容易做到:

  

au InsertEnter *:NoMatchParen
  au InsertLeave *:DoMatchParen

然而,这种autocmds的组合引入了一种我无法忍受的怪异行为:如果我在右侧的vsplit中,或者在底部的分裂,并切换到左/上的分割,然后进入插入模式,焦点恢复到另一个窗格。无论是立即进入插入模式,还是先在正常模式下移动光标,都会发生这种情况。

一个特别奇怪的事情是焦点不会跳到最新的窗格。如果我在底部/右侧窗格中输入插入模式,则光标将保持原样。

我已经尝试了WinEnter,CursorMoved和其他事件的一些组合,但是没有找到任何不会留下这种行为或引入更糟糕的事情。

所以,用一个问题的形式来表达:我怎样才能停止这个?

1 个答案:

答案 0 :(得分:1)

matchparen插件的命令:DoMatchParenNoMatchParen使用:windo命令在内部工作,这会不幸地将光标留在错误的窗口中。这已经在之前的vim-dev list中进行了讨论。目前没有解决方案。您需要在调用这些命令之前保存光标位置,然后再将其恢复。