it-gundan.com

vi를 마스터하도록하는 가장 좋은 방법은 무엇입니까?

얼마 전 저는 viemu의 제작자에 의한 기사 를 읽으며 vi에 대한 많은 오해를 없애고 왜 그것이 좋은 아이디어인지에 대해 설명합니다. 지난 30 년 이상). 같은 사람도 한 번에 몇 가지 기본 사항을 가르치는 멋진 그래픽 치트 시트 세트 를 가지고 있습니다.

확신합니다.

나는 지난 2 년 동안 실제로 확신했다. 그러나 나는 여전히 내 주요 편집자로서 vi를 배우도록 강요받지 못했습니다. 학습 곡선이 너무 높습니다. 내가 일을 시작했을 때, 수용 가능하지만 즉각적인 생산성 (현재 편집기 사용)은 지금까지 훨씬 더 많은 생산성 (vi 사용)을 넘어 섰습니다.

학습 곡선을 통과하는 데 도움이되는 팁이 있습니까? 그것은 바로 팁, 다른 튜토리얼 또는 기사가 될 수 있습니다.

편집 : vi의 vim/gVim , CreamMacVim 등을 알고 있습니다. 나는 vi에 대한 질문을 계속하여 vi 가족을 전체적으로 언급했습니다. 모든 위대한 답변에 감사드립니다.

업데이트 (2009 년 4 월)

저는 지난 12 월부터 매일 매일의 직업 생활에서 Vim (보다 정확하게는 MacVim)을 사용하고 있습니다. 나는 돌아 가지 않을 것이다 :-)

Vim 숙달의 모든 사람에게 행운을 빕니다.

202
webmat

우선, Vim을 선택하고 싶을 수도 있습니다. vi가 가진 모든 기능과 함께 뛰어난 기능을 갖추고 있습니다.

즉, 배우는 훈련이 필요합니다. 당신이 직업을 가지고 있고 (해고 당하지 않고) 생산성을 감당할 수 없다면, 나는 편집자를 배우기위한 주말 프로젝트를 제안하는 것이 좋습니다. 작업 할 때 문서를 열어두고, 치킨을 먹지 않도록 충분히 훈련하십시오. 더 많은 것을 배우고, 효율적이되고 근육 기억에 의존하기 시작하면 그것을 고수하기가 어렵지 않습니다.

Vim을 오랫동안 사용하여 검색하거나 탐색하거나 저장하기 위해 어떤 키를 눌러야할지조차 생각하지 않았습니다. 그리고 내 손은 절대 키보드를 떠나지 않습니다. Vim을 사용하는 것은 프로그래밍 경력에서 선택한 최고의 선택 중 하나입니다.

124
Lucas Oman

가장 먼저 할 일은 화살표 키와 ins/home/end/pgup/down 키 위에 종이나 책을 놓는 것입니다. Vi에서는 필요하지 않습니다.

다음으로 탈출을하라는 지시가있을 때마다 ctrl + [를 누르는 것에 익숙해집니다. 훨씬 빠르며 키보드에서 손을 떼지 않아도됩니다.

그런 다음 스크린 캐스트를 보았습니다.

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

그런 다음 연습 연습을 연습하십시오.

edit 화살표 키를 피하는 이유는 속도가 느려지기 때문입니다. Vim의 가장 큰 장점 중 하나는 속도입니다. 화살표 키를 사용하면 모달 특성을 실제로 수용 할 수 없으므로 마스터 할 때 매우 강력합니다.

64
Aaron Jensen

Step 0 : 터치하는 법을 배웁니다. 진지하게-당신의 손가락이 열쇠가 어디에 있는지 모른다면 vim은 고통 스러울 것입니다. 그리고 vim을 거부하더라도 터치 입력은 프로그래밍 향상 (ask Steve Yegge ) 링크 마찰을 자유롭게 모니터링 할 수 있습니다. 입력을 개선하는 데 도움이되는 lot of software 가 있습니다.

Step 1 : 시작하려면 vimtutor를 사용하십시오. gvim (도움말 메뉴 아래에 있음)에 있거나 명령 줄에 'vimtutor'를 입력하면됩니다. 30-45 분의 시간이 소요되며 손가락으로 vi/vim의 기본 사항을 알 수 있으므로 키보드를 창 밖으로 던지지 않고도 파일을 편집 할 수 있습니다.

Step 2 : 어디서나 vim을 사용하십시오. this question IDE의 이메일을 작성하기 위해 웹 브라우저의 명령 행에서 vim 및 vi 키 바인딩 사용에 대한 팁 및 링크를 참조하십시오. .. 근육 메모리에 키 바인딩을 포함 시키려면 vim을 사용해야합니다.

Step 3 : vim에 대해 더 배우십시오. 당신은 단지 vimtutor로 표면을 긁었을 것입니다. 이 비디오를 시청하십시오 또는 읽기 이 기사 ( "효과적인 텍스트 편집의 7 가지 습관"에 대해. readtipstricks on StackOverflow . vimtips 를 탐색 할 수 있습니다. 저 작은 크기의 청크를 고집하는 것이 지식을 고수하는 가장 좋은 방법이 될 것입니다.

단계 4 : 이익 :)

37
Hamish Downer

나는 수년 동안 vim을 자주 사용하는 사용자였습니다 (때때로 시스템 관리자 일을하고 있습니다). 최근에 프로그래밍 작업에 더 많은 시간을 투자하기 시작했습니다. 나는 gvim으로 시작하는 것이 좋습니다. 그것은 대부분의 OS 환경과 잘 통합되며, 더 좋을지라도 필요할 때 마우스로 돌아갈 수 있습니다. :).

