vim으로 편집 한 파일을 어떻게 저장합니까?


66

편집 후 변경 사항을 저장할 수 없습니다

sudo vi /etc/network/interfaces

편집 전 텍스트 :

auto lo
iface lo inet ...

편집 대상 :

auto eth0
iface eth0 inet dhcp

이것을 저장하려면 어떤 키 조합 또는 순서를 눌러야합니까?


7
vi또는 과 같은 터미널 기반 편집기에서 파일을 편집하는 데 익숙하지 않은 경우 vim그래픽 기반 편집기를 사용하여 gedit여는 것이 좋습니다 . 교체 sudo vi와 함께 gksu gedit.
Aditya

5
또는 sudo nano명령 줄을 사용하지만 vi보다 훨씬 직관적입니다.
워런 힐

답변:


125

편집 / 삽입 모드 일 수 있습니다. 다음 순서를 입력해야합니다.

  1. Esc편집 모드를 종료하고 명령 모드로 폴백합니다.
  2. :+ w+ q하는 시작 :(콜론) 다음 Enter 키를 눌러 w마지막 qw 의식 및 Q UIT (또는 :w종료하지 않고 쓰기 위해)
  3. 를 눌러 Enter유효합니다.

18

나는 보통 누르면 ESC다음 개최 Shift를 눌러 z두 번. 단어 편집기에서 두 개의 대문자 Z 문자를 입력하려는 것처럼 문서를 저장하고 편집기를 닫습니다.


4
오 사람, 변화와 더블 Z, 내가? "우리가 만들 수있는 가장 직관적 인 명령이 무엇을", 궁금해 그 뒤에 디자인 논리는 무엇이고, 우분투는 가끔 화가처럼 날 화나게
.. S

4
@ Sam, vi가 우분투와 관련이없는 것을 nitpick하고 싶었습니다. 우분투는 2004 년에 처음 릴리스되었으며 vi는 1976 년 빌 조이 (Bill Joy)에 의해 ed (1971 년으로 거슬러 올라감)에서 영감을 받아 만들어졌습니다. 이것은 vi의 단축키가 오늘날에도 여전히 일반적으로 사용되는 거의 모든 다른 유틸리티의 단축키보다 빠릅니다. 일종의 우연의 일치로, 완전히 다른 이상한 지름길을 가진 첫 번째 버전의 emacs도 1976 년에 발표되었습니다. 표준화 노력은 훨씬 후에 이루어졌습니다.
yoniLavi

와우 정보 @yoniLavi 덕분에, 내 요점은 여전히 ​​동일하지만, 희망적으로 표준화 노력은 계속 발전하고 있습니다 .. :)
S ..

@Sam, vi 키 바인딩은 실제로 생각보다 훨씬 더 표준입니다. 그것들은 사실상 어디에나 있습니다. vi 키 바인딩을 에뮬레이트하기 위해 실제로 모든 프로그램을 만들 수 있습니다. 기본 Gmail 키 바인딩조차도 vi 키 바인딩을 기반으로합니다 (Vim 사용자에게).
와일드 카드

esc 키가 작동하지 않습니까? 삽입 모드가 막 멈췄습니다.
창조자

3

파일을 편집 할 수있는 관리 (루트) 권한이 있는지 확인하십시오. 이 명령을 사용하십시오

whoami

결과가 "루트"가 아닌 경우 파일을 편집하지 않아도됩니다.

루트 사용자로 로그인하려면 아래 명령을 사용하십시오

sudo su

또는

su

파일을 편집하십시오.

vi /etc/network/interfeces

변경 후 다음을 사용하여 파일을 저장하십시오.

  1. Esc모드를 변경하려면 누릅니다
  2. :x 파일을 저장하고 종료

그게 다야


0

이 질문은 오래 전에 답변되었지만 검색 엔진에 다시 나타날 경우이 링크 는 vim을 많이 사용하는 경우 북마크하려는 멋진 vim 치트 시트입니다.

그런데 :wq파일을 저장하고 종료하는 데 사용할 수 있습니다 (먼저 삽입 또는 교체 모드를 종료하려면 esc 키를 누른 다음 명령을 누름)하고 :q!저장하지 않고 종료 하는 데 사용해야 합니다.

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