명령을 입력하고 있는데 커서가 끝에 있습니다."고급 경고"
$ git commit -m "Nettoyage :
> - Suppression de sources ou projets inutiles
> - Corrections mineures sur les sources pour supprimer des warnings"
이제 글을 써야 한다는 것을 깨달을 때다.“네토야쥬(deuxième party)”내 커밋 메시지의 시작 부분에.
...하지만 명령의 마지막 줄에서 명령의 시작 부분으로 이동하여 첫 번째 줄을 편집하려면 어떻게 해야 합니까?
답변1
불행하게도 Bash의 명령 입력은 줄 지향적이며 여러 줄 명령을 입력할 때 이전 줄로 돌아갈 수 있는 방법이 없습니다.
그러나 지금까지 입력한 전체 명령을 사용하여 편집기를 시작하면 됩니다. 이렇게 하려면 Emacs 모드(기본값)에서 를 누르십시오. CtrlxCtrlevi 모드에서는 를 누르십시오 Escv. 그러면 지금까지 입력한 모든 내용이 포함된 편집기가 열리고 해결해야 할 문제가 해결됩니다.완전한 명령, 편집기를 종료하면 Bash가 편집된 명령을 실행합니다.
이 특별한 경우 git
전체 커밋 메시지에 대해 편집기를 사용할 수 있습니다. 이 -m
옵션을 생략하면 git
편집기가 실행됩니다.
답변2
을 누르고 CtrlC를 누른 Up다음 명령을 다시 편집하고 를 누릅니다 Enter.
# git commit -m "Nettoyage :
> - Suppression de sources ou projets inutiles
> - Corrections mineures sur les sources pour supprimer des warnings
> - Autre chose^C
CtrlC줄 끝을 누르면 줄이 끊어지지만, Up키를 한 번만 누르면 다시 돌아옵니다.
# git commit -m "Nettoyage :
- Suppression de sources ou projets inutiles
- Corrections mineures sur les sources pour supprimer des warnings
내 커서는 "ings" 뒤에 위치합니다. 그런 다음 Left및 를 사용하여 세 줄의 텍스트 모두에서 앞뒤로 탐색하거나 Right명령의 시작 부분으로 이동하거나 명령의 끝으로 이동하는 등의 작업을 수행할 수 있습니다 .HomeCtrlAEndCtrlE
내가 아는 한, 나는 멋진 readline 설정을 사용하지 않습니다. FreeBSD 13.0의 Bash 5.1.16에서 표준 동작인 것 같습니다.
답변3
넌 몰라. 아니면 내가 아는 한 다른 사람이 답변을 게시하여 내가 틀렸다는 것을 증명할 수 있기를 바랍니다. 지금까지 내가 찾은 가장 좋은 점은 Enter새 줄로 이동을 클릭한 다음(이것이 없으면 내 시스템에서는 이후 단계에서 전체 명령을 다시 받을 수 없고 이전 섹션에 입력된 마지막 줄 바꿈만 표시됨) Ctrl+ D명령을 중단하는 것 입니다. :
$ git commit -m "Nettoyage :
> - Suppression de sources ou projets inutiles
> - Corrections mineures sur les sources pour supprimer des warnings
이제 다음을 누르세요 Enter.
$ git commit -m "Nettoyage :
> - Suppression de sources ou projets inutiles
> - Corrections mineures sur les sources pour supprimer des warnings
>
지금 Ctrl+ D:
$ git commit -m "Nettoyage :
> - Suppression de sources ou projets inutiles
> - Corrections mineures sur les sources pour supprimer des warnings
> bash: unexpected EOF while looking for matching `"'
이제 ⇧(위쪽)을 눌러 이전 명령으로 돌아갈 수 있습니다.지금예상대로 편집할 수 있습니다.
$ git commit -m "Nettoyage :
- Suppression de sources ou projets inutiles
- Corrections mineures sur les sources pour supprimer des warnings
완벽하지는 않지만 해결 방법으로 작동할 수 있습니다.
답변4
여러 줄 문자열을 문자 그대로 입력하는 대신 Bash를 사용할 수 있습니다.백슬래시 이스케이프 확장 문자열, 좋다
git commit -m $'Nettoyage :\n - Suppression de sources ou projets inutiles\n - Corrections mineures sur les sources pour supprimer des warnings'
이를 통해 여러 줄의 문자열을 한 줄로 병합하고 이를 사용하여 \n
개행을 나타낼 수 있습니다. 생성된 명령에는 문자열에 실제 개행 문자가 포함됩니다.