Is it possible in vim to create a split view for command line use?
Unlike Emacs, Vim tries to be a bit more minimal when it comes to working with the shell. It does not have an option to include the interactive shell inside one of it's tabs or buffers.
Although there are workarounds for this. Just like you, I really like to have a bash
window in the same terminal session as I have Vim running. It is super useful while editing source files. In my case I really like to have the Ruby REPL environment running so I can test out statements before I put them in the source files.
I use Tmux to accomplish the split window. In Tmux I create a split window (default key is ctrl+b, "). This will open 2 interactive shell sessions just like a split window in Vim. Then I run Vim in one of the sessions and I'm all set.
You can see from the picture below that I have split the window horizontally with bash
on top and Vim on bottom.
I also use Tmux to support pair programming with others. You can read more about my setup on my blog at http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac.
Vim 8 has terminal mode built in.
You can type :ter
to get access to the terminal.
To navigate through the commands in your default shell use j,k
.
You can get more information by typing :h ter
in VIM8.
Note: your VIM8 must have +terminal
for this to work.
Not sure if you were looking for a GNU screen solution, or a solution using Vim's built-in splits, but if you're looking for the latter, this worked for me:
vim -O file_a.js file_b.js
That a opens both files with a vertical split. For a regular (horizontal split), just use a lower case -o
instead.
P.S. Ctrl+w, w to switch between the two (I find it a good way to differentiate screen splits and vim splits).
Have you tried screen? Any reason that wouldn't work out for you?