Vim을 효율적으로 사용하는 방법
PHP中文网
PHP中文网 2017-05-16 16:42:38
0
18
1599

저는 Vim을 처음 사용하는데 입문 연습 튜토리얼을 추천해 주셨으면 좋겠습니다. 이제 Vim을 일반 편집기로 사용하고 있는데, 일반 모드로 돌아가려면 Esc를 누르는 것이 약간 번거로운 것 같습니다. 키보드 왼쪽 상단에 있는 쉬운 방법이 있나요? 먼저, 감사합니다!

PHP中文网
PHP中文网

认证0级讲师

모든 응답(18)
为情所困

저는 거의 2년 동안 vim을 사용해왔고 많은 튜토리얼을 읽었습니다. 일반적으로 아직은 혼자서 더 많이 연습하고 필요하다고 느낄 때 기능을 추가해야 합니다. 여기에서는 제가 본 최고의 튜토리얼을 공유하겠습니다. 이것은 Tieba의 친구가 쓴 것입니다. 매우 잘 쓰여졌습니다.

제로

터치 타이핑 배우기

가장 간단한 구성 파일부터 시작하세요. 레벨 5 이전에는 플러그인 구성을 고려하지 마세요. 다른 사람의 구성 파일을 직접 사용하지 마세요. 기본적으로 오랫동안 삽입 모드를 유지하면 vim이 평범하고 사용하기 쉽지 않다는 느낌을 받게 될 것입니다.


이때, 원래의 일반 편집기를 사용하는 것보다 편집 효율성이 떨어질 수 있습니다.

대부분의 사람들은 다음과 같이 대답할 것입니다. vim with an nano, kate, kwrite, gedit, geany 또는 기타 IDE


일반 모드를 유지하는 습관을 길러주세요(일반은 괜히 호출되지 않습니다). 입력 후에는 즉시 <ESC>

삽입 모드로 들어갑니다. 일반 모드에서 이동 명령을 알아보세요. 이때 텍스트를 입력하는 표준 프로세스는 다음과 같습니다.


일반 모드 이동 명령은 커서의 위치를 ​​정확하게 지정합니다(검색 명령도 이동 명령임을 기억하세요)
  1. 삽입 모드 편집 진입 (삽입 모드 진입 시 i만 사용하지 마시고, 상황에 따라 I a A o O s C를 사용하여 익숙해지세요)
  2. <ESC> 일반 모드로 돌아가기
  3. 이제 편집 효과는 이전에 사용했던 일반 편집기와 동일하게 돌아가거나 약간 개선될 예정입니다

연산자가 무엇인지(명령 d y c 등), 모션이 무엇인지(커서를 이동할 수 있는 모든 명령, h j k l w e f t / ? 등),

ct 등 연산자+모션 방법을 익혀보세요. (현재 커서와 .(포인트) 사이의 내용을 삭제하고 삽입 모드로 진입하여 수정 준비)

기본 Ex 명령, :s 등을 알아보세요

이쯤 되면 편집 효율이 눈에 띄게 좋아지기 시작하는데, 다른 일반 편집기를 사용하다 보면 불편함과 비효율성을 느끼기 시작합니다

4

텍스트 개체를 배우고 연산자 + 텍스트 개체의 방법을 알고 수술적으로 정확한 위치 지정 및 수정을 수행합니다.

주로 c/C++를 사용하므로 이 상황에 유용한 몇 가지 예는 다음과 같습니다.


ci"(변경 연산자와 텍스트 개체 i"로 구성됨)

이 명령은 현재 커서가 위치한 줄에서 ""로 묶인 다음 문자열을 찾아 따옴표 안의 내용을 지우고 수정하기 쉽도록 삽입 모드로 들어갑니다

설명하는 것보다 사용하기 쉽습니다. char* hello = "Hello world ." 테스트하려면 다음과 같은 코드를 작성하세요

yaB (양크 연산자와 텍스트 객체 aB로 구성)

이 명령은 현재 커서가 있는 코드 블록(중괄호 자체를 포함하여 {}로 묶인 내용)을 기본 레지스터에 복사합니다.

p를 사용하여 다른 곳에 붙여넣는 것이 편리합니다(물론 복사하여 붙여넣기). 코드를 작성할 때 권장되지 않음), {}를 사용하여 테스트한 다음 다른 곳을 찾아 p

gUiw(대문자 만들기 연산자와 텍스트 개체 iw로 구성)
이 명령은 현재 커서 아래에 있는 단어를 모두 대문자로 변경합니다.
예를 들어, max_size를 MAX_SIZE
로 변경합니다.

이제 나는 왜 vim이 정확하고 효율적인지 이해하기 시작했는데, 그것은 마우스가 필요 없는 풀 키보드 때문이 아니다

