[vim] Vim을 배우면 어떤 이점이 있습니까? [닫은]

프로그래머로서 저는 키보드에서 많은 시간을 보냈으며 지난 12 년 동안 그 일을 해왔습니다. 이 모든 시간 동안 내가 본 적이없는 것이 있다면, 가장 일반적인 코드 편집 작업으로 인해 코딩하는 동안 경험하는 성 가시고 거의 무의식적 인 미세한 중단이 발생합니다. 다른 줄 (또는 동일한 줄)에서 간단한 복사 및 붙여 넣기 또는 현재 위치에서 1 또는 2 줄을 위 또는 아래로 이동하는 것은 너무 많은 타이핑이 필요하거나 화살표 키를 사용합니다 … 더 멀리 나아가고 싶을 때-마우스를 사용하게됩니다. 이제이 같은 시나리오를 랩톱에서 상상해보십시오.

나는 항상 VIM을 배우는 것을 고려했지만 그것을 마스터하는 데 필요한 시간은 항상 물러서 고 싶었습니다.

나는 그것을 배운 사람들로부터 듣고 싶습니다. 그리고 그것이 없으면 당신이 없이는 살 수없는 것들 중 하나가됩니다.

직장에서 VS2008, C # 및 R #을 사용하여 코드를 훨씬 빠르고 쉽게 편집 할 수 있지만 마우스를 전혀 사용할 필요가 없다고 생각합니다.

그리고 화살표 키조차도 아닙니다.



답변

나는 약 20 년 동안 vi와 vim을 사용해 왔으며 여전히 새로운 것을 배우고 있습니다.

David Rayner의 Best of Vim Tips 사이트는 훌륭한 목록이지만 vim에 익숙해지면 더 유용 할 것입니다.

vi / vim 팁 과 특히 기사에 왜 그 너트가 vi를 사용 하는가? 에 대한 훌륭한 정보가 있는 ViEmu 사이트 를 언급하고 싶습니다 . ( 아카이브 버전 )


답변

그것없이 살 수 있을까? 용이하게.

유용합니까? 예.

학습 이유

  • vi는 모든 Unix 시스템에 존재하며 대부분의 Linux 시스템에도 존재합니다. 이러한 종류의 광범위한 적용 범위는 학습 가치가 있습니다.

  • vi를 사용하여 sudo편집 하는 것이 훨씬 빠릅니다 .

    $ sudo vi

  • 또한 Gmail은 이메일을 선택하고 이동하기 위해 viishish 명령을 사용합니다!

당신은 주인이 될 필요가 없습니다.

그냥 배우십시오

기본 사항 :

  • 명령 모드에서 삽입 모드로 전환하는 방법 i
  • 삽입 모드에서 명령 모드로 전환하는 방법 Esc
  • 명령 모드에서 라인을 탐색하는 방법 k
  • 명령 모드에서 줄을 탐색하는 방법 j
  • 명령 모드에서 문자를 왼쪽으로 탐색하는 방법 h
  • 캐릭터를 올바르게 탐색하는 방법 l
  • 파일을 저장하는 방법 :wEnter(쓰기)
  • 저장하지 않고 종료하는 방법 (명령 모드) :q!Enter
  • 실행 취소하는 방법 u
  • 다시 실행하는 방법 Ctrl+r
  • 명령 모드에서 쓰기와 종료를 결합 할 수 있습니다. :wqEnter

거기에서 나머지는 당신을 더 빨리 만들 것입니다.


답변

vimtutor를 실행하는 데 30 분 밖에 걸리지 않아서 vim에 익숙해졌습니다. 그것은 매 초 가치가 있었다.


답변

많은 텍스트를 편집하는 프로그래머라면 심각한 텍스트 편집기를 배우는 것이 중요합니다. 어떤 심각한 텍스트 편집기를 배우는지는별로 중요하지 않으며 편집하려는 환경 유형에 크게 의존합니다.

그 이유는 이러한 편집기가 많은 작업을 수행하도록 최적화되어 있기 때문입니다. 예를 들어, 모든 줄의 끝에 같은 비트의 텍스트를 추가하는 것을 고려하십시오. 이것은 심각한 텍스트 편집기에서 사소한 것이지만 엄청나게 번거 롭습니다.

일반적으로 vim의 킬러 기능은 다음과 같습니다. A) 거의 모든 유닉스에서 사용할 수 있으며 B) 손가락이 홈 행을 거의 떠나지 않아도되므로 텍스트를 매우 빠르게 편집 할 수 있습니다. . 또한 대용량 파일을 편집 할 때도 매우 빠르고 가볍습니다.

그러나 많은 대안이 있습니다. 물론 이맥스는 가장 일반적인 예이며, 실제로 파고 들어 본다면 고급 텍스트 편집기 그 이상입니다. 나는 개인적으로 매우 행복한 TextMate입니다vim / gvim을 사용한 지 몇 년이 지난 지금 사용자입니다.

이들 중 하나로 전환하는 요령은 자신이 의도 한대로 사용하도록 강요하는 것입니다. 예를 들어, vim에서 다단계 프로세스의 모든 단계를 수동으로 수행하거나 화살표 키 또는 마우스를 사용하는 경우 더 나은 방법이 있습니다. 하고있는 일을 멈추고 찾아보십시오.

