[vim] Vim 편집기를 종료하려면 어떻게합니까?

갇혀 탈출 할 수 없습니다. 그것은 말한다 :

"type :quit<Enter> to quit VIM"

그러나 내가 입력하면 단순히 객체 본문에 나타납니다.



답변

히트 Esc“일반 모드”를 입력 키를. 그런 다음 :“명령 줄 모드”를 입력하기 위해 입력 할 수 있습니다 . :화면 하단에 콜론 ( )이 나타나고 다음 명령 중 하나를 입력 할 수 있습니다. 명령을 실행하려면 Enter키를 누르십시오 .

  • :q 종료 ( :quit)
  • :q!(대한 짧은 저장하지 않고 종료합니다 :quit!)
  • :wq 쓰고 끝내다
  • :wq! 파일에 읽기 권한 만있는 경우에도 쓰기 및 종료 (파일에 쓰기 권한이없는 경우 : 강제 쓰기)
  • :x 쓰기 및 종료 (와 유사 :wq하지만 변경 사항이있는 경우에만 쓰기)
  • :exit쓰고 끝내기 (와 동일 :x)
  • :qa모두 종료하려면 (의 줄임말 :quitall)
  • :cq 저장하지 않고 종료하고 Vim이 0이 아닌 오류를 반환하도록 (즉 오류와 함께 종료)

또한 “정상 모드”에서 Vim을 직접 ZZ종료하여 저장 및 종료 (와 동일 :x) 또는 ZQ종료 (와 동일 :q!)를 입력 할 수도 있습니다. (주는 경우가 여기에 중요하다. 것을 ZZzz같은 일을 의미하지 않는다.)

Vim은 :help모든 질문에 대한 답변과 초보자를위한 튜토리얼을 찾을 수 있는 명령으로 액세스 할 수있는 광범위한 도움말 을 제공합니다.


답변

그림은 수천 가지 유닉스 명령과 옵션의 가치가 있습니다.

여기에 이미지 설명을 입력하십시오

나는 매 학기마다 학생들에게 이것을 그리고 그들은 나중에 vi를 파악하는 것 같습니다.

vi는 상태가 3 개인 유한 상태 머신 입니다.

vi가 시작되면 명령 모드로 들어가서 짧고 적은 문자 명령을 맹목적으로 입력 할 수 있습니다 . 당신은 무엇을하고 있는지 알고 있습니다. 이것은 아마추어를위한 것이 아닙니다.

실제로 텍스트를 편집하려면 한 문자 명령으로 INSERT 모드로 이동해야합니다.

  • i : 커서 대신 INSERT로 이동
  • I : 줄의 시작 부분에 INSERT 모드로 이동
  • A : APPEND 커서
  • A : 줄 끝에 추가
  • o : 현재 줄 아래에 새 줄을 엽니 다
  • O : 현재 줄 대신 새 줄을 엽니 다

이제 질문에 대답 : 종료.

EX 모드에서 vi를 종료 할 수 있습니다 :

  • q : 수정하지 않았거나 미리 저장 한 경우
  • q !: 모든 수정을 무시하고 종료
  • wq : 저장하고 종료
  • x : 이것은 wq와 같습니다

wx파일 이름 매개 변수를 받아들입니다. 파일 이름으로 vi를 시작한 경우 여기에 다시 지정할 필요가 없습니다.

마지막으로 가장 중요한 것은 어떻게 EX 모드에 도달 할 수 있습니까?

EX 모드는 화면의 맨 아래 줄에 입력하는 것을 볼 수있는 긴 명령입니다. 명령 모드에서 콜론 ()을 누르면 콜론 :이 맨 아래 줄에 나타나고 위 명령을 입력 할 수 있습니다.

INSERT 모드에서 ESC (예 : Esc 버튼)를 눌러 COMMAND 모드로 이동 한 다음 :를 눌러 EX 모드로 이동해야합니다.

확실하지 않으면 ESC 키를 누르면 명령 모드로 이동합니다.

따라서 강력한 방법은 파일을 저장하고 종료하는 ESC-:-x-Enter입니다.


답변

당신이 명령을 입력하기 전에 히트 Esc키를 . 입력 한 후 Return를 눌러 확인하십시오.

Esc현재 명령을 마치고 Vim을 일반 모드로 전환합니다 . 이제 누르면 :의는 :상기 나타납니다 아래 화면. 이것은 실제로 명령을 입력하고 파일을 편집하지 않음을 확인합니다.

대부분의 명령에는 약어가 있으며 선택적 부분은 대괄호로 묶습니다 c[ommand].

‘*’로 표시된 명령은 Vim 전용입니다 (Vi에서는 구현되지 않음).

안전 종료 (저장되지 않은 변경 사항이있는 경우 실패) :

  • :q[uit] 현재 창을 종료합니다 . 이것이 마지막 창인 경우 Vim을 종료하십시오. 현재 버퍼 에서 변경 한 경우 실패합니다 .
  • :qa[ll]* 일부 버퍼가 변경되지 않은 경우 모든 창과 Vim을 종료하십시오.

프롬프트 종료 (저장되지 않은 변경 사항이있는 경우 프롬프트)

  • :conf[irm] q[uit]* 종료되었지만 일부 버퍼가 변경되면 프롬프트를 표시하십시오.
  • :conf[irm] xa[ll]* 변경된 모든 버퍼를 작성하고 Vim을 종료하십시오. 일부 버퍼를 쓸 수 없을 때 프롬프트를 표시하십시오.

