vim has a number of ways to execute shell commands from within vim. One can jump to the shell and back to vim using shell
, ctrl+z
the current process and get back using fg
. Selected/Current lines can be executed using !w bash
.
However, all these approaches are helpful only for running one command. Once the command executes, the shell is process is killed.
I wanted to know if there is a way to keep executing snippets of code in the shell and have the shell remember functions/variables from the previous command (similar to copying snippets of code to a shell prompt) to debug code. For this the shell session would have to be persisted somehow.
I often run into cases where I need to execute a few functions on the shell and then test them out by calling them. The standard approach would be to copy paste them in a different shell and then execute them. How to do this from within vim?