파일 작업시 명령어 | |
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 로 치환하며 각 치환에 대해 검사를 한다. |
'2_ 바삭바삭 프로그래밍 > IDE or etc.' 카테고리의 다른 글
이클립스, 비주얼 스튜디오 2010에서 라인넘버 표시하기 (0) | 2011.02.25 |
---|---|
이클립스로 C, C++ 코딩하는 방법 (1) | 2011.01.25 |
[XCode] Project Name 바꾸기 (1) | 2011.01.03 |
Xcode 단축키 (5) | 2010.09.27 |
[Linux] 우분투 리눅스에 Vim 설치하기 (0) | 2010.05.06 |