연산자 + 모션에 익숙해진 후에는 .명령이 매우 유용하다는 것을 알았습니다. 반복 가능한 명령 조합을 사용하는 데 더 주의를 기울이세요
북마크 위치 지정, q를 사용하여 매크로 기록, 여러 레지스터 사용, args 사용 및 버퍼 사용 연습
다른 Ex 명령어 사용하기

지금은 vim을 사용하지 않기 전의 며칠을 어떻게 보냈는지 기억이 나지 않습니다

LU

자주 반복적으로 사용되는 지도 명령을 시작하고, vimscript 작성을 시작하고, 어떤 종류의 플러그인이 필요한지 알아가기 시작하세요
몇 가지를 추천해 보겠습니다:
병원체 또는 vundle, tagbar, CtrlP, Gundo, UltiSnips, 서라운드, Syntastic, Conque, ack.vim, vim-commentary, fugitive(git 사용자인 경우)
더 많은 것들이 있지만 대부분은 c/C++에 직접적인 도움이 되지 않으므로 언급하지 않겠습니다

현재로서는 emacs를 제외한 다른 편집자에는 관심이 없습니다

완전히 개인화된 vimrc를 갖고 기본적으로 변형의 영역에 들어가 세계의 전설이 되세요
사람들은 종종 당신이 편집하는 것을 보고 영감을 받아 vim을 배우고 싶다고 몇 시간 동안 시도한 후 단축키가 "인간적"이지 않다고 느끼기 때문에 포기합니다. 하지만 가끔 그는 세상에서 당신 같은 사람을 보았다고 사람들에게 언급할 것입니다

仅有的幸福

저는 vim을 1년째 사용하고 있는데 며칠전에 vim 치트시트를 작성하려고 해서 미리 여기에 적어둡니다.

첫 번째 vim != gvim

1.편집방법

언제든지 ESC 키를 누르면 일반 모드로 들어갈 수 있습니다. 일반 모드에서는 다음을 눌러 명령을 입력할 수 있습니다.

일반 모드에서 i 또는 a를 눌러 삽입 모드로 들어간 다음 텍스트를 편집할 수 있습니다.

2. 간단한 편집

  • 커서 이동: 화살표 키를 직접 사용하여 커서를 이동할 수 있습니다. 더 좋은 방법은 vim hjkl
  • 을 사용하는 것입니다.
  • 파일 저장, 일반 모드: w. ​​편집 종료: q, 강제 저장: w! 강제 종료: :q!
  • 실행 취소: u 또는 일반 모드에서 u를 누르세요

3. 더 빠른 편집

이제 vim으로 작성할 수 있습니다.

빠른 편집이 필요해요

1. 빠르게 커서 위치를 지정하세요.

  • ^ 줄의 시작 부분으로 이동합니다(기능 키 Home과 유사)
  • $ 줄 끝으로 이동(기능 키 End와 유사)
  • :n n번째 줄로 이동
  • :$ 마지막 줄로 이동

2. 빠른 편집:
일반 모드:

  • 한줄 삭제
  • yy 줄 복사
  • 붙여넣기
  • r 단일 문자 교체

3. 더욱 정교해진 붙여넣기 및 복사:

  • m,nd - m부터 n까지의 행을 빠르게 삭제합니다(삭제)
  • m,ny - m 행을 n 행으로 복사(양크)
  • m,nmt - m선을 n선에서 t선으로 잘라냅니다(이동)
  • m,ncot - 라인 m을 라인 n으로 라인 t로 복사합니다(복사 대상)

4. 검색
일반 모드에서 /를 누르면 아래로 검색되고, ?를 누르면 위로 검색됩니다
5. 정렬
gg=G는 전체 파일을 빠르게 정렬합니다
6. 라벨 작업

  • :tabnew mytab 새 탭 mytab
  • 만들기
  • :tabn 다음 탭으로 이동
  • :tabp 이전 탭으로 이동
  • 일반 모드에서 gt 또는 gT를 사용하여 다음 및 이전 탭으로 이동

7. 창 자르기 작업

  • :split은 창을 수평으로 자릅니다
  • :vsplit은 창을 수직으로 자릅니다
  • Ctrl-w+화살표 키를 사용하여 자르기 창 사이를 전환하세요.

4. vim이 당신을 더 잘 이해할 수 있게 해주세요

위에서 vimrc와 플러그인을 언급하지 않았다는 사실을 알고 계셨나요?

때가 왔습니다.

예를 들어 코딩할 때 줄 번호를 표시하고 싶습니다. 명령 모드에서: set nu 또는 :set number

vimrc에 관해서는 공부하고 토론할 만한 것들이 많이 있습니다. 제 vimrc를 참고하시면 됩니다. 자세한 중국어 설명을 달아두었습니다

5. 플러그인 및 테마 정보

Vim에는 Solarized, Molokai 및 Badwolf라는 세 가지 잘 알려진 색 구성표가 있습니다

