Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vim插入模式下关闭MatchParen的副作用_Vim - Fatal编程技术网

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

在vim插入模式下关闭MatchParen的副作用,vim,Vim,我希望vim在正常模式下突出显示与光标下匹配的括号/括号/大括号。但是,当我切换到插入模式时,我希望匹配停止。(如果旁边有高亮显示的块光标,则无法看到我的条形光标。) 这很容易做到: au插入器*:正常插入器 au InsertLeave*:DoMatchParen 但是,这种AutoCMD组合引入了一种我无法忍受的奇怪行为:如果我在右侧的vsplit中,或在底部的拆分中,切换到左/顶部的拆分,然后进入插入模式,则焦点将恢复到另一个窗格。无论是立即进入插入模式,还是先在正常模式下移动光标,都会发

我希望vim在正常模式下突出显示与光标下匹配的括号/括号/大括号。但是,当我切换到插入模式时,我希望匹配停止。(如果旁边有高亮显示的块光标,则无法看到我的条形光标。)

这很容易做到:

au插入器*:正常插入器
au InsertLeave*:DoMatchParen

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

一件特别奇怪的事情是,焦点没有跳转到最近的窗格。如果在底部/右侧窗格中进入插入模式,光标将保持在原来的位置

我尝试了WinEnter、CursorMoved和其他事件的一些组合,但没有发现任何东西不会留下这种行为或引入更糟糕的东西


因此,用一个问题的形式来表达:我怎样才能停止呢?

matchparen插件的
:DoMatchParen
NoMatchParen
命令在内部使用
:windo
命令工作,不幸的是将光标留在了错误的窗口中。这在之前的vim开发中已经讨论过。目前没有解决方案。您需要在调用这些命令之前保存光标位置,然后再将其还原。

是否正在查找
set noshowmatch
?否。showmatch功能不同。很高兴知道这一点。我不需要打开或关闭MatchParen,我可以一直打开它,只需在插入模式下更改高光颜色以匹配背景色。