You can send vim the SIGTSTP signal. You do this by pressing ctrl+z. Vim will get suspended in the background, and you can use the terminal. Type fg in the terminal to resume with vim.
Bonus tip: This works on nearly all terminal applications. Use bg to enable the application to continue running in the background.
:! launches an external process -- in this case sh, another shell. Control will return to vim once you exit the shell. If you want to use the shell concurrently with vim, add & to the end of the sh command:
You can use the :shell command (or the short form :sh). From :help :shell:
This command starts a shell. When the shell exits (after the "exit" command) you return to Vim. The name for the shell command comes from 'shell' option.
By default, on Ubuntu, this will give you bash. type exit to return to vim when you're done.
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
Another option with either screen or byobu is to open a tab within those programs. These programs make it fairly easy to keep a terminal-session c.q. shell open and switch between those screens with the keyboard.
You can send vim the SIGTSTP signal. You do this by pressing ctrl+z. Vim will get suspended in the background, and you can use the terminal. Type
fg
in the terminal to resume with vim.Bonus tip: This works on nearly all terminal applications. Use
bg
to enable the application to continue running in the background.In vim, just type:
:!
launches an external process -- in this casesh
, another shell. Control will return to vim once you exit the shell. If you want to use the shell concurrently with vim, add&
to the end of the sh command:You can use the
:shell
command (or the short form:sh
). From:help :shell
:By default, on Ubuntu, this will give you bash. type
exit
to return to vim when you're done.Since recent vim you can now do:
This was initially added in Vim 8.0.693, but with lots of bugs. See
:help terminal
:As addition to all answers.
You can install ConqueTerm plugin
This plugin provide ability to run interactive programs inside vim buffers.
After installation you can add this 2 lines to your
.vimrc
:And you will be able to run
bash
by pressing Shift + T, and close current Conque tab by pressing Shift + WIt is perferct if you need fast open/close
bash
.Here is gif that showing how it is look like
Another option with either screen or byobu is to open a tab within those programs. These programs make it fairly easy to keep a terminal-session c.q. shell open and switch between those screens with the keyboard.
With new version of vim 8.1 all you need to do is just
:terminal
and voila! (this is built in)