diff --git a/plugin/vimux.vim b/plugin/vimux.vim index 04d1884..9d0076e 100644 --- a/plugin/vimux.vim +++ b/plugin/vimux.vim @@ -235,17 +235,24 @@ function! s:existingRunnerId() abort let runnerType = VimuxOption('VimuxRunnerType') let query = get(VimuxOption('VimuxRunnerQuery'), runnerType, '') if empty(query) - if !empty(VimuxOption('VimuxUseNearest')) + if empty(VimuxOption('VimuxUseNearest')) + return '' + else return s:nearestRunnerId() endif endif " Try finding the runner using the provided query + let currentId = s:tmuxIndex() let message = VimuxTmux('select-'.runnerType.' -t '.query.'') if message ==# '' - " Success! + " A match was found. Make sure it isn't the current vim pane/window + " though! let runnerId = s:tmuxIndex() - call VimuxTmux('last-'.runnerType) - return runnerId + if runnerId !=# currentId + " Success! + call VimuxTmux('last-'.runnerType) + return runnerId + endif endif return '' endfunction