禁用vim + tmux的光标(当前)行高亮显示

时间:2014-12-30 09:51:56

标签: vim tmux

我正在使用tmux + vim。与vim分割窗口不同,每当我将焦点移动到tmux中的不同窗格时,线条高亮显示都不会像下图所示那样关闭。

Vim in two panes have line highlight 红线是光标线,我将焦点移动到底部tmux窗格,但顶部窗格vim光标线仍然有高亮显示。

当我将窗格保留在tmux中并且只有当前tmux窗格的高亮显示行时,我想关闭光标线高亮显示。 有谁知道怎么做?

我对线条突出显示的vim设置是

""""""""""""""""""""""""""""""""""""
" Cursor line highlight
hi CursorLine   cterm=NONE ctermbg=darkred guibg=darkred 
hi CursorColumn cterm=NONE ctermbg=darkred guibg=darkred 
" hlight current line current window only
augroup CursorLine
    au!
    au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
    au WinLeave * setlocal nocursorline
augroup END
""""""""""""""""""""""""""""""""""""

======编辑1 ======

au VimEnter,WinEnter,BufWinEnter,FocusGained,CmdwinEnter * setlocal cursorline
au WinLeave,FocusLost,CmdwinLeave * setlocal nocursorline

也不起作用。

====================

1 个答案:

答案 0 :(得分:2)

如果你正在使用iTerm2,你可以使用sjl/vitality.vim插件,该插件可以开箱即用(即恢复FocusLost / FocusGained功能)(根据自述文件,我可以'尝试一下。)

akracun/vitality.vim fork为其他终端提供了功能(xterm / uxterm根据提交日志,虽然它对我来说在gnome-term上完美无缺)。

从tmux 1.9a开始,你需要:

  • set -g focus-events on添加到.tmux.conf
  • let g:vitality_tmux_can_focus = 1添加到.vimrc

然后

au VimEnter,WinEnter,BufWinEnter,FocusGained,CmdwinEnter * setlocal cursorline
au WinLeave,FocusLost,CmdwinLeave * setlocal nocursorline

应按预期工作