Also set tmux navigation flag on FocusGained

Make using the `@vim$TMUX_PANE` window flag much more robust by
unsetting it every time the zsh prompt is drawn and setting it again
using a `FocusGained` `autocmd` in vim. This removes the need for the
hacky check for zsh in the conditional defined in the `in_vim` variable.
This commit is contained in:
Kenneth Benzie 2019-08-16 21:58:38 +01:00
parent 1f07473b57
commit 7af8660355
2 changed files with 13 additions and 4 deletions

9
autoload/tmux.vim Normal file
View File

@ -0,0 +1,9 @@
let s:tmux_option = '@vim'.substitute($TMUX_PANE, '%', '\\%', 'g')
function! tmux#setNavigationFlag() abort
call system('tmux set-window-option '.s:tmux_option.' 1')
endfunction
function! tmux#unsetNavigationFlag() abort
call system('tmux set-window-option -u '.s:tmux_option)
endfunction

View File

@ -2,10 +2,10 @@ augroup benieAugroup
autocmd! autocmd!
if $TMUX !=# '' if $TMUX !=# ''
" Set tmux window option to detect when to change pane. " [Un]set tmux window option to detect when to change pane.
let s:tmux_option = '@vim'.substitute($TMUX_PANE, '%', '\\%', 'g') call tmux#setNavigationFlag()
call system('tmux set-window-option '.s:tmux_option.' 1') au FocusGained * call tmux#setNavigationFlag()
au VimLeave * call system('tmux set-window-option -u '.s:tmux_option) au VimLeave * call tmux#unsetNavigationFlag()
endif endif
" Reopening a file at last curson position " Reopening a file at last curson position