重新連線到意外停止的 vi 會話(git commit)

重新連線到意外停止的 vi 會話(git commit)

在 Cygwin 上,我Ctrl+Z在進入時不小心按了vim.我正在編輯一條git commit訊息。

這導致了

$ git commit -a

[1]+  Stopped                 git commit -a

我認為 vi 會話仍然處於活動狀態:

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

如何重新連接到vi會話並恢復工作?

答案1

這就是我所做的。如果有更簡單的方法,請隨時發布另一個答案。

$ 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

E325: ATTENTION
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

:recovervim.完成並儲存訊息。然後刪除舊的快取部分訊息:

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

相關內容