From f8f33ed2525689c9c78a5be741d36aa02a81b34c Mon Sep 17 00:00:00 2001 From: Doug Krieger Date: Mon, 11 Jul 2016 18:48:24 -0400 Subject: [PATCH] Extend Vimux to add option 'VimuxUseLast' --- plugin/vimux.vim | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/plugin/vimux.vim b/plugin/vimux.vim index 9170668..98cd222 100644 --- a/plugin/vimux.vim +++ b/plugin/vimux.vim @@ -66,8 +66,11 @@ endfunction function! VimuxOpenRunner() let nearestIndex = _VimuxNearestIndex() + let lastIndex = _VimuxLastIndex() - if _VimuxOption("g:VimuxUseNearest", 1) == 1 && nearestIndex != -1 + if _VimuxOption("g:VimuxUseLast", 1) == 1 && lastIndex != -1 + let g:VimuxRunnerIndex = lastIndex + elseif _VimuxOption("g:VimuxUseNearest", 1) == 1 && nearestIndex != -1 let g:VimuxRunnerIndex = nearestIndex else if _VimuxRunnerType() == "pane" @@ -182,6 +185,22 @@ function! _VimuxNearestIndex() return -1 endfunction +function! _VimuxLastIndex() + + let currentID = _VimuxTmuxPaneIndex() + + call _VimuxTmux("last-pane") + let lastID = _VimuxTmuxPaneIndex() + call _VimuxTmux("last-pane") + + if currentID != lastID + return lastID + else + return -1 + endif + +endfunction + function! _VimuxRunnerType() return _VimuxOption("g:VimuxRunnerType", "pane") endfunction