다른 작업을 수행하지 않으면 vim 및 Emacs에 대한 기본 탐색 컨트롤이 모든 곳에서 팝업되므로 배우십시오. 예를 들어, 당신은에 정력 스타일의 컨트롤을 사용할 수있는 등, 이클립스에서, 대부분의 유닉스 쉘에서, 맥 OS에서 텍스트 입력 필드에 이맥스 스타일의 컨트롤을 사용할 수 있습니다 이하 에, (1) 명령 슬래시닷 (Slashdot) 에서, Gmail은 , 기타

즐기세요!


답변

그것은이다 확실히 노력이 가치.

사용하는 사람 Vi(m)이 당신에게 말할 한 가지 분명한 이유가 있습니다.

여기에 분명한 것이 있습니다 :

  1. vi 한 번에 유비쿼터스하고 믿을 수 없을 정도로 강력하며, 한 번만 익히면 키보드가있는 거의 모든 컴퓨터에서 그 힘을 발휘할 수 있습니다.

그리고 이것들은 덜 알려진 이유입니다 Vim.

  1. 당신이 생각하는 것만 큼 절반의 노력은 아닙니다. 관통 실행 빔 교사 번 ( vimtutor쉘에서, 또는 Windows의 시작 메뉴에서 빔 폴더에서 실행), 당신은 이미 능력에 당신의 방법에 잘있을거야, 그리고 거기에서 내리막 전부입니다. 나는 Vim일주일의 점심 시간 내에 눈에 띄는 생산성 저하없이 직장에서 사용할 수있는 수준까지 올라갔습니다 .

  2. 그건 재미 ! 텍스트 편집은 이제 게임 과 같습니다 . 나는 그것을 적극적으로 즐깁니다.

배워야 할 두 가지 이유가 있습니다 Vim.

  1. 중독성이 Vim있으며 모든 컴퓨팅 에서 명령을 사용할 수 있기를 원 하고 할 수 없을 때마다 저주를 받는다는 것을 알게 될 것입니다. 다행히도, 어떤 상황 적어도 거기 방법 얻기 위해 .

  2. 다시 말하지만 중독성이 있으며 실제로를 사용하여 생산성을 잃지 않더라도 경험을 향상 Vim시킬 수있는 좋은 팁을 찾고 스택 오버플로 Vim에서 Vim 태그 를 읽는 데 몇 시간이 낭비됩니다 .


답변

vim이나 emacs를 배우는 것이 좋습니다. 터치 타입을 배우는 것도 가치가 있습니다. 두 경우 모두 이유는 같습니다. 코드를 화면으로 가져 오는 기계적인 프로세스로 인해 더 이상 생각이 중단되지 않습니다 .

시작하는 방법에 관해서는 모든 것을 위해 뛰어 들어 vim을 사용하십시오.

PS emacs-vs-vi 토론은 끝이 없습니다. 저는 26 년 동안 이맥스를 사용해 왔습니다. 오늘 다시 시작하면 (a) 더 좋아지고 (b) 수정 자 키 (Ctl-Alt-V, 누군가)가 훨씬 적고 vim 사용자가 타이핑 부상을 덜받는 것처럼 보이기 때문에 vim을 배울 것입니다.


답변

16 개의 키만 의미를 학습하여 vim에서 우수한 기능을 얻을 수 있습니다 ijkdbw9:q!%s/nNEsc. 맨손으로 뼈를 할 수 있습니다 i:wqEsc.

알아야 할 처음 두 키는 다음과 같습니다. Esc명령 모드 (시작 모드)로 이동하고 i삽입 모드 (일반 입력)로 이동합니다.


당신을 저장하려면

  1. 입력 모드를 종료합니다 ( Esc)
  2. 콜론을 입력 :
  3. 소문자 w를 입력 한 다음Enter

저장하고 종료하려면

  1. 입력 모드를 종료합니다 ( Esc)
  2. 콜론을 입력 :
  3. 소문자 wq를 입력 한 다음Enter

저장하고 강제 종료하지 않으려면

  1. 입력 모드를 종료합니다 ( Esc)
  2. 콜론을 입력 :
  3. 소문자 q!를 입력 한 다음Enter

자세한 내용 vimtutor은 명령 줄에서 실행할 수 있습니다 . 중간 길이의 체계적인 수업입니다.

저쪽 iEsc: 당신이 복제하거나 단지와 일부 MS 워드의 기능을 능가 할 수 있습니다 jkwbd3:%s/nN.

  1. b단어를 되찾아줍니다 ( Ctrl+ )
  2. w당신에게 단어를 전달합니다 ( Ctrl+ )
  3. 9w 당신에게 아홉 단어를 전달합니다
  4. db선행 단어를 삭제합니다 ( Ctrl+ Backspace)
  5. d3b 앞의 세 단어를 삭제합니다
  6. 9j 9 줄 아래로 이동
  7. / ornithopter Enter다음 단어 “ornithopter”의 다음 인스턴스로 이동 n하고 N각각 “ornithopter”의 다음 및 이전 발생에.
  8. :%s/confounded/dangfangled/ Enter모든 “혼란 된”을 “dangfangled”로 대체합니다 ( find and replace allMS Word에서 와 같이 ).

Esc삽입 모드 ( i)가 아닌 “명령”모드 ( ) 에서 실행해야합니다 .