I can open a shell by using the :shell command in Vim, however I can't edit a file and at the same time use the shell.
Is there any way to split Vim in many Windows (or tabs), and have a shell opened in one of them?
Neovim and Vim 8.2
support this natively via the :ter[minal]
command.
See terminal-window
in the docs for details.