Hacker News new | ask | show | jobs
by thedjinn 2910 days ago
Not really a trick of Vim itself, but when using Vim from the terminal I find ctrl-z very useful to background Vim, type in a few shell commands for git or whatever and then use "fg" to hop back into Vim.
2 comments

vim 8 and neovim have pretty functional in-built terminals (:term). You can try that if you're using one of these.
That's more keystrokes. ;)
Not if you bind it to ^Z. ;)
Well, you can't. The terminal translates Ctrl-Z into SIGTSTP before it even reaches vim. Alternative suggestion:

  nmap gz :term zsh<CR>
Same number of keystrokes, and does not override any existing normal-mode command from what I can see.

    :nnoremap <C-z> :term<Return>
works for me (tmux in urxvt).

Ctrl-Z only gets converted to SIGTSTP if the terminal has ISIG set. For example, try `stty -isig; sleep 5` and try to suspend or interrupt the sleep command.

Only a few more keystrokes is:

:sh ENTER

or for more control over which shell, or to run a shell with any arguments, or even to run any command w/ or w/o args:

:!bash

:!bash -o vi

:!bash some_script.sh

:!some_command some args

and after any of those, just press Ctrl-D or type exit ENTER to return to the vim session.

Very fast and easy to do. I use it all the time.