변경 사항 쓰기 (저장) 및 종료 :

  • :wq변경되지 않은 경우에도 현재 파일을 작성하고 종료하십시오. 파일이 읽기 전용이거나 버퍼에 이름이 없으면 쓰기에 실패합니다. :wqa[ll]* 모든 창에 적용됩니다.
  • :wq!동일하지만 읽기 전용 파일도 작성합니다. :wqa[ll]!* 모든 창에 적용됩니다.
  • :x[it], ZZ( 세부 사항 포함 ). 파일 이 변경된 경우 에만 작성하고 :xa[ll]모든 창 에서 *를 종료하십시오 .

변경 사항을 취소하고 종료하십시오.

  • :q[uit]! ZQ* 보이는 버퍼가 변경 될 때에도 쓰지 않고 종료합니다. 숨겨진 버퍼가 변경된 경우 종료되지 않습니다.
  • :qa[ll]!*, :quita[ll][!]* Vim 종료, 버퍼에 대한 모든 변경 사항 (숨김 포함)이 손실됩니다.

Return명령을 확인하려면 누릅니다 .

이 답변은 모든 Vim 쓰기 및 종료 명령과 인수를 참조하지는 않습니다. 실제로 이들은 Vim documentation 에서 참조됩니다 .

Vim에는 광범위한 내장 도움말이 있으며, 입력 Esc:helpReturn하여 엽니 다.


이 답변은 원래 @dirvine이 작성하고 다른 SO 사용자가 편집 한 다른 하나 에서 영감을 얻었습니다 . Vim 참조, SO 의견 및 기타 출처에서 더 많은 정보를 제공했습니다. Vi와 Vim의 차이점도 반영됩니다.


답변

당신이 빔에 저장하지 않고 종료하려면 빔이 0이 아닌 종료 코드를 반환해야, 당신은 사용할 수 있습니다 :cq.

에 대한 새끼 손가락 이동에 귀찮게 할 수 없기 때문에 나는 이것을 항상 사용합니다 !. 나는 종종 파일로 저장할 필요가없는 것들을 Vim으로 파이프합니다. 또한 체크인을 중단하기 위해 0이 아닌 값으로 종료 해야하는 홀수 SVN 래퍼가 있습니다.


답변

Vim을 종료하는 최악의 시나리오입니다. 원하는 경우, 수행 한 작업에 대해 전혀 모르고, 열린 파일에서 어떤 일이 발생할지 신경 쓰지 않아도됩니다.

Ctrl-cEnterEnterviEnterCtrl-\Ctrl-n:qa!Enter

이것은 대부분의 시간을 보내 게 될 것입니다.

다음과 같은 것이 필요한 흥미로운 경우 :

  • iCtrl-ovg (삽입 모드에 들어간 다음 시각 모드와 운영자 보류 모드로 들어갑니다)

  • QappendEnter

  • iCtrl-ogQCtrl-r=Ctrl-k (이 경우에는 죽에 감사합니다)

  • :set insertmode(이것은 Ctrl-\Ctrl-n일반 모드로 돌아갈 때입니다 )


편집 :이 답변은 위의 경우로 수정되었습니다. 예전에는

EscEscEsc:qa!Enter

그러나 Ex 모드로 들어가면 작동하지 않습니다. 이 경우 다음을 수행해야합니다.

viEnter:qa!Enter

“내가 한 일을 알고 싶지 않고 아무것도 저장하고 싶지 않다.” 될 것이다

viEnterEscEscEsc:qa!시작하다


답변

easy 모드 ( -y옵션 을 사용하는 동안) 에서 Vim을 종료해야하는 경우 Ctrl+를 눌러 일반 Vim 모드로 들어갈 수 L있으며 정상적인 종료 옵션이 작동합니다.


답변

Vim에는 입력 모드, 명령 모드 및 Ex 모드의 세 가지 작동 모드가 있습니다.

입력 모드입력 한 모든 내용, 모든 키 입력이 화면에 표시됩니다.

명령 모드 또는 이스케이프 모드 -이 모드에서 입력하는 모든 것이 명령으로 해석됩니다.

Ex 모드 -다른 편집기입니다 (예 : 라인 편집기입니다. 그것은 라인 당 또는 라인 범위에 따라 작동합니다. 이 모드에서는 :화면 하단에가 나타납니다. 전 편집자입니다.

Vim을 종료하려면 ex 모드 또는 명령 모드에있는 동안 종료 할 수 있습니다. 입력 모드에있을 때는 Vim을 종료 할 수 없습니다.

전 모드에서 나가기

  1. 명령 모드에 있는지 확인해야합니다. 그렇게하려면 간단히 Esc키 를 누르십시오 .

  2. :키 를 눌러 전 모드로 이동

  3. ex 모드에서 다음 조합 중 하나를 사용하여 종료하십시오.

    :q-종료
    :q!:wq저장 하지 않고 종료
    -저장 및 종료 또는 쓰기 및 종료
    :wq!-wq와 동일하지만 파일 권한이 읽기 전용 인 경우 강제 쓰기
    :x-쓰기 및 종료
    :qa-모두 종료 다음과 같이 여러 파일을 열 때 유용합니다.vim abc.txt xyz.txt

명령 모드에서 나가기

  1. 이스케이프 키를 누릅니다. 명령 모드에있는 경우이 작업을 이미 수행했을 수 있습니다.

  2. 프레스 자본 ZZ ( shift zz)-저장 후 종료

  3. 자본 ZQ ( shift zq)를 누릅니다 . 저장하지 않고 종료합니다.