vim파일 작업시 명령어
Linux
2013. 12. 31. 22:08
파일 작업시 명령어 | |
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 로 치환하며 각 치환에 대해 검사를 한다. |
'Linux' 카테고리의 다른 글
우분투 ubuntu 와이어샤크 no interface 문제 (무작이모드 가능) (0) | 2014.03.07 |
---|---|
VIM 설정목록 (0) | 2013.12.31 |
리눅스 우분투 계열 apm설치 (0) | 2013.12.31 |
kali linux 에 vmware tools 설치 (0) | 2013.12.31 |
리눅스 종류 (0) | 2013.12.31 |