1

I've enabled VIM style editing of bash commands at the bash prompt as default bash setting. On a few occasions I've accidentally opened a blank vim file with some complex bash command I was writing.

Awesome. How do I get the newly written line in vim back into bash? I found another post where the author had the opposite trouble--or so it seems.

What steps put my bash prompt commands into vim and then back again to bash to execute?

xtian
  • 945
  • 4
  • 14
  • 32

3 Answers3

1

Ctrl+X Ctrl+E will insert your bash command into vim.

To exit vim:

If you are editing (--INSERT-- or --REPLACE-- appears at the bottom), press Esc.

Then press:

:wq or ZZ to save and exit.

:q! to quit without saving.

Michael Hampton
  • 13,635
  • 4
  • 45
  • 76
1

When you're in normal mode (e.g, when h and l move the cursor left and right), type v to edit the line in vi, or in the editor specified by $VISUAL or $EDITOR. When you're done, just save the buffer as you would after editing any other file, using ZZ or :wq as you prefer.

garyjohn
  • 34,610
  • 8
  • 97
  • 89
  • I've tried all your suggestions and marked this version because it worked for me. (^x or ^e didn't do anything...) I would add, upon saving the buffer I'm returned to bash and the command was immediately executed. Adding a hash before the command prevented immediate execution of the command. – xtian Jul 12 '12 at 14:24
0

I believe ctrl-x, ctrl-e is what you want. Writing the file as normal should execute it i think. So :wq in vim.

Simon Sheehan
  • 9,114
  • 12
  • 52
  • 71
Sirex
  • 10,990
  • 6
  • 43
  • 57