명령 줄에서 vim을 닫는 방법?


46

나는 이것이 일반적인 리눅스 질문이지만 더 많은 것을 알고 있습니다. 따라서 명령 프롬프트에 vim과 같은 프로그램을 입력하면 파일의 모든 텍스트가 표시되고 편집 할 수 있습니다.하지만 파일을 닫거나 저장하고 종료하지 않고 명령 프롬프트로 돌아가는 방법을 알 수 없습니다 과정. 도움을 주시면 감사하겠습니다.




답변:


70

vim에는 3 가지 모드가 있습니다 :

  • 삽입-정상적으로 입력하고 편집 할 수 있습니다
  • 시각적-복사 / 붙여 넣기 등을 선택하는 데 사용됩니다.
  • 보통-명령에 사용

일반 모드로 돌아가려면 언제든지을 누를 수 있습니다 esc.

일반 모드에 있으면를 눌러 :명령을 시작하십시오 (왼쪽 하단에 표시됨). 다음 명령은 quiting vim과 관련이 있습니다.

  • :q -변경 사항이 없으면 종료
  • :q! -변경 사항을 종료하고 삭제
  • :wq -변경 사항 작성 (저장) 및 종료
  • :x-와 유사하게 :wq, 변경된 경우에만 파일을 작성한 다음 종료

4
:x바로 가기에 대한 것입니다:wq
구 Muylaert

2
당신은 단지 "정상적인"모드를 잊어 버렸습니다. 와. 실제로 mode()vim 의 함수는 18 개의 고유 한 값을 반환 할 수 있습니다.
Benoit

Benoit이 암시 한 것처럼이 대답은 "명령 모드"라는 용어를 혼동하여 vim 문서에서 "정상 모드"라고 부르는 것을 나타냅니다. vim 문서 :는 일반 모드 에서을 눌러 명령 모드를 입력 한 것으로 간주 합니다. 를 누르면 esc정상 모드로 돌아갑니다. -1 표준 용어를 배우고 결과적으로 도움말 시스템을 이해할 수있는 사람들에게 오해의 소지가있는 경우.
intuited

6
@intuited 누구나 수정 사항을 제안 할 수 있습니다.이 평가는 의견에 묻혀있는 다운 투표와 좋은 조언보다 장기적으로 더 도움이 될 것입니다.
Michael Martin-Smucker

정보를 가져 주셔서 감사합니다. VIM 어딘가에 표시되어 인터넷에서 검색하기가 너무 어리 석습니다.
shridutt kothari

14

먼저 escape열쇠를 누르십시오. 1

그런 다음 입력하십시오 ZZ(두 개의 대문자 Z가 연속으로 있음).
또는을 입력하십시오 :x. 편집 내용을 저장하고 그대로 둡니다.
당신은 또한 사용할 수 있습니다:wq

또는 입력 할 수 있습니다 :q (일명 " quit, please "). 편집하지 않은 경우에만 종료됩니다.

수정 한 후 삭제하고 나가려면 :q!( " 종료, 저주 !")를 입력하십시오.

1 : 이렇게하면 "명령"모드에있게됩니다. 종료하는 데 필요한 것과 같은 명령을 입력하려고합니다.


4

불편한 점이 많지만 그래픽 프로그램 용 "X"버튼이있는 것처럼 명령 줄 프로그램을 종료하는 일반적인 방법은 없습니다.

많은 명령 줄 프로그램 중 하나를 사용하는 테마에 따라 Q(예 : mantop) 또는 Ctrl+ C(예를 들면 pingwatch출구), 그러나 이것은 특히 텍스트 편집기 사이에 상당히 다릅니다

  • 의 특정 용도의 모호한 조합 :q!한 다음 Enter, 통상의 프레스 여러 선행 Esc좋은 측정 값.
  • 또 다른 보석 인 EmacsCtrl+ XCtrl+를 선호합니다 C.

이와 같은 편집자는 경험이없는 사람들을위한 함정입니다. 필자의 개인적 선호와 권장 사항은 명령 줄에서 텍스트를 편집해야 할 경우보다 자명 한 Joe 's Own Editor (JOE) 대신 사용하는 것 입니다.


4
실제로 nano는 훨씬 더 보편적 인 자명 한 콘솔 텍스트 편집기 라고 주장합니다 .
jondavidjohn

@jondavidjohn 귀하의 경합은 무의미합니다. 나는 나노가 의심 할 여지없이 더 보편적이라는 것에 동의하며, 그것이 나노보다 덜 자명하다고 주장하지 않는다. 내 취향 JOE에 대한 그 때문이다 확장 기능 세트 , 내 추천 경험이없는 사용자는 같은 용어의 사용과 같은 미묘한 차이에 의해 영향을 받는다 저장 구식 대신에 WriteOut .
ændrük