Vim을 사용하려면 Vimtutor를 통해 실행 (gVim과 함께 제공) 한두 번 (1 시간 정도 소요). 나는 그것이 나에게 얼마나 도움이되었는지 말할 수 없다! 특히 문서를 이동하는 여러 가지 방법과 모션 명령 등으로 편집 동작이 기록되는 방법에 대한 첫 번째 부분은 훨씬 명확합니다.

그런 다음, 빠른 클립에서 유용한 편집 작업을 수행 할 수있을 때까지 신속하게 사소한 편집 (메모장 교체 작업)을 시작하십시오. 그런 다음 일상적인 일을 해보십시오. 다른 편집자에서 "마지막 반복 작업"명령을 바로 사용할 수 있습니다.

26
Brian

Vi 텍스트 편집기에서 학습 곡선을 극복하는 데 도움이되는 유용한 팁을 요청했습니다. 이전 답변 중 많은 사람들이 다른 편집기를 사용하지 말 것을 제안합니다. 좋은 조언이라고 생각합니다. 보다 그래픽 편집기에서 vi로 전환하려면 사고 방식을 변경해야합니다. 시각적 변화보다는 명령의 관점에서 생각해야합니다.

나는 오랫동안 vi를 사용하지 않았으며 생산성을 높일 수있는 유일한 방법은 정기적으로 사용하는 명령을 외우는 것 뿐이라고 생각합니다. 내가 한 방법은 가장 일반적인 키보드 명령의 짧은 목록을 만드는 것입니다. 나는 커서 이동, 편집, 검색 등의 기능별로 이러한 명령을 그룹화하고 색상으로 구분했습니다. 내가 몰랐던 명령. 아이디어는 사용 가능한 도움말 화면을 대체하지 않고 암기하는 데 도움이되는 빠른 참조를 작성하는 것입니다. 그런 다음이 목록을 인쇄하여 모니터 뒤에있는 벽에 테이프로 붙여서 쉽게 볼 수 있도록했습니다. (당신이 언급 한 그래픽 치트 시트는 일부에게는 더 효과적 일 수 있지만, 아마도 암기 도구보다 더 나은 참조 소스 일 것입니다.)

여기에 열쇠가 있습니다. 명령 중 하나에 익숙해지면서 연필로 그 선을 그렸습니다. 필요한 경우 여전히 볼 수 있지만 그 명령을 숙달 한 것은 나에게 상징적이었습니다. 정기적 인 진전을 볼 수 있었기 때문에 자신감과 동기가 부여되었습니다. 일단 대부분의 문제가 해결되면, 나는 그것들을 제거하고 거의 사용되지 않는 몇 가지 명령을 추가했습니다. vi 명령에 만족할 때까지이 과정을 계속했습니다. 나는 내가 명령을 넘지 않았거나 오랫동안 목록을 보지 못했다는 것을 깨달았을 때 그 시점에 도달했다는 것을 알았습니다.

몇 년 전에 vi가 유일하게 사용 가능한 편집기 인 UNIX 플랫폼에서 작업해야했습니다. vi에서 작은 포켓 참조 서를 구입했지만 거의 사용하지 않았습니다. vi를 처음 사용할 때처럼 목록을 작성하고 벽에 게시했습니다. 첫 주가 끝날 무렵 vi를 사용한 지 5 년이 지났지 만 매우 편안했습니다.

19
TMarshall

vim (Vi 개선) 및 특히 GUI- gVim . GUI에는 메뉴가 있으며 Windows에서는 복사, 잘라 내기 및 붙여 넣기 바로 가기를 사용할 수 있으므로 메모장을 즉시 바꿀 수 있습니다. 메뉴에 바로 가기 (vim 명령)가 표시되므로 많은 것을 배울 수 있습니다.

처음부터해야 할 또 다른 일은 필요에 따라 vi를 구성하는 것입니다. 예를 들어, vim을 Python IDE 로 변환 할 수 있습니다. 이 작업을 수행하면 vi가 필요한 모든 것을 제공하기 때문에 다른 편집기를 사용할 이유가 없습니다.

11
Cristian Ciupitu

저에게 VI는 훌륭한 비상 편집자이지만, 다른 대안이 있다면 사용하고 싶은 것이 아닙니다. 나는 이것이 모든 사람을위한 것이 아니라는 것을 알고 있습니다. 나는 그것이 끔찍하거나 아무것도 말하지 않고, 개인적으로 검색 가능한 UI를 선호합니다.

