첫술에 배부르기를 기대하지 말고 단계 별로 차근차근 따라하면 

금방 vim을 자유자재로 사용할 수 있게 될겁니다. ^^  

Setp 1

기본 명령

내용입력모드로 진입 i
명령줄모드 :
명령모드로 진입 ESC
종료 :q
저장 :w
저장하고 종료 :wq 또는 :x
커서이동 h
l
k
j
한 단어 이동 w
공백으로 분리된 한 단어 이동 W
한 단어 뒤로 이동 b
공백으로 분리된 한 단어 뒤로 이동 B
문서 맨 끝 G
문서 맨 처음 gg

 선택된 문자 끝 

gn 

N번째 라인 :N
예) ":100", ":1"
지우기 한 글자 지우기 x
한 줄 지우기 dd
한 단어 지우기 dw
한 글자 지우고 입력모드로 전환 s
한 줄 지우고 입력모드로 전환 S

Setp 2

환경설정

기능 명령
tag 만들기 $ ctags -R .
$ cscope -Rbq

vim : 명령

일반

기능 명령
HELP 보기 :help

소스코드 추적

기능 명령
function call 따라가기 Ctrl-]
:cs find g <func_name>
function call 돌아오기 Ctrl-t
function reference 찾기 :cs find s <func_name>

Setp 3

환경설정

기능 명령
초기설정용 스크립트 파일 ~/.vimrc
tabstop :set ts=4
shiftwidth :set sw=4
auto indent :set ai
C style indent :set cin
background :set background=light|dark

vim 명령

일반

기능 명령
스크롤 한화면 Ctrl+f
Ctrl+b
화면절반 Ctrl+d
Ctrl+u
커서 이동 맨위 H
가운데 M
맨아래 L

Setp 4

화면분할

기능 명령
윈도우 상하분리 :split 또는 :sp
Ctrl+w s
좌우분리 :vsplit 또는 :vsp
Ctrl+w v
창 닫기 :q 또는 Ctrl+w q 또는 c
현재 커서가 있는 창 빼고 다 닫기 Ctrl+w o
윈도우간 커서 이동 Ctrl+w h,j,k,l
윈도우 위치이동 Ctrl+w H,J,K,L
창 크기 조절 Ctrl+ w [숫자] > 또는 < (숫자 만큼 창 크기 조절)
(옵션)멀티윈도우로 실행

-O2(수직분할), -o2(수평분할)

예) # vim -O2 main.c test.c 

모두저장 :wa
모두 종료 :qa

Setp 5

편집

기능 명령
자리표시/기억

m[a-z]
'm' 뒤에 누르는 키 이름으로 마킹 해둠. 

표시한 자리로 이동 '[a-z]
위에서 마킹한 키를 누르면 해당 위치로 이동함.
현재위치에서 위치 a 까지 지우기 d'a
현재위치에서 위치 a 까지 복사 y'a
화면스크롤 커서의 위치가 맨위로 가도록 z<CR>
커서의 위치가 가운데 zz
커서의 위치가 맨아래 z-
화면접기
편집명령아님.
화면만 변경
접기 zf<커서이동명령>
예: zf20j, zf%, zf'a
접은 화면 풀기 zo

Setp 6

편집

기능 명령
명령행에 붙이기 y...으로 복사한 다음 명령행에서 Ctrl+r[0-9]
예제:cs find s Ctrl+r 0
함수 자동 완성 함수명 일부 입력 후 Ctrl + n 또는 Ctrl + p
찾기 / 다음에 regex 사용 가능
커서자리의 스트링 찾기 아래방향 #
윗방향 *
바꾸기 커서있는 줄  :s/찾는문자열/바꿀문자열/g
마지막에 g는 두 개 이상 바꿀 때
문서전체 :%s/찾는문자열/바꿀문자열/g
참조: %대신 ^.,나 .,$
특정 위치 :10,20s/찾는문자열/바꿀문자열/g
참조: 10~20번째 줄에서만 찾아서 치환
한줄씩 스크롤 아래방향 Ctrl+e
윗방향 Ctrl+y

Setp 7

통합개발환경

기능 명령
빌드 :make
grep :grep ...
결과를 표시 :cl
특정 결과로 커서 이동 :cc번호
다음 결과로 커서 이동 :cn
이전 결과로 커서 이동 :cN
명령결과를 별도 창에 표시 :cw
명령결과창에 있는 내용으로 이동 커서 이동후 Enter


Posted by KT한
,