첫술에 배부르기를 기대하지 말고 단계 별로 차근차근 따라하면
금방 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] |
|
표시한 자리로 이동 | '[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 |
'IT 생활 > 리눅스&우분투' 카테고리의 다른 글
[리눅스/Linux] 패킷 생성 및 전송 툴 - tomahawk, tcpreplay, bittwist (0) | 2011.04.26 |
---|---|
[리눅스/Linux] 크론탭(crontab) 설정 및 사용방법 (1) | 2011.04.12 |
[Linux/리눅스] 디버깅을 위한 gdb 사용법 및 명령어 - 초급 (0) | 2011.03.25 |
[리눅스/Linux] addr2line - 주소값으로 소스 코드 위치를 찾아주는 디버깅 툴 (0) | 2011.03.24 |
[리눅스/Linux] top(탑) 명령어 단축키 및 활용 팁 (0) | 2011.03.24 |