括号中的tmux vim显示问题

时间:2016-06-21 18:25:17

标签: vim tmux ubuntu-16.04

我最近升级到Ubuntu 16.04并且这个问题又回来了。我模糊地回忆起它在14.04修复它,但我不记得是怎么回事。

我将tmux窗口拆分为两个窗格。 vim正在左窗格中运行,显示一个文件。如果在切换窗格时vim光标位于任何排序的括号上,则括号将成为显示中的插入符号,尽管它在文件中未更改。切换回vim并移动光标将使其正确重绘。

在tmux之外,TERM是gnome-256color。里面的tmux TERM是screen-256color。

关于导致这种情况的任何想法?

更新

我可以通过使用Alt-Tab更改焦点来实现。也就是说,我不需要在tmux中切换标签。只需在屏幕上移动焦点就会发生这种情况。

UPDATE2

事实证明它与gnome-terminal无关,所以我删除了对它的引用。

1 个答案:

答案 0 :(得分:4)

这是因为vim的括号突出显示匹配。

来自:help matchparen

  

这里提到的功能是标准插件。   此插件仅在未设置“兼容”时可用。

     

您可以通过设置“loaded_matchparen”变量来避免加载此插件:

:let loaded_matchparen = 1
     

该插件安装CursorMoved,CursorMovedI和WinEnter自动命令   重新定义匹配突出显示。

:NoMatchParen :DoMatchParen
     

要在插件加载后禁用该插件,请使用以下命令:

:NoMatchParen
     

再次启用它:

:DoMatchParen

您可以使用自动命令来切换它。 像

这样的东西
:autocmd FocusLost * :NoMatchParen
:autocmd FocusGained * :DoMatchParen

应该工作。

如果您的控制台vim不支持这些自动命令,您可以使用tmux-focus-events.vim插件

另请参阅unix stachexchange中的this post