On Cygwin, I accidentally pressed Ctrl+Z while in vim. I was editing a git commit message.

This resulted in

$ git commit -a

[1]+  Stopped                 git commit -a

I think the vi session is still active:

$ ps -ef | grep vi
myname   37252   15784 pty0     16:54:26 /usr/bin/vi

How can I reconnect to the vi session and resume work?

  • 1
    type fg to resume execution
    – Daniel F
    Feb 1 '17 at 22:22
  • 1
    The "[1]+ Stopped" message indicates that you pressed Ctrl+Z.
    – Scott
    Feb 1 '17 at 22:37

Here's what I did. If there's an easier way, feel free to post another answer.

$ git commit
fatal: Unable to create '/cygdrive/c/projectDir/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

$ rm /cygdrive/c/Clients/Gulden/dev/Watch_Firmware/.git/index.lock

$ git commit

Found a swap file by the name "/cygdrive/c/projectDir/.git/.COMMIT_EDITMSG.swp"
          owned by: ...
         file name: /cygdrive/c/projectDir/.git/COMMIT_EDITMSG
          modified: YES
         user name: ...
        process ID: 37252 (still running)
While opening file "/cygdrive/c/projectDir/.git/COMMIT_EDITMSG"
             dated: Wed Feb  1 17:11:22 2017
      NEWER than swap file!

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /cygdrive/c/projectDir/.git/COMMIT_EDITMSG"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/cygdrive/c/projectDir/.git/.COMMIT_EDITMSG.swp"
        to avoid this message.
    "/cygdrive/c/projectDir/.git/COMMIT_EDITMSG" 16 lines, 547 characters
    Press ENTER or type command to continue

Do :recover in vim. Complete and save the message. Then delete the old cached partial message:

 $ rm /cygdrive/c/projectDir/.git/.COMMIT_EDITMSG.swp

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.