그러나 리눅스에서 중요한 일을한다면 VI를 알아야합니다!

I = 삽입 모드 esc = leave insert mode : wq = save and quit : q! = 저장하지 않고 종료하지 않음 x = 삽입 모드가 아닌 경우 문자를 삭제하십시오./= 검색

편집 비상 상황이 발생할 수 있습니다. 그 몇 가지 명령 (및 탐색)으로 할 수있는 일은 없습니다. 나머지는 필요에 따라 "고착"할 수 있습니다.

그래도 VI를 사용해야 할 때는 참조 나 책을 계속 사용하십시오. 웹을 탐색 할 수는 없지만 매뉴얼 페이지는 다소 유용 할 수 있습니다.

11
Bill K

자신을 강요하지 마십시오. 숙달 된 사랑으로가는 길입니다.

11
jbarciela

다른 모든 텍스트 편집기 앱을 삭제하십시오.

그럼 당신은 그것을 배워야 할 것입니다.

10
Bob Dizzle

force 자신을 만드는 가장 간단한 방법은 컴퓨터에서 다른 모든 편집기를 제거하는 것일 수 있습니다. 유혹을 제거하십시오 :)

9
Dana

복잡한 편집 작업을 수행 할 때마다 더 효율적인 방법이 있는지 궁금해하십시오. 대부분의 경우 "텍스트 단락 바꾸기"또는 "주석 된 행에서 X 문자 뒤의 모든 항목 삭제"와 같이 간단한 용어로 설명 할 수있는 경우 vim에서 몇 번의 키 입력으로 수행 할 수 있습니다.

매우 유용한 몇 가지 주요 기능이 있으며 항상 사용을 중단합니다. 내가 가장 사랑하는 것은 :

  • 블록 선택 (Ctrl-V)
  • 매크로 기록 (q)
  • 가상 편집 (: set ve = all)
  • 정규식
  • 외부 유닉스 프로그램으로 파이프
  • 키 매핑
  • 자동 완성 (C-p, C-x C-p, C-x C-f)
  • 조작 + 운동 조합 (놀랍게도 강력합니다)

다른 프로그래머에게 가장 유용한 기능을 찾고 뇌에 더 적합한 기능을 채택하십시오. 다른 사람들의 아이디어를 훔치세요 .vimrcs ( 여기 내 광산 )

9
Roberto Bonvallet

편집 : 온라인 간격 반복 사이트 flashcarddb.com에서 플래시 카드 설정 을 만들었습니다. 관심이있는 경우 ...

  1. mnemosyne , supermemo 또는 anki 과 같은 간격의 반복 플래시 카드 프로그램을 사용하여 학습 및 유지하는 새로운 명령을 일상에 통합하십시오. vim을 일일 편집자로 사용하는 것만으로는 충분하지 않습니다. 그것을 마스터하기 위해서는 해당 코드를 머릿속에 저장하고 있어야 할 작업에 이상적인 솔루션이 될 때까지 기다리십시오.
  2. 사용자 정의로 .vimrc 유지 보수
  3. Vim 플러그인 작성 또는 편집
8
P. Myer Nore

나는 Vim을 이용한 효율적인 편집 a에 대한 가이드를 작성했습니다. 도움이 될 수 있습니다.

잠시 물러서서 "이 편집기를 배우고 싶은 이유는 무엇입니까? 현재 텍스트 편집기보다 더 빠르거나 나을 것이라고 생각하는 이유는 무엇입니까?" 그런 다음 Vi (m)을 필수 불가결하게 만드는 기능을 학습하십시오.

예를 들어 Vim의 CTags 통합은 필연적으로 필연적입니다. 매우 큰 코드베이스로 작업하고 하나의 키 입력 (파일이있는 파일에 관계없이)으로 함수 또는 클래스 정의로 건너 뛸 수있는 기능은 절대적으로 킬러 기능입니다.

.vimrc 파일을 사용하여 일반적인 작업을 자동화하는 매크로를 만드십시오.

자동 조종 장치 편집자-선택자는 최소한의 정신적 노력으로 가장 빠르게 작업을 수행 할 편집기를 선택합니다. 약간의 준비 작업을 수행하면 편집기가 Vim이됩니다. :-)

8
Jonathan

Vi 기술을 크게 향상시키는 두 가지 사항 :

  1. 연습, 연습, 연습
  2. 넷핵
6
Mark Witczak

내 제안 : 작은 시작. 가장 유용한 작은 명령들을 외우면서 시작하십시오. vi를 시작했을 때 이것들은 내 상위 10 위였습니다.

  • (Esc) 명령 모드로 돌아 가기 (가장 중요합니다!)
  • a 커서 뒤에 텍스트를 추가
  • 현재 줄의 끝에 텍스트를 추가하는 A
  • 1 문자를 삭제하려면 x
  • 한 줄을 삭제하려면 dd
  • 텍스트를 대체하는 R (덮어 쓰기)
  • 실행 취소
  • :큐! 저장하지 않고 종료하려면 (Enter)
  • : w (Enter)를 눌러 저장
  • 저장하고 종료하는 ZZ

