set tabstop=2 "탭 간격을 2 칸 으로 지정한다
set shiftwidth=2 " >>나 << 사용시 들여쓰기 간격을 지정한다
set expandtab " 탭 문자를 공백문자로 변환한다.
set softtabstop=2 "탭 간격을 공백문자로 변환하면 두 칸 단위로 삭제한다
set visualbell " 사용자 실수 경고시 비프음 대산 화면을 한 번 반짝인다.
set nobackup "백업 파일을 생성하지 않는다
set cindent "C 언어 스타일의 들여쓰기를 사용합니다.
set autoindent "자동 들여쓰기를 사용합니다.
set smartindent "좀 더 지능적인 들여쓰기를 사용합니다.
set enc=euc-kr "인코딩을 한글로 지정합니다.
set incsearch
"키워드 입력시 검색하는 점진 검색을 사용합니다. (파이어폭스서 사용)
syntax on "구문 강조기능을 사용합니다
filetype on "파일 종류에 따라 구문을 강조합니다.
set background=dark "배경색을 어두운 색으로 설정합니다.
colorscheme evening "VI 색상 테마를 evening 으로 설정합니다
set backspace=eol,start,indent
"줄의 끝, 시작, 들여쓰기서 백스페이스 사용시 이전 줄과 연결
set history=1000 " VI 편집 기록을 1000개 까지 저장합니다.
set hlsearch "검색어 강조 기능을 사용합니다.
set ignorecase "검색, 편집, 치환시 대소문자를 구분하지 않습니다.
set showmatch "() 과 {} 에서 한 괄호만 입력해도 일치하는 괄호를 보여줍니다
set shiftwidth=2 " >>나 << 사용시 들여쓰기 간격을 지정한다
set expandtab " 탭 문자를 공백문자로 변환한다.
set softtabstop=2 "탭 간격을 공백문자로 변환하면 두 칸 단위로 삭제한다
set visualbell " 사용자 실수 경고시 비프음 대산 화면을 한 번 반짝인다.
set nobackup "백업 파일을 생성하지 않는다
set cindent "C 언어 스타일의 들여쓰기를 사용합니다.
set autoindent "자동 들여쓰기를 사용합니다.
set smartindent "좀 더 지능적인 들여쓰기를 사용합니다.
set enc=euc-kr "인코딩을 한글로 지정합니다.
set incsearch
"키워드 입력시 검색하는 점진 검색을 사용합니다. (파이어폭스서 사용)
syntax on "구문 강조기능을 사용합니다
filetype on "파일 종류에 따라 구문을 강조합니다.
set background=dark "배경색을 어두운 색으로 설정합니다.
colorscheme evening "VI 색상 테마를 evening 으로 설정합니다
set backspace=eol,start,indent
"줄의 끝, 시작, 들여쓰기서 백스페이스 사용시 이전 줄과 연결
set history=1000 " VI 편집 기록을 1000개 까지 저장합니다.
set hlsearch "검색어 강조 기능을 사용합니다.
set ignorecase "검색, 편집, 치환시 대소문자를 구분하지 않습니다.
set showmatch "() 과 {} 에서 한 괄호만 입력해도 일치하는 괄호를 보여줍니다
Vim 을 시작하면 i 를 눌러서 편집모드로 들어갈 수 있고 Esc 나 Ctrl + [ 를 누르면 명령모드로 들어갈 수 있습니다. 명령모드에서는 앞서 말했듯이 저장, 복사, 치환 등의 행동을 할 수 있습니다. 예를들어서 명령모드서 :w 라 치면 이 파일이 저장됩니다. :q 라 치면 종료가 되며 (저장이 되어 있다면), :q! 라 치면 저장의 여부와는 상관 없이 강제 종료됩니다. 아래는 Vim 의 명령어들을 모은 표 입니다. (대부분의 명령어로 모두는 아니다. )
파일 작업시 명령어 | |
Vim 명령어 | 결과 |
:e 파일명 | 새로운 파일을 연다. 커맨드 프롬프트 처럼 Tab 키를 통해 파일이름의 자동 완성 기능을 사용할 수 있다. |
:w 파일명 | 파일을 저장한다. 만약 파일 이름을 지정하지 않는다면 그냥 원래 파일 이름으로 저장이 되고 파일 이름을 지정해 준다면 새로운 파일 이름으로 저장이 된다 |
:q | Vim 을 종료한다. 파일을 저장하지 않았자면 종료되지 않는다. |
:q! | 파일의 저장에 상관없이 종료한다. |
:wq | 파일을 저장한 후 종료한다. |
:x | 위의 :wq 와 거의 같지만 여기서 파일이 저장된 이후 기록된 사항이 있으면 저장하지 않고 파일이 저장된 이후 기록된 사항이 있으면 저장하고 종료한다. |
파일 편집 중 이동하기 | |
아래의 Vim 명령어는 Visual 모드, 터미널 모드 모두에서 사용 가능합니다. | |
Vim 명령어 | 결과 |
j or 방향키 ↑ | 커서를 한 칸 위로 이동 |
k or 방향키↓ | 커서를 한 칸 아래로 이동 |
l or 방향키 → | 커서를 한 칸 오른쪽으로 이동 |
h or 방향키 ← | 커서를 한 칸 왼쪽으로 이동 |
e | 단어의 끝으로 이동 |
E | 단어의 끝으로 이동 |
b | 단어의 첫 부분으로 이동 |
B | 단어의 첫 부분으로 이동 |
0 | 문장의 첫 부분으로 이동 |
^ | 공백문자가 아닌 문장의 첫 부분으로 이동 |
$ | 문장의 끝 으로 이동 |
H | 화면의 첫번째 라인으로 |
M | 화면의 중간 라인으로 이동 |
L | 화면의 마지막 라인으로 이동 |
:n | n 번째 라인으로 이동. 예를들어 :10 이면 10 번째 줄로 이동한다. |
텍스트의 삽입 몇 편집 | |
Vim 명령어 | 결과 |
i | 커서 앞에 쓴다. |
I | 커서가 가리키는 라인의 앞에 쓴다 |
a | 커서 뒤에 추가한다. |
A | 커서가 가리키는 라인의 맨 뒤에 추가한다. |
o | 커서가 가리키는 라인 아래에 새 라인을 추가한다. |
O | 커서가 가리키는 라인 위에 새 줄을 추가한다. |
r | 한 글자를 바꿔쓴 후 다시 명령모드로 들어간다. |
R | 삽입모드에 들어가지만 글자를 덧쓰면서 이미 쓰여진 글자를 지운다 |
ESC | 삽입/수정 모드에서 빠져나온다. |
텍스트 지우기 | |
Vim 명령어 | Action |
x | 커서가 가리키는 글자를 지운다 |
X | 커서 앞의 글자를 지운다. |
dd or :d | 현재 커서가 가리키는 라인의 글자를 지운다 |
비주얼 모드 들어가기 | |
Vim 명령어 | 결과 |
v | 단어를 하이라이팅(Highlighting, 블록 설정) 한다. 텍스트를 하이라이팅 하기 위해서 보통의 이동 키를 사용한다. |
V | 현재 커서가 가리키는 라인을 하이라이팅 한다. |
The ESC key | 비주얼 모드에서 빠져나와 명령모드로 들어간다. |
블록 텍스트 편집하기 | |
아래의 명령어는 비주얼 모드에서 텍스트를 블록 설저한 후 명령모드로 들어와 사용할 수 있다. 물론 명령모드에서도 사용할 수 있긴 하다. | |
Vim 명령어 | 결과 |
~ | 글자의 대소문자를 바꾼다 예를들어서 mOvL 은 MoVl 로 바뀐다. 비주얼 모드와 명령모드 둘다 사용할 수 있으며 비주얼 모드에서 블록 처리한 뒤 명령모드로 들어와 ~ 를 누르면 그 블록 설정된 부분의 대소관계가 바뀐다. |
> (V) | 한 칸 오른쪽으로 민다 |
< (V) | 한 칸 왼쪽으로 민다. |
c (V) | 블록처리된 텍스트를 바꾼다. |
y (V) | 블록처리된 텍스트를 복사(yank)한다. |
d (V) | 블록처리된 텍스트를 잘라내기한다. |
yy or :y or Y | 커서가 가리키는 라인을 복사한다. 블록 처리할 필요는 엎다. |
dd or :d | 커서가 가리키는 라인을 삭제한다. 블록 처리할 필요는 없다. |
p | 복사나 잘라내기 했던 텍스트를 붙여넣기(put) 한다. |
P | 커서 앞에 잘라내기 했던 텍스트를 붙여 넣는다. |
실행 취소 및 다시 실행 | |
Vim 명령어 | 결과 |
u | 실행 취소한다. |
U | 커서가 가리키고 있던 라인에서 했던 모든 실행들을 취소한다. |
Ctrl + r | 다시 실행한다. |
검색 | |
Vim 명령어 | 결과 |
/pattern | pattern 이란 단어를 검색한다. |
n | 다음 글자를 찾지만 아래방향으로 찾는다. |
N | 다음 글자를 찾지만 윗 방향으로 찾는다. |
치환 (바꾸기) | |
Vim 명령어 | 결과 |
:rs/foo/bar/a | foo 를 bar 로 치환환한다. r 은 치환하는 범위를 지정하고 a 는 인자를 지정한다. 아래에 r 과 a 의 종류에 대해 설명되어 있다. |
범위 (r) 의 종류에는 | |
아무것도 쓰지 않을 때 | 범위를 주지 않을 경우 현재 라인에서 치환한다. |
숫자를 쓸 때 | 치환할 라인의 숫자를 쓴다. |
% | 전체 파일의 모든 라인에 대해 치환한다. |
인자 (a)의 종류에는 | |
g | 한 라인의 모든 경우를 치환한다. 이 인자를 주지 않을 경우 처음 발견되는 것만을 치환한다. (이 말은 g 인자를 주지 않고 Hello Hi Hello 에서 Hello bye 로 치환한다면 bye Hi bye 가 아닌 bye Hi Hello 가 된다) |
i | 검색된 문자들의 대소문자를 무시하고 치환한다. (즉, hello 를 hi 로 치환시 Hello, hEllo, HELLO 등과 같은 것들도 치환된다. ) |
I | 위 경우를 무시하지 않는다. ( 위 경우서 hello 만 치환된다 ) |
c | 모든 치환에 대해 확인한다. 만약 치환할 것이라면 y 를, 치환하지 않을 것이라면 n 을, 이하 모든 부분을 치환할 것이라면 a 를, 치환을 종료하겠다면 q 를 누르면 된다. |
예를들자면... | |
:452s/foo/bar/ | 452 번째 라인의 첫 번째 foo 를 bar 로 치환한다. |
:s/foo/bar/g | 현재 라인에 나타나는 모든 foo 를 bar 로 치환한다. |
:%s/foo/bar/g | 전체 파일의 모든 foo 를 bar 로 치환한다. |
:%s/foo/bar/gi | 위와 같지만 Foo, FOO, FOo, foO 와 같은 것들도 모두 치환된다. |
:%s/foo/bar/gc | 위위와 같지만 각 치환에 대해 모두 검사를 수행한다. |
:%s/foo/bar/c | 파일의 모든 라인에 대해 각 라인의 첫 번째 foo 만 bar 로 치환하며 각 치환에 대해 검사를 한다. |
---------------------------------------------------------------------------------------------------
출처
http://kevin0960.tistory.com/entry/VIM-Vi-iMproved-%EC%9D%98-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C%20
댓글 없음:
댓글 쓰기