I stumbled onto “How to boost your Vim productivity” the other day and it’s full of awesome Vim tips. One of them involved improving ctrl-z.
For those of you who don’t know. You can hit
ctrl-z from within Vim and it
puts Vim in the background and returns you to your shell. You can type in the
fg into your shell to get back into Vim. I use this workflow all the
time. It’s much nicer to use an actual console to do file system stuff then
many of the other Vim-specific workarounds out there (although I will say that
vim-eunuch is awesome).
One huge problem with this approach is typing
fg<CR> is annoying. And I never
knew it until I read this article. The author has managed to map
ctrl-z to not
only send Vim into background mode but also return to Vim when you’re ready.
He achieves this through ZSH scripting. I’m a dedicated iTerm2 and BASH user, so I was immediately disappointed that this awesome tip didn’t apply to me.
So I figured out how to do it in BASH and iTerm2. You can take a look here: https://github.com/tybenz/ctrl-z.
It uses iTerm2’s custom key bindings with something called a coprocess.
The coprocess itself is just a BASH script. Feel free to check it out. If you
follow the steps, you’ll be up-and-running in no time and using
ctrl-z up and down the street. Good luck nerds!