이 명령 만 사용하여 많은 기본 편집을 수행 할 수 있습니다. 편안 해지면 나머지는 그리 어렵지 않습니다.

BTW, 나는 기본 텍스트 편집기에 vi를 사용했지만 이제는 필요할 때만 사용한다고 덧붙이고 싶습니다. 필자의 경우 Emacs 또는 Visual Studio와 같은 도구를 사용하면 생산성이 향상됩니다 ( "내 경우"). 하나 이상의 도구를 사용하여 생산성을 가장 높이는 도구를 선택하십시오. 행운을 빕니다!

6
Paulus

어리석게 들리지만 roguelike 게임 ( Nethack 또는 Angband )과 같은 게임을하는 것은 h/j/k/l 커서 탐색을위한 키.

5
bk1e

직장에서 사용하는 동안 현재 편집기에서 사용하는 모든 바로 가기 및 기능을 기록하십시오. 그런 다음 토요일 아침에 앉아서 Google을 사용하여 vi에서 각 작업을 수행하는 방법을 찾으십시오. 이를 위해 용지를 사용하는 것이 가장 좋습니다.

이제 직장에서 다른 편집자를 비활성화/삭제하여 비교 시트를보고 vi에서 수행하는 것보다 더 오래 찾아서 다시 설치하는 데 시간이 오래 걸립니다. 선택할 수 없습니다.

마지막으로, 이전 편집기에서 블로그의 새 바로 가기로 크로스 오버 단축키 목록을 게시하십시오.

행운을 빕니다!

4
Guy

X11을 사용하지 않습니까?

$ sudu rm /usr/local/bin/emacs

로그인 쉘을 vi?

먼저 ed를 사용하도록 강요 한 다음 vi는 사치처럼 보일까요?

bash?에서 vi 키 바인딩을 사용하십시오.

항상 vi 사용을 시작 하시겠습니까?

편집자를 배우는 것이 언어를 배우는 것과 크게 다르지 않은 것 같습니다. 침수가 가장 효과적입니다.

정말 빠른 편집을 위해 vi를 사용하거나 어떤 이유로 X11을 사용할 수없는 경우 emacs에 살고 있습니다. 정말 강력한 편집자는 시간을내어 배우는 것이 좋습니다.

4
Jon Ericson

vi를 사용하는 주된 이유는 ssh (또는 Windows의 PuTTY)입니다. Unix 서버에 원격으로 로그인하면 vi을 항상 사용할 수 있습니다. 그리고 커서 키나 백 스페이스/삭제가 매핑되지 않은 경우 VT100과 함께 작동합니다.

VI Editor Pocket Reference 와 같은 책을 갖는 것도 큰 도움이됩니다.

3
Aaron Digulla

처음으로 emacs를 배우기 시작했을 때를 기억합니다. 이미 Vim에 익숙해 졌을 때였습니다. 저는 시작했던 것처럼 다른 편집자에서 많은 일을하는 방법을 알고 있었던 당신과 같은 또는 비슷한 보트에있었습니다. 이맥스를 사용하면 항상 고통스럽게 느려졌습니다.

그러나 나는 당신이해야 할 일은 약간의 고통을 흡수하는 것이라고 생각합니다. 항상 항상 항상 당신이 할 수있는 일을하기위한 문서를 찾아야합니다 know 줄 끝으로 이동하거나 텍스트 영역 선택과 같은 이전 편집기에서 수행하십시오.

또한 현지 Vi-expert 전문가가 있으면 질문을 할 수 있거나 회사와 같은 경우 페어 프로그래밍을 홍보하는 데 도움이됩니다. 그렇게하면 쉬운 일을하려고 할 때 간단히 누군가에게 물어볼 수 있고, 방법을 보여줄 것이며, 몇 주 동안 정기적으로 편집기를 사용한다면 더 이상 묻지 않아도됩니다. 두 번째 자연이되기 전에 몇 번.

지역 자원이없는 경우 대부분의 질문에 대답 할 수있는 많은 서적/자습서/참조 시트가 온라인에 있습니다.

궁극적으로 Vi를 배우는 것은 다른 기술을 배우는 것과 같으며, 은총 알이 없으며, 잠시 동안 현재 편집자보다 생산성이 떨어질 것이라는 점을 인정해야합니다. "다른 사람들이 Vi를 배울 수 있었고, 적어도 그들만큼 똑똑해"라고 스스로에게 계속 말하십시오.

3
ben.prew

내 추천은 간단한 프로그램을 만들어서 작성하고, VI를 사용하여 끝내기 시작하는 것입니다.

확률은 학습 곡선에 의해 처음에는 너무 좌절되어 직장이나 시간에 민감한 환경에서 사용하게됩니다.

환경/편집자에 익숙해지기 전에이 작업을 수행했으며 꽤 잘 작동합니다.

