diff --git a/autoload/dirvish.vim b/autoload/dirvish.vim index 73c4578..fe310ea 100644 --- a/autoload/dirvish.vim +++ b/autoload/dirvish.vim @@ -534,7 +534,9 @@ func! dirvish#open(...) range abort endif if a:0 > 1 - call s:open_selected(a:1, a:2, a:firstline, a:lastline) + " Detect whether a mapping or the legacy fallback is being used + let l:visual_lines = mode(0) == 'n' ? [a:firstline, a:lastline] : [line('v'), line('.')] + call s:open_selected(a:1, a:2, min(l:visual_lines), max(l:visual_lines)) return endif