Хорошо, я думаю, что это может сработать ... но ... действуйте осторожно, потому что я не эксперт по Vim.
Когда вы создаете окно в первый раз, вы можете сохранить его в глобальном формате:
bo new
set buftype=nofile
let g:my_run_buffer = bufnr("%")
, и впоследствии вы можете проверить, существует ли этот буфер:
if bufexists(g:my_run_buffer)
" Go to buffer
set swb=usetab
exec "sbuf " . g:my_run_buffer
else
... create it ...
endif
Установка «swb = usetab» будет означать, что когда sbuf
переключается на буфер, он переходит к любомуокно / вкладка, в которой оно открыто в данный момент, если оно открыто.Мне не нравится устанавливать swb глобально, только для одного вызова sbuf.Кто-нибудь знает лучший способ?