글을 작성하는 데 문제가있는 경우 학교에서 수행 한 프로젝트 (또는 이전에 수행 한 다른 작업)를 다시 실행하는 것이 좋습니다. 이 방법을 사용하면 더 나은 개발자가 몇 명인지 알 수 있습니다. :)

편집 : 마우스 사용에 대한 유혹을 피하기 위해 콘솔에서 완전히 수행해야한다는 것을 언급하지 않았습니다!

3
TM.

gVIM에는 정말 좋은 튜토리얼이 있습니다 (시작 메뉴 그룹의 링크).

나는 그것을 통해 일하는 것이 초기 학습 혹을 극복하는 데 도움이된다는 것을 알았습니다. Visual Studio를 ViEMU로 전환하면 VI 기술을 연마하는 데 도움이되었습니다.

또한 http://vimcasts.org/ 의 스크린 캐스트도 훌륭합니다!

3
David Laing

크림으로 시작하고 싶을 수도 있습니다. 크림 자체는 vim의 "현대 구성"이라고 설명합니다. 기본적으로 그것은 모든 실제적인 목적을 위해 다른 텍스트 편집기처럼 보이고 느껴지는 vim의 특수 버전입니다. 그러나 "전문가 모드"를 활성화하면 vim의 모든 힘과 동작을 갖게됩니다.

따라서 일반 텍스트 편집기로 Cream 사용을 시작한 다음 vim으로 완전히 전환 할 수있을 때까지 "전문가 모드"를 실험 해보십시오.

2
sids

사용하는 모든 플랫폼에 gVim를 설치하십시오.

그런 다음 암호를 통해 실행하십시오 (명령 행에서 :help vimtutor 또는 vimtutor).

다음 강의를보고 그 조언을 따르십시오 : 유효한 텍스트 편집 2.0 습관

나는 당신이 모든 편집에 그것을 사용하기 시작하고 싶다고 말합니다. 생산성 손실을 두려워하는 경우 주말에 견실하게 연습하십시오 (한 번은 쿼티에서 드보 크로 전환하고 월요일까지 생산성이 높았으며 그 후에도 계속 고수했습니다).

노력할 가치가 있으며 뒤돌아 보지 않을 것입니다!

2
user13060

원본 Happy Hacker 키보드 (화살표 키 없음) 중 하나에 손을 대고 편집을 시작할 때마다 (무선) 마우스를 손이 닿지 않는 곳에 둘 수 있습니다.

2
Garth Gilmour

많은 명령/바로 가기 목록을 작성하는 것은 쉽지만 연습없이 모두 기억하기는 어렵습니다.

한 번에 하나의 새로운 명령에 집중하십시오. 자동으로 변하면 1 ~ 2 주간 사용한 후 레퍼토리에 다른 것을 추가하십시오.

단기적으로 특정 일을 완수하기 위해 많은 시간을 할애 할 것입니다. 바로 새로운 지름길을 배울 수있는 기회입니다.

내 경험상 한 번에 너무 많이 복용하지 않으려 고 할 때 더 쉬웠다.

2
Craig Hyatt

저의 제언은 키보드를 보지 않고도 빠르게 타이핑하는 법을 배우는 것입니다.

유형을 만질 수없고 항상 콜론이나 hjkl 또는 : % s/foo/bar를 사냥하고 삐걱 거리는 경우 잊어 버리십시오. 마우스를 사용하는 것보다 can 을 입력하는 것이 더 빠를 수 있지만, 그렇지 않은 경우 vi가 작동하지 않습니다.

그러나 좋은 타이핑 기술, ssh 및 screen 을 결합하면 vi는 자연 스럽습니다.

2
Michael Cramer

코드를 다시 들여 쓰려면 ESC gg=G, 탭을 공백으로 바꾸거나 공백을 탭으로 변환하는 :retab는 나를 vim에 매료 시켰습니다. 따라서 실제로 사용하도록 강요 할 필요는 없으며 속도를 높이는 데 도움이 될 수있는 시점을 알아야합니다.

vimtutor를 통과하십시오.

설정 파일이나 html과 같은 간단한 편집을 위해 vim을 사용하십시오. 필요에 따라 명령을 학습하십시오.

귀하의 툴체인을 사용하는 사람이 사용하는 좋은 .vimrc를 Google에서 검색하십시오. 구문 강조를 켭니다. 멋진 색 구성표를 찾으십시오.

Vim은 복잡한 XML 태그로 몇 단어를 형식화하거나 CSV를 HTML 테이블로 변환하는 것과 같이 자동화 된 작업 및 스 니펫 삽입에 가장 적합하므로 매크로를 배우십시오.

2
Eduardo Marinho

즉각적인 성능 저하를 일으킬 것이라는 사실에 직면하십시오. 새로운 도구를 배울 때는 다른 도구를 사용하는 방법을 알고있는 문제를 해결할 수 있어야합니다. 새 도구를 사용하면 잠시 후에 사라지고 근본적인 문제에만 집중하게됩니다.

