I'm configuring my scripts to work with terminal in VIM and have a question regarding :h special-buffers
. Among mentioned kinds there were the following:
unlisted The buffer is not in the buffer list. It is not used for
normal editing, but to show a help file, remember a file name
or marks. The ":bdelete" command will also set this option,
thus it doesn't completely delete the buffer. Settings: >
:setlocal nobuflisted
terminal A terminal window buffer, see |terminal|. The contents cannot
be read or changed until the job ends.
Currently I create a terminal buffer with the function
function! CreateTerminalInstance()
execute "terminal ++hidden"
return bufnr("$")
endfunction
then stores the bufnr
of the terminal and use it throughout the session.
The problem is when switching between buffers containing code to be displayed in some window with :bnext
it sometimes displays the terminal in the window. This is because the terminal appears in the buffer list:
So I considered making this buffer with :setlocal nobuflisted
, but it looks hacky since now the terminal buffer has two kinds: terminal
and unlisted
as I show above.
What is the preferred way to achieve switching between buffers corresponding to regular opened files?
:set nobulisted
is the way to go here. BTW: I don't see, why this would look hacky.