vim 플러그인에 관해 언급해야 할 몇 가지 단어는 다음과 같습니다.

  • 플러그인을 관리하려면 반드시 vundel을 사용하세요.
  • 다른 사람의 플러그인을 수정하거나 직접 포크하여 수정한 후 플러그인을 번들로 묶지 마세요.
  • git 하위 모듈을 사용하여 플러그인을 관리하는 방법을 학습할 수 있습니다.

그래, 먹으러 가자. . 그게 다야.

伊谢尔伦

익숙함 외에는 아무것도 없습니다.

으아아아

또한, Ctrl-[ 편집 모드를 종료할 수도 있습니다.

Peter_Zhu

안녕하세요! 나는 훌륭한 방법을 제공합니다:
vim 게임을 즐겨보세요!

Ubuntu 시스템을 사용하는 경우 다음을 입력하세요.

  1. sudo apt-get install vimtutor
  2. vimtutor

또는 멋진 웹 vim 게임을 통해:

vim Adventurers
http://vim-adventures.com/

为情所困

야~! vim 사용법은 진짜 모르겠어, 손으로만 알지 (연습이 완벽을 만든다)

esc 사용이 마음에 들지 않으면 <c-c> 또는 <c-[>를 사용해도 됩니다.

더 많은 vim 팁을 읽고 다양한 vim 플러그인에 대해 자세히 알아보세요.

다시 말씀드리지만, 이는 단지 텍스트 편집기일 뿐이므로 말 앞에 카트를 놓지 마세요.

구분선

그런데 저는 Janus: Vim Distribution이라고 정의하는 Janus라는 vim 플러그인 컬렉션을 추천합니다. 이 컬렉션은 대부분의 사람들에게 플러그인이 필요한 완전하고 필수적인 기본 vim 설정을 제공합니다. vim을 계속 사용자 정의하는 솔루션은 더 이상 말할 필요가 없습니다. RTFM.

習慣沉默

vim을 사용하는 것은 주로 다양한 기능을 직접 정의하고 다양한 플러그인을 사용하는 것을 포함합니다. 가장 중요한 것은 vimrc를 구성하는 것입니다. 다른 사람들의 vimrc를 참조하고 https://github.com/search?q=vimrc&ref...와 같이 github에서 vimrc를 검색하여 다른 사람들이 어떻게 구성하고 변경하는지 확인할 수 있습니다. 당신의.

esc는 jj 또는 jk로 대체될 수 있습니다.

으아악
为情所困

내장된 튜토리얼을 읽은 후(중국어 버전이 있고 다운로드 링크가 있으며 다운로드하려면 방화벽을 통과해야 함) 암기할 필요 없이 어떤 기능이 있는지 기억하기만 하면 됩니다.

이러한 기능을 사용할 수 있을 것 같은 장소를 만나면 튜토리얼을 확인하기 시작하세요. 그런 다음 천천히 점점 더 적게, 점점 더 적게 확인하게 되고 천천히 알게 될 것입니다.

예:

으아아아

foobar를 삭제하려면 ffdw이 결합된 명령을 사용하면 됩니다(f는 한 줄의 쿼리이고 그 뒤의 f는 foober의 첫 글자입니다. 이것이 명령의 첫 번째 부분입니다. 커서를 다음으로 이동합니다. foobar라는 단어, d는 삭제, w는 단어 선택, 조합은 단어 삭제) 매우 빠르고 간단한 명령어들의 조합이다.

다음과 같이 더 복잡한 장면을 다루고 싶다면

으아아아

이전 foo만 삭제하고 바를 떠나세요. 현재 vim은 처리 기능을 제공하지만 매크로 기록 기능(작업을 저장하고 간단히 반복할 수 있음)을 사용합니다. 단순히 명령어만 조합하면 복잡한 작업을 많이 할 수 있습니다

예를 들어 위의 예에서는(지금은 Vim이 없어서 기억이 틀릴 수도 있습니다),

으아아아

해결되었습니다.

Vim은 전혀 어렵지 않습니다. 90%의 상황에서는 간단한 명령의 유연한 조합만 필요하기 때문입니다.

나머지 10%의 상태도 튜토리얼을 보면 쉽게 알 수 있습니다. Vim을 사용할 수 있는 사람에게 명령을 받아쓰게 하고 모든 명령을 비교해 달라고 요청하면 그들이 아주 작은 부분만 알고 있다는 것을 알게 될 것입니다.

我想大声告诉你

위에 분들이 자세히 말씀해주셨는데, esc키는 Caps Lock으로 바꾸는 것이 훨씬 누르기 쉽도록 하는 것이 좋습니다.

Emacs를 작성할 때 RMS의 키보드는 이런 모양이었다고 합니다
당연히 Esc와 Control의 거리가 매우 편할 것입니다. 돈이 있으면 HHKB를 구입하십시오.

阿神

伊谢尔伦

http://vim-adventures.com/
vim 작업을 기반으로 작성된 작은 게임입니다. 이 게임은 vim 작업도 연습합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