Vim과 같은 것 (다른 사람들이 말했듯이 vim이 vi보다 훨씬 우수합니다)을 정기적으로 다시 읽고 찾아 보는 것이 중요합니다. 인터페이스가 없으면 인터페이스를 완전히 발견 할 수 없습니다. 각각의 새로운 독서와 함께 당신은 기능을보고 "아하, 그것은 지난주에 알아 내려고이 문제를 해결했을 것"이라고 말하고, 당신의 두뇌에 그것을 멀리합니다. 실제 문제와 관련된 솔루션은 무작위 단축키보다 기억하기가 훨씬 쉽습니다.

결국 vim을 기능의 작은 부분 집합과 함께 사용할 수 있으므로 모든 종소리와 휘파람에 압도되지 마십시오. Word의 모든 기능을 생각하면 99 %의 사람들이 사용합니까?

2
Matt Price

제가 어렸을 때 (11 살) 가족은 2 년 동안 독일로 이사했습니다. 몰입을 통해 언어를 배울 수있었습니다. 언어를 말할 수밖에 없었습니다 (심각한 상황에서 영어를 구사할 수는 있지만).

내 제안은 당신이 똑같은 일을하는 것입니다-당신이 절대적으로 절망적 인 상황에 있지 않으면 (예를 들어, "좋아요/etc/passwd를 삭제하고 루트를 되돌려 야합니다") vi로 최선을 다하겠다는 의식적인 결정을하십시오. 당신이 원한다면 기본을 배우는 데 실제로 오래 걸리지 않습니다.

다른 사람들이 제안했듯이

vim-tutor

정말 좋은 출발점이 될 수 있습니다 이 이미지처럼 .

1
cjmac

포스트잇 방식 사용 :-)

Gvim을 사용할 때는 자신이 메뉴를 사용하도록하십시오. 기본 사항을 알 수 있도록 vim에 관한 책/자습서를 읽으십시오. (삽입 및 명령 모드)

필요하다고 생각되는 멋진 기능을 선택하고 포스트잇 메모에 작성한 다음 모니터 아래쪽에있는 기능을 고수하십시오.

좋은 시작은 아마도 i, a, o, gg, G, : 10,/something입니다.

yy, dd, p와 같은 잘라내어 붙여 넣기

v, V (시각 모드) + 잘라 내기 및 붙여 넣기만으로 마무리하십시오.

그런 다음 알고 있으면 포스트잇을 훨씬 더 멋진 기능을 가진 새 것으로 교체하고 만족할 때까지 반복하십시오.

/ 조한

1
Johan

자신을 강요하는 방법? 내 조언은 창에서 상자에 telnetting/puttying하여 10 개의 유닉스 박스를 유지 해야하는 작업 환경에 있다는 것입니다. * nix의 여러 변형에서 텍스트를 효율적으로 편집하는 유일한 방법은 내가 아는 거의 모든 배포판과 함께 제공되는 표준 편집기를 사용하는 것입니다. 또한 X11을 새로 설치할 때 시작하지 않으면 vi는 유일한 친구입니다. :)

1
Excalibur2000

저는 10 년 전에 마스터를 할 때 vim/vi를 배웠습니다. 그때 내가 액세스 할 수있는 유일한 시스템은 Sun Sparc 스테이션입니다 (Sparc 20). 그리고 vi는 그것에 관한 유일한 것입니다. 따라서 자신을 "강제"하기 위해 할 수있는 한 가지는 다른 편집기를 제거하는 것입니다!

1
lang2

개인적으로해야 할 일은 여러 응용 프로그램에서 Vim 키 바인딩을 사용할 수 있는지 확인하는 것입니다. 편집기를 변경할 때마다 텍스트를 편집하는 방식을 완전히 전환해야했기 때문에 근육 메모리에 Vim 편집 스타일을 적용하기가 너무 어려워졌습니다.

필자의 경우 Viemu + vimperator가 트릭을 수행했습니다.

1
tomasr

도메인 편집 스크립트가 터미널에서 vi 만 열린 ISP에서 작업을 시작했을 때만 vi를 배웠습니다. 나는 그것을 배우는 것 외에는 선택의 여지가 없었지만 결코 후회하지 않았습니다.

요컨대, 배우는 것 외에는 선택의 여지가없는 상황에 처하십시오.

0
Nathan Fellman

나는 argdo 로 시작할 것이고, 일단 당신이 그것에 사랑에 빠지면, 나머지는 쉽습니다 ...

0
Kearns

Vi 애인의 사이트에서 몇 시간을 보내십시오 http://nereida.deioc.ull.es/html/vilovers.html -vi의 열렬한 팬들과 함께 튜토리얼, 링크 등이 많이 있습니다.

0
DarenW

현대 vi (vim?)에서 실제로 혼란스러워 한 가지는 명령 모드의 일부 기능을 허용하지만 일부 기능을 허용하는 입력 모드입니다. 입력 모드가 이전 Solaris vi의 "덮어 쓰기 만 가능하고 커서 이동이 불가능합니다." 실제 vi를 사용하려면 대부분 명령 모드를 유지해야합니다.

