Функция переключения
Вот моя версия функции переключения, основанная на ответе Ника. Теперь вы можете использовать горячую клавишу на любой панели , а не только на панели netrw. В версии Ника это вызывает ошибку, также я сделал некоторую очистку кода и переназначил его на Ctrl-O, потому что Ctrl-E по умолчанию используется для прокрутки вниз на одну строку.
" Toggle Vexplore with Ctrl-O
function! ToggleVExplorer()
if exists("t:expl_buf_num")
let expl_win_num = bufwinnr(t:expl_buf_num)
let cur_win_num = winnr()
if expl_win_num != -1
while expl_win_num != cur_win_num
exec "wincmd w"
let cur_win_num = winnr()
endwhile
close
endif
unlet t:expl_buf_num
else
Vexplore
let t:expl_buf_num = bufnr("%")
endif
endfunction
map <silent> <C-O> :call ToggleVExplorer()<CR>
Переменная «t: expl_buf_num» является глобальной для текущей вкладки, поэтому вы можете иметь один проводник для каждой вкладки. Вы можете изменить его на "w: expl_buf_num", если хотите иметь возможность открывать Проводник в каждом окне.
Сохраняйте фокус в Проводнике
Также мне нравится иметь это в моем .vimrc:
" Open file, but keep focus in Explorer
autocmd filetype netrw nmap <c-a> <cr>:wincmd W<cr>