Netrwでファイルを開く時開く先のwindowを指定できるように拡張する。
.vimrc
に以下を記述
fu! MyNetrwBrowse(isLocal)
let l:wincount = winnr('$')
let l:fname = netrw#Call('NetrwGetWord')
let l:ischoose = 0
if !(l:fname =~ '/$')
if l:wincount > 2
let l:winid = win_getid()
call choosewin#start(range(2, l:wincount))
let g:netrw_chgwin = winnr()
call win_gotoid(l:winid)
en
en
let l:path = netrw#Call('NetrwBrowseChgDir', a:isLocal, l:fname)
if a:isLocal
call netrw#LocalBrowseCheck(l:path)
else
call netrw#Call('NetrwBrowse', 0, l:path)
en
if g:netrw_chgwin != -1
let g:netrw_chgwin = -1
en
endf
" override keymappings
let g:Netrw_UserMaps = []
call add(g:Netrw_UserMaps, ['<CR>', 'MyNetrwBrowse'])
call add(g:Netrw_UserMaps, ['l', 'MyNetrwBrowse'])
call add(g:Netrw_UserMaps, ['o', 'MyNetrwBrowse'])
win_getid()
を使用しているため Vim 8以上でないと動きません。Vim 7で動かしたい場合は要調整。