즉, 오늘날 vi를 배울 필요가 없습니다. emacs는 어디에나 있습니다. :)

0
Arkadiy

당신이 할 수있는 모든 것은 명령 줄에 도착하는 실제 환경에서 이상한 문제를 디버깅해야 할 때까지 기다리십시오. VI를 좋아하지 않을 수도 있지만 많은 시간을 절약 할 수 있으며 방대한 (로그) 파일을 단계별로 실행하는 많은 트릭을 배울 수 있습니다.

0
Andrew Harmel-Law

나는 일반적으로 vi를 좋아하고 vim을 좋아하지만 강력한 편집기가 많이 있으며 vi를 사용할 필요가 없다고 생각해서는 안됩니다. 그렇지 않으면 vi가 절대적으로 완벽한 편집기입니다.

Vi를 사용하도록 강요해야한다면, 생산성이 있다고 생각하지 않을 것입니다. 그러나 지속성을 주장한다면 모든 단일 편집 작업에 vi를 사용해야합니다. 내가 무언가를해야하고 그것을하는 가장 좋은 방법이 없을 때마다 vi에서 수행 할 수있는 최적의 키 스트로크를 찾으려고 노력했습니다 .-after 그것은 최적이 아닌 정상적인 방법입니다. 그런 다음이 작은 팁 (또는 텍스트 파일)으로 포스트잇 메모를 작성하여 다음에 기억할 것입니다.

시간이 지남에 따라 vi의 생산성이 크게 향상됩니다.

0
Brian Mitchell

나는 훌륭한 O'Reilly 저서 "vi 편집기 배우기" 에서 vi를 배웠습니다.

0
Phillip Wells

왜 저 자신을 저 마찰 방식으로 강요하지 않습니까? :-)

내가하는 일은 간단합니다 : vim을 사용하여 git commit 메시지를 만들려고합니다 (명령 줄에서 메시지를 지정하지 않으면 기본 편집기).

물론 커밋 메시지는 너무 짧아서 거의 도움이되지 않습니다. 그러나 git commit --amend 더 도움이됩니다.

0
webmat

인터넷에서 찾을 수있는 많은 Vi/Vim 치트 시트 중 하나를 인쇄하여 몇 주 동안 자신이 붙도록 강요하십시오.

기본 명령을 익힌 후에는 매우 효율적일 수 있습니다. 거기서부터 연결을 끊고 가끔씩 새로운 명령을 배우십시오. 모든 vi 명령을 배울 수있는 방법은 없습니다. 나는 우주에 원자보다 더 많은 vi 명령이 있다고 믿는다 !! :)

0
Utah_Dave

내가 한 방법은 처음 몇 분 동안 커서를 움직이거나 앞뒤로 검색하고 다음 및 이전 단어/문장/단락으로 이동하는 등 가장 기본적인 것들을 다루는 것이 었습니다. 삽입, 추가. 머리에 맞을 수있는 것은 무엇이든. 그런 다음 15 초 안에 수행 할 필요가없는 작업이 있으면 사용하십시오.

기본 사항에 익숙해지면 고급 학습 명령, 특히 이전 학습을 활용하는 명령 (다음 3 개 단어 교체 또는 다음 검색 대상으로 삭제)을 천천히 학습하십시오.

방법을 익힌 후에는 VI 사용을 좋아합니다. 고급 명령은 대부분의 GUI 편집기가 제공하는 것보다 훨씬 강력하며, 유비쿼터스 및 텍스트 기반이며 ssh를 통해 사용할 수 있다는 사실이 더 좋습니다.

0
randychilders

내가 한 짓을 해 모든 것을 위해 그것을 사용하고 freenode의 #vim에서 행 아웃하십시오.

0
Jeremy Cantrell

구글은 당신의 친구입니다. 창이나 탭을 편리하게 유지하고 코드를 들여 쓰거나 정규식으로 검색하는 등 여러 번해야 할 일이 있으면 찾아보십시오. 가장 좋은 힌트는 사이트가 우호적이되어 일부를 북마크하고 치트 시트를 인쇄하는 것입니다.

0
sammyo

VI는 Windows를 제외한 거의 모든 운영 체제의 기본 편집기이기 때문에 VI를 사용하기 시작했습니다. 그런 다음 다시 Windows에서 많은 코딩을 수행하지 않으므로 도움이됩니다.

* NIX/OSX 시스템을 사용하려면 다른 편집기를 제거하거나 별명을 지정하십시오. 나머지는 자신에게 달려 있습니다. VI를 사용하여 파일을 편집하지 않을 때마다 쿠키를 얻지 못합니다.

0
Kristian

가장 좋은 방법은? vi 키 바인딩을 사용하도록 터미널을 설정하십시오.

0
chiggsy

notepad.exe를 삭제하고 대신 notepad라는 vim에 대한 바로 가기를 만듭니다. :)

또는 ssh를 통해 또는 GUI가없는 컴퓨터에서 모든 코딩을 수행하십시오.)

0
shyam

