vim과 함께 git commit -a 사용


111

나는 git을 처음 접했기 때문에 github의 자습서를 사용하여 git을 배우기로 결정했습니다. 세 번째 장은 다음과 같이 말했습니다.

"이 첫 번째 예에서는 README 파일을 수정하여 우리 자신을 프로젝트의 작성자로 추가 할 것입니다. 따라서 파일을 편집하기 만하면됩니다. 이제 변경 사항을 커밋하려고하므로 git commit -a명령 을 실행합니다 ."

git commit -a명령을 사용하면 콘솔이 vim을 열고 메시지를 작성했지만 콘솔에서이 vim 편집기를 닫는 방법을 모르겠습니다. 메시지를 저장하고 vim을 닫는 방법은 무엇입니까?


9
이 그래픽 치트 시트는 매우 유용합니다 : viemu.com/vi-vim-cheat-sheet.gif . 나는 그것을 내 바탕 화면 배경 무늬로 사용합니다.
yasouser

@Jean-어떤 플랫폼을 사용하고 있으며 콘솔 또는 GUI Vim을 사용하고 있습니까? 시작 화면에 소개 텍스트 (버전 번호, 작성자 등)가 표시되지 않습니까?
Rook

답변:


193
  1. vim에서는 :wEnter일반 모드에있는 동안 파일을 저장 합니다 (를 눌러 일반 모드로 전환 Esc).
  2. :q일반 모드에서 파일을 닫습니다 .

이 두 작업을 결합 Esc:wqEnter하여 커밋을 저장하고 vim을 종료 할 수 있습니다 .

위의 대안으로 ZZ일반 모드에서를 눌러 파일을 저장하고 vim을 종료 할 수도 있습니다 . 같은 키를 두 번 눌렀 기 때문에 일부 사람들에게는 더 쉽습니다.


24
VIM을 표시하지 않는 git commit -a -m "your message here"를 수행 할 수도 있습니다.
David Basarab

8
@David : 물론입니다. 여기에있는 많은 질문은 사람들이 -m옵션을 잊어 버린 다음 vim 창에 던져지고 나가는 방법을 모르기 때문입니다.
abcd

3
@yoda : Ctrl + c를 사용하여 일반 모드로 전환 할 수도 있습니다. 또한 저장하고 종료하려면 Shift + (z + z)입니다 (대문자 Z 2 개).
Rocket Hazmat

1
@Rocket : 맞아요. z대신 입력 한 것을 몰랐습니다 Z.
abcd

5
@EEva : 예,하지만 초보자에게 그것을 잊은 것처럼 가르치지 않겠습니다 :. 문자 삭제를 시작하면 패닉 2가 발생합니다.
abcd

58

vim을 배우는 대신 다른 쉬운 편집기 (예 : nano)를 사용하십시오. 내가 vim을 좋아하는만큼,이 경우에 그것을 사용하는 것이 해결책이라고 생각하지 않습니다. 그것을 익히려면 헌신과 시간이 필요합니다.

git config core.editor "nano"

52
재미 있네요. nano는 Ubuntu에서 기본값이었고 저장 방법을 알 수 없었기 때문에 명령을 사용하여 vim으로 전환했습니다.
hyperslug 2012 년

11

설명은이 스레드를 참조하십시오. Windows 용 VIM-파일을 저장하고 종료하려면 무엇을 입력합니까?

내가 쓴대로 Vimming을 배우기 위해 빠른 참조 카드 중 하나를 사용할 수 있습니다.

또한 Windows에서 Git을 사용하도록 편집기를 설정하려면 어떻게 해야 합니까? Vim 사용에 익숙하지 않지만 커밋 메시지에 다른 편집기를 사용하려는 경우.

커밋 메시지가 너무 길지 않은 경우 다음을 입력 할 수도 있습니다.

git commit -a -m "your message here"


이것은 사실이지만 권장하지 않습니다 .
Jorge Leitao 2013 년

7

더 좋은 질문은 vim을 종료 할 때 커밋을 어떻게 중단합니까?

두 가지 방법이 있습니다.

  1. :cq 또는 :cquit
  2. 주석을 포함하여 커밋 메시지의 모든 줄을 삭제 한 다음 :wq

어느 쪽이든 git에 오류 코드가 주어 지므로 커밋을 진행하지 않습니다. 이것은 특히 git commit --amend.


Btw, 나는 이것을 Ham 라디오 용어에서 기억한다. Contact 가 시작될 때, 그녀의 아버지가 죽은 후, 어린 Ellie (Jena Malone)는 우주에 "CQ CQ CQ"라고 말합니다. 즉, "모든 스테이션 호출"을
cdunn2001


1

치기를 종료하려면 : q를 사용하면 종료 할 수 있습니다.

저장하지 않고 종료하려면 : q!

"vim 치트 시트"에 대한 Google 검색은 빠른 바로 가기 모음과 함께 인쇄해야하는 참조를 제공 할 수 있습니다.

http://www.fprintf.net/vimCheatSheet.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.