etc./StackOverFlow

Vim 편집기를 종료하려면 어떻게 하나요?

청렴결백한 만능 재주꾼 2021. 10. 1. 03:18
반응형

질문자 :jclancy


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

 "type :quit<Enter> to quit VIM"

그러나 그것을 입력하면 단순히 개체 본문에 나타납니다.



Esc 키를 눌러 "일반 모드"로 들어갑니다. 그럼 당신은 입력 할 수 있습니다 : "명령 줄 모드"를 입력 할 수 있습니다. 콜론( : )이 화면 하단에 표시되며 다음 명령 중 하나를 입력할 수 있습니다. 명령을 실행하려면 Enter 키를 누릅니다.

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

ZZ 를 입력하여 저장하고 종료( :x 와 동일)하거나 ZQ 를 입력하여 ( :q! 와 동일) Vim을 "일반 모드"에서 직접 종료할 수도 있습니다. (여기서 대소문자가 중요합니다. ZZzz 는 같은 의미가 아닙니다.)

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


dirvine

그림은 수천 개의 Unix 명령 및 옵션의 가치가 있습니다.

여기에 이미지 설명 입력

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

Vi는 세 가지 상태만 있는 유한 상태 기계입니다.

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

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

  • i: 커서 위치에 INSERT로 이동
  • I: 줄의 시작 부분에서 INSERT 모드로 이동
  • A : 커서 APPEND
  • A: 줄 끝에 추가
  • o: 현재 줄 아래에 새 줄 열기
  • O: 현재 줄 자리에 새 줄 열기

이제 질문에 답합니다. 종료합니다.

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

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

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

마지막으로 가장 중요한 것은 EX 모드에 도달하는 방법입니다.

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

INSERT 모드에서 ESC, 즉 Escape 버튼을 눌러 COMMAND 모드로 이동한 다음 EX 모드로 이동해야 합니다.

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

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


Gergely

명령을 입력하기 전에 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 문서 에서 참조됩니다.

Vim에는 광범위한 내장 도움말이 있습니다. Esc :help Return 을 입력하여 엽니다.

이 답변은 영감을받은 다른 하나는 원래 @dirvine 저술 및 기타 SO 사용자에 의해 편집. Vim 참조, SO 주석 및 기타 소스에서 더 많은 정보를 포함했습니다. Vi와 Vim의 차이점도 반영됩니다.


Nick Volynkin

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

나는 핑키 시프트가 귀찮아서 항상 이것을 사용합니다 ! . 나는 종종 파일에 저장할 필요가 없는 것들을 Vim에 파이프합니다. 또한 체크인을 중단하기 위해 0이 아닌 값으로 종료해야 하는 이상한 SVN 래퍼가 작업에 있습니다.


Sue Spence

이것은 Vim을 종료하는 최악의 시나리오를 위한 것입니다. 만약 당신이 그냥 나가길 원하고, 당신이 무엇을 했는지 모르고, 당신이 연 파일에 어떤 일이 일어날지 신경쓰지 않을 것입니다.

Ctrl 키를 - 엔터 c는 vi \ Ctrl 키를-N - Ctrl 키를 입력 :qa! 입력하다

이것은 당신을 대부분의 시간 동안 밖으로 꺼낼 것입니다.

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

  • i Ctrl - o vg (삽입 모드, 비주얼 모드, 운영자 보류 모드로 전환)

  • Qappend 엔터

  • i Ctrl - o gQ Ctrl - r = Ctrl - k (이 경우에 대한 porges 덕분에)

  • :set insertmode (Ctrl - \ Ctrl-n 이 일반 모드로 돌아갔을 때)


이 답변은 위의 경우로 인해 수정되었습니다. 예전에는 다음과 같습니다.

Esc Esc Esc :qa! 입력하다

그러나 Ex 모드에 진입한 경우에는 작동하지 않습니다. 이 경우 다음을 수행해야 합니다.

vi Enter :qa! 입력하다

따라서 "내가 한 일을 알고 싶지도 않고 아무것도 저장하고 싶지도 않습니다. 지금 당장 나가길 원합니다!"에 대한 완전한 명령입니다. 될 것이다

vi Esc 키 Esc를 Esc 키를 입력 :qa! 입력하다


Community Wiki

쉬운 모드 에서 Vim을 종료해야 하는 경우 -y 옵션을 사용하는 동안 ) Ctrl + L 을 눌러 일반 Vim 모드로 들어갈 수 있습니다. 그러면 일반 종료 옵션이 작동합니다.


wsams

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

입력 모드 - 입력하는 모든 것, 모든 키 입력이 화면에 표시됩니다.

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

Ex 모드 - 이것은 다른 편집기입니다. 라인 에디터입니다. 라인당 또는 라인 범위를 기반으로 작동합니다. 이 모드에서는 화면 하단에 a : 가 나타납니다. 전직 에디터입니다.

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

ex 모드에서 나가기

  1. 명령 모드에 있는지 확인해야 합니다. 그렇게 하려면 Esc 키를 누르기만 하면 됩니다.

  2. : 키를 눌러 ex 모드로 이동합니다.

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

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

명령 모드에서 나가기

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

  2. 대문자 ZZ 누르기( shift zz ) - 저장 및 종료

  3. 대문자 ZQ를 누르십시오( shift zq ) - 저장하지 않고 종료합니다.


tovishalck

ESC (또는 내 컴퓨터에서는 cmd + C) 를 누른 후 : 를 눌러야 명령 프롬프트가 나타납니다. quit 입력할 수 있습니다.

정보가 저장되지 않았기 때문에 컴퓨터에서 종료를 허용하지 않을 수 있습니다. 어쨌든 종료하려면 !을(를) 입력하십시오. 종료 직후(예 :quit! ).


deleteMe

Windows에 Git 클라이언트를 설치하여 Vim을 얻었습니다. :q 나를 위해 Vim을 종료하지 않습니다. :exit 는 그러나 ...


Bjørn van Dommelen

q 명령은 해당 위치에서 주어진 분할을 닫습니다.

:q<split position> 또는 :<split position>q 는 해당 위치에서 분할을 닫습니다.

Vim 창 레이아웃이 다음과 같다고 가정해 보겠습니다.

 ------------------------------------------------- | | | | ------------------------------------------------- | | | | | | | | | Split 1 | Split 2 | Split 3 | | | | | -------------------------------------------------

q1 명령을 실행하면 첫 번째 분할이 닫힙니다. q2 는 두 번째 분할을 닫고 그 반대의 경우도 마찬가지입니다.

quit 명령에서 분할 위치의 순서는 중요하지 않습니다. :2q 또는 :q2 는 두 번째 분할을 닫습니다.

명령에 전달한 분할 위치가 현재 분할 수보다 크면 단순히 마지막 분할을 닫습니다.

예를 들어, 3개의 분할만 있는 위의 창 설정에서 q100

질문이 여기에서 제기되었습니다.


Subash

보장된 한 가지 방법은 vim을 실행하는 포트를 종료하는 것입니다.

 ! kill - 9 $(ps | grep vim | cut -d " " -f 1)

Tilak Maddy

출처 : 여기를 클릭하세요


출처 : http:www.stackoverflow.com/questions/11828270/how-do-i-exit-the-vim-editor

반응형