작은 치트 시트 또는 일반적인 vi 명령에 대한 스티커 메모를 유지하려고했습니다. IDE 사용하는 경우와 같은 작업을 수행합니다. 모니터에 키보드 단축키 나 명령의 스티커 메모를 표시하면 학습에 도움이됩니다. 바로 가기에 충분하고 잘 기억한다고 생각되면 스티커 메모를 제거합니다.

0
Bob Wintemberg

시스템의 모든 터미널 편집기를 vim으로 심볼릭 링크하고 시스템의 모든 그래픽 편집기를 vim을 실행하여 새 터미널 창을 여는 스크립트로 symlink하십시오.

0
Steve Losh

FTP를 사용하는 대신 Linux 인 웹 서버에서 파일을 편집하는 데 사용했습니다. 9 년 전이었고 기술을 완전히 익혔습니다.

다른 하나는 글로벌 검색 및 대체 또는 더 강력한 것과 같이 VI에서 할 수있는 일을 찾아서 필요할 때마다 VI를 사용하는 것입니다.

0
Brian G

무언가를 빨리 검색해야하는 경우 한 페이지에 모두 포함 시키면 도움이 될 수 있습니다.

0
webmat

며칠 동안 강제로 사용하면 명령이 곧 제 2 특성이된다는 것을 알 수 있습니다. posix 시스템을 사용하는 경우 클래식 1 : 1 vi 복제 본인 BSD 라이센스 nvi로 시작한 다음 vim으로 이동하는 것이 좋습니다. vim으로 시작하면 INSERT 모드가 GUI 편집기와 매우 유사하기 때문에 편집 명령의 서브 세트 만 사용하는 것 같습니다.

0
jbcreix

음, 이것은 프로그래밍 질문보다 물리학 질문이지만, 내가 정말로 원하지 않는 일을 할 수 있었던 가장 좋은 방법은 그냥하고, 스스로 동기를 부여하는 방법으로 시도하지 않는 것입니다. 그것을하기 위해.

이를 양치질이라고 생각하십시오. 스스로 동기를 부여해야합니까? 아뇨, 그냥하세요.

0
Craig H

Vi와 emacs 만 사용할 수있는 시스템 ( 'rn'에서 호출 할 때 emacs가 시작 시간이 오래 걸리는 시스템)에서 Usenet에 게시하는 데 10 년을 보냅니다.

그것이 내가 배운 방법입니다.

그러나 더 빠른 접근 방식을 위해 내가 추천 할 수있는 것은 단지 그것을 배우기 위해 헌신하고 몇 시간 동안 소스 코드를 작성하는 것입니다. vim을 아직 설치하지 않았다면 설치하십시오-훌륭한 구문 강조 기능이 있습니다.

그만한 가치가 있습니다. 서구 어디에서나 느린 전화 접속 연결이나 GUI가없는 시스템을 통해 거의 모든 유닉스 머신으로 갈 수 있고 몇 분 안에 완전히 생산성을 발휘할 수 있다는 것을 알고 있습니다.

0
Matt Hucke

Windows에 VI가 있는데 사용하는 버전이 아래에 나열되어 있습니다. 콘솔 창에 있으면 항상 기본적으로 VI로 설정되어 있으며 실행중인 OS에 관계없이 파일을 편집 할 수 있다는 것을 알고 있습니다. 반대로 UI 모드에 있다면 Notepad ++ go figure를 사용합니다.

NT VI-0.23 버전 개발자 : Tony Andrews 프로그램 : Tim Thompson

0
titanae

16 살 때 처음으로 프로그래밍 작업을 위해 Vim을 배워야했지만 (보스가 다른 것을 사용할 수는 없었지만) Steve Oualline 's Vim Book =-vim에 대해 진지하게 생각하고 싶다면 출발점으로 적극 권장됩니다.

Vim은 실제로 일부 프로그래밍 언어보다 마스터하는 데 더 많은 시간이 걸립니다 (기능은 that 복잡합니다). 치트 시트를 인쇄하여 Vim을 '마스터'하는 것은 몇 개의 블로그 게시물을 읽고 Haskell을 마스터하는 것과 같습니다. 진지한 시간을 투자 할 준비를하면 보상을받을 수 있습니다.

0
too much php

나는 편리한 한 페이지 치트 시트를 만들어 기본이 아닌 모든 기능을 배우기 위해 사용했습니다. 그러나 연습은 무엇이든 마스터 할 수있는 유일한 방법입니다.

vi는 모든 UNIX 유형 컴퓨터, Mac OS X, Solaris, Linux에 있기 때문에 좋습니다. eBay에서 오래된 데시 테이션 박스를 찾으십니까? vi가 있습니다. Sun OS 4는 어떻습니까? 다시 vi.

0
Norman Franke

많은 넷핵을 플레이하십시오. 그것이 제가 대학에있을 때했던 일이며 나중에 커서 움직임이 동일하다는 것을 알게되었습니다. 이 시점에서 vi 스타일 키맵을 사용하도록 설정을 변경해야 할 수도 있습니다.

0
oj