13 Vim 기본 - 기본편 요약, 치트시트, 커리큘럼
- vim
- 2021. 12. 6.
viEmu VIM Cheat Sheet
Vim Cheat Sheet 라고 검색해보면, 많은 자료가 나오는데, 그 중 가장 눈에 띄는것은 다음 치트시트일 것이다.
viEmu Cheat Sheet 는 키보드의 모든 키스트로크에 의미를 적어놓아, 한 눈에 Vim 의 모든 기능을 파악하기에 용이하다.
또한, 7 스테이지로 Vim 을 차근차근 학습할 수 있도록 그 중요도와 목적에 따라 기능을 구분해놓았다.
이 포스팅에서는 7개의 각 Lesson 의 주요 내용을 정리함과 동시에, 본 연재의 관련 링크를 걸어두었다.
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
🎈 본문에서 ^ 문자는 키보드의 control 을 의미합니다. 가령 ^R 은 Control + R 조합키를 의미합니다.
🎈 [The Vim Way] '기본조작'편에서 다루지 않은 내용에는 볼드체로 표시해두었습니다. 해당 내용들은 다루지 않거나, 본 포스팅 이후에 작성될 예정입니다.
Learning Vim Curriculum
viEmu CheatSheet - Lesson 1
- vim normal mode 커서이동 (h, j, k, l, w, W, e, E, b, B, ^, $)
- vim insert mode 진입 (i, a, I)
- vim normal mode delete & backspace ( x, backspace - X)
- vim 되돌리기와 재실행 (u, ^R)
- vim 저장과 종료
viEmu CheatSheet - Lesson 2
- vim 특정 문자로 커서 이동 (f, F, t, T)
- vim 삭제하기 (d, dd)
- vim 수정하기 (c, cc)
- vim 마이크로 매크로: 직전 명령 재실행
- vim 명령어 n 회 수행
- vim visual mode: 블록 씌우기 (v, V, ^v)
🎈 n회 반복 수행은 i 에도 적용 가능함.
viEmu CheatSheet - Lesson 3
viEmu CheatSheet - Lesson 4
- vim 다음 찾기 (/, n, N)
- vim 이전 찾기 (?, n, N)
- vim 커서 위치의 단어와 동일한 다음 단어로 (*)
- vim 커서 위치의 단어와 동일한 이전 단어로 (#)
viEmu CheatSheet - Lesson 5
- vim 마킹 (m, `, ')
- vim 매크로 (q, @, @@)
viEmu CheatSheet - Lesson 6
- vim 매칭되는 괄호쌍으로 이동 (%)
- vim 이전, 다음 비어있는 라인으로 이동({, })
- vim 현재화면 기준 상, 중, 하 위치로 커서 이동 (H, M, L)
- vim 파일 끝으로 이동 (G)
다음은 필자가 판단하기에 중요하지 않음
- vim 이전, 다음 (0번 컬럼에 있는) 열리는 중괄호로 이동([[, ]]) - 코딩시 해당 기준을 만족하는 { 은 잘 없음
- vim 문장기호(마침표) 기준 이전, 다음 문장으로 이동 ((, )) - 코딩할 때는 불필요
- vim 라인이동 (-, +) - j, k 와 비슷하나 다름, j, k 대신 써야할 이유 적음
- vim manpage 기준 참조로 이동(K)
viEmu CheatSheet - Lesson 7
- vim 대소문자 변경 (~)
- vim 아래 라인 현재 라인으로 합치기 (J)
- vim 한 글자 수정하기(r)
- vim 기타 수정 기능 (C, D, s, S)
- vim 한 줄 복사하기 (Y - yy 와 동일)
- vim 들여쓰기와 내어쓰기, 인덴트 컨트롤 (<, >, <<, >>, visual mode 와 조합)
- vim reformat (=)
Michael's VIM Cheat Sheet
http://michael.peopleofhonoronly.com/vim/
viEmu Vim Cheat Sheet 를 확장한듯한 치트시트이다. 컨트롤키까지 표현하고 있기 때문에, viEmu 보다 정교하게 vim 명령들을 담고 있다.
상단(키보드레이아웃) 부분 추출
우리가 기본편에서 다루지 않았던 내용은 흐리게 만들어, 우리가 살펴보지 않았던 내용만 확인할 수 있도록 만들어보자.
남은 명령 중에 주요한 것들은 다음과 같다.
- 매크로 (추후 포스팅 예정)
- 마크 관련 (추후 포스팅 예정)
- 리포맷 (=)
- 현재줄 지정하는 모션 (_)
- 기타 모션(scroll line, ↑, ↓)
- 노멀모드 또다른 복귀법 (^c)
- : 커맨드 모드 사용 (정말 수많은 커맨드모드 명령어가 존재)
- :s 명령어 반복 (&)
- 윈도우 관련(^w)
아래 기능들은 아쉽게도 필자도 알고 있는 기능이 아니다.
- ? :suspend
- ? ctags identifier - 리눅스 ctags 관련 (태그로 원하는 위치 쉽게 찾아가기?)
- ? ctags return - 리눅스 ctags 관련 (태그로 원하는 위치 쉽게 찾아가기?)
- ? extern filter
- ? redraw
- ? file/cursor info
하단(Legend) 부분 추출
치트시트 하단 부분에서 우리가 기본편에서 다루지 않았던 내용은 흐리게 만들어, 우리가 살펴보지 않았던 내용만 확인할 수 있도록 만들어보자. 거의 대부분을 다루지 않았다... 😅 그렇다고 주눅들 필요는 없다. 사실 아래 기능들은 필자에게도 앞으로 획득해야할 남겨진 미션이자, 이뤄야 할 과제이다. 이 연재의 목적은 IDE, 텍스트 에디터에서 라이브러리로 제공되는 Vim 의 기능을 최대한 활용하는 것이었기에, 다음 기능들은 대부분 IDE 에서 제공하는 기능들이며, 그 기능을 쓰는 것이 훨씬 효과적일 수 있음에 유의하자. 그럼에도 몇몇은 분명 알아두면 유용한 명령들이 있다.
주요한 내용을 살펴보면 다음과 같다.
- vim 매크로 (추후 포스팅 예정)
- vim 태그 관련 (태그 리스팅, 다음/이전 태그로 이동)
- vim 변경사항(diff) 컨트롤
- vim 이전/다음 변경부분으로 이동
- vim 코드 스타일 관련 제어
- vim 코드 접기
- vim 매칭 쌍 설정하기(% 로 이동할 때 매칭되는)
- vim 을 여는 다양한 방법 (특정 라인 넘버에서 열기, 특정 태그에서 열기 등)
- vim 이 열린 상태에서 다른 파일 제어하기
- vim 좌우 이동(컬럼간 이동)
- vim 위 아래 스크롤링
- vim 찾아 바꾸기(추후 포스팅 예정)
- vim 각종 설정(보라색)
- vim 창(윈도우) 제어
- vim 버퍼 제어 (Vim 속의 Vim, 임시 에디터 느낌)
- vim 북마크
- vim 파일 및 디렉토리 제어
- vim insert mode 에서의 명령
- vim 화면 스크롤링
"[The Vim Way] 기본조작편"은 어쩌면, vim 의 기능을 학습하기에 너무 장황한 내용만 늘어놓은 포스팅이 되어버리지는 않았을까 하는 반성을 하게 되는 포스팅이었다. 특히 viEmu 사이트에서 제공하는 7 Lesson으로 나뉘어진 Vim 학습 단계를 하나의 커리큘럼으로 차근차근 학습해나가는 것은 Vim 을 학습하기에 매우 좋은 접근이라고 생각한다. 필자는 이 치트시트를 벽에 붙여놓고 한번씩 참고하곤 했었는데, Vim 을 사용한지 3년이 지난 지금도 모르는 명령이 있다는 사실이 새삼 신기하다.
이상으로 vim 을 사용하기 위한 첫번째 편인 '기본 조작법'을 모두 완료하였다. 이제 앞으로 총 3 섹션이 남아있다.
두번째는 심화편.
꼭 필요하지만, vim 을 조작하는데 어느정도 숙련되어야 가능한 기능들이다. 대표적으로 매크로가 있겠다.
세번째는 잡기술편.
vim 의 기능이지만, 그다지 중요하진 않은, 하지만 때론 유용할 수 있는 굴팁(꿀팁까지는 아닌... 응?)정도를 알아보도록 한다.
네번째는 응용실습편.
Vim 을 사용하기에 유용한 실무에서 실제로 발생하는 각종 상황을 가정하여 그동안 사용했던 기능들을 적용해보며 실습할 수 있도록 포스팅을 구성해볼 예정이다.
'vim' 카테고리의 다른 글
15 Vim 심화- 찾아 바꾸기 (substitute) (0) | 2021.12.20 |
---|---|
14 Vim 심화 - Macro (매크로) (2) | 2021.12.18 |
12 Vim 기본 - undo(되돌리기), redo(재실행) (0) | 2021.12.05 |
11 Vim 기본 - 명령 n번 반복하기 (0) | 2021.12.05 |
10 Vim 기본 - 이전 명령 재실행(마이크로 매크로) (1) | 2021.11.19 |