일반적으로 ^ Z를 사용하여 프로세스를 일시 중단 할 수 있습니다. 그런 다음 죽이거나 무시하거나 배경에 넣거나 다시 가져올 수 있습니다. (% 1을 죽이거나 % x, bg, fg를 죽입니다). 어쨌든 작업 제어의 통일성이 있습니다.
belacqua

3

jondavidjohn의 답변과 함께 vim 사용에 대한 필수 정보가있는 두 개의 링크가 있습니다.

  1. 이것은 편집 모드, 명령 모드 또는 시각적 모드에 있는지에 따라 각 키의 기능을 보여주는 키보드 그래픽입니다.

    http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

  2. 이것은 내가 해본 최고의 vim 튜토리얼입니다. 대화식이고 이해하기 쉬우 며, 이는 IRC / 인스턴트 메시징 형식이기 때문입니다.

    http://www.vi-improved.org/tutorial.php

마지막으로 고급 명령 줄 텍스트 편집기를 사용하고 싶지 않은 aendruk과 같은 사람들이 있습니다. Vim은 특히 가파른 학습 곡선을 가지고 있으며 실제로 익숙해지기 위해서는 약간의 초기 노력이 필요합니다. 그러나 매우 빠르고 강력합니다. 기본 데스크탑 사용 이외의 리눅스에 관심이 있다면 Vim이나 Emacs와 같은 적절한 명령 행 텍스트 편집기를 배우는 데 시간을 투자 할 가치가 있습니다. 텍스트를 편집해야하고 그 이상을 신경 쓰지 않으면 gedit filename.txt대신 입력하십시오 . Windows의 메모장과 매우 ​​유사한 친숙한 그래픽 프로그램을 시작합니다.


@ djeikyb : 기본 데스크탑 사용법과 고급 명령 줄 텍스트 편집을 구별 해 주셔서 감사합니다. 다른 Linux 배포판에 비해 Ubuntu의 강점은 일상적인 컴퓨터 사용자가 Linux 데스크톱에 액세스 할 수있게하는 능력에 있습니다. 이제는 Vim과 같은 편집자가 무엇인지 알 필요가 없다는 독창적 인 사치가 점점 커지고 있습니다.
ændrük

... 나는이 특별한 자유를 염두에두고 일상적인 컴퓨터 사용 중에 인내심을 갖기 때문에 기존의 Linux 명령 줄 방법보다 높은 수준으로 작업하기로 결정했습니다. 나는 감당할 수 있기 때문에 간단하고 접근하기 쉬운 도구만을 사용하려고 노력 합니다 . 명령 줄 텍스트 편집기가 마음에 들지 않는다고 말하는 것은 정확하지 않습니다. 반대로 VimOutliner 플러그인으로 Vim을 좋아하고 Vimperator / Pentadactyl 프로젝트에 미치는 영향에 대해 빚을졌습니다.
ændrük

... 그러나 이러한 도구를 개인적으로 사용하는 것은 일반적인 컴퓨터 사용에서 벗어난 것으로 간주합니다. 저는 우분투 커뮤니티가 새로운 학습자에게 가파른 학습 곡선을 가진 고급 도구의 일상적인 사용이 일상적인 사용자 사이의 표준이라는 것을 쉽게 제안하는 것이 건전한 발전이라고 생각합니다.
ændrük

@Letseatlunch, 당신의 목표가 Vim에 능숙 해지기를 원한다면, 나는 당신이 그것을 계속 추구하는 것이 좋습니다. 중요한 점은 우분투가 다른 운영 체제에는 전혀없는 고급 도구를 많이 제공하지만,이를 사용하는 법을 배우는 것이 우분투를 사용하기위한 필수 조건이 되어서는 안된다는 것 입니다.
ændrük

대단한 설명! 더 잘 반영하기 위해 답변을 편집하겠습니다. 또한 gedit가 친숙한 gui와 더 높은 수준이고 nano가 처음에 나에게 엄청나게 혼동했기 때문에 nano보다 gedit를 추천했습니다 (캐럿 기호는 무엇을 의미합니까 ?? 어떻게 종료합니까? . vim을 고려하는 것은 내가 선택한 편집자입니다.
djeikyb

2

작동 Esc :q!하지 않으면

첫 번째 시도 Ctrl+를 q(함께 고정 된 화면 잠금을 해제하려면 Ctrl+를 s)

다시 저장 ( Esc :q!저장하지 않고 종료) 또는 Esc :wq(저장하고 종료)


0

저장하지 않고 종료하고 싶습니다 :

  1. 히트 ESC
  2. 히트 ZQ

저장 후 종료 :

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