VI 에디터 사용법
VI 에디터는 유닉스에서 공통으로 사용하는 에디터이다.
유닉스용 VI는 상용이라서 리눅스에서는 Free 버전으로 VIM 을 만들었다.
명령어를 vim 파일명 으로 입력해도 되고 vi 파일명으로 입력해도 된다.
alias 로 해서 vi 를 입력하면 vim 으로 자동 인식하도록 해두었기 때문이다.
vi improved 의 약자가 vim 이다.
vi명령어는 어떻게 구성되어 있을까?
vi명령어는 다음과 같이 입력 모드, 명령 모드, 콜론 모드(ex 모드) 크게 세가지로 분리된다.
모드 |
명령어 |
동 작 |
입력모드 |
i |
현재 커서가 위치한 왼쪽에 글자가 입력됨.( i : Insert) |
a |
현재 커서가 위치한 뒤에 글자가 입력됨 ( a : Append) |
|
o |
현재 커서가 있는 줄 아래에 빈줄 삽입 ( o : Open Line) |
|
O |
현재 커서가 있는 줄 위에 빈줄 삽입 |
|
R |
덮어쓰기 모드로 전환 |
|
명령모드 |
/se nu |
행번호 보여주기 |
/se nonu |
행번호 보여주기 취소 |
|
/name |
name(찾고자하는 문자열) 찾기 |
|
n |
name 의 다음 찾기 |
|
N |
역방향으로 name 찾기 |
|
:s/변경할문자열/변경문자열 |
현재 행의 '변경할 문자열'을 '변경문자열'로 대체 |
|
:%s/변경할문자열/변경문자열 |
파일 전체 '변경할 문자열'을 '변경문자열'로 대체 |
|
:42,44s/ftp/scp/g |
42 ~ 44행까지 ftp를 scp 로 변경하라. g(global)는 전부 |
|
40,50w 11.txt |
40 ~ 50행까지를 11.txt 파일에 저장하라 |
|
0(zero) 또는 ^ |
현재 커서가 있는 줄의 처음으로 이동 |
|
$ |
현재 커서가 있는 줄의 끝으로 이동 |
|
H |
화면 맨 위로 이동 |
|
M |
화면의 중간으로 이동 |
|
L |
화면의 맨 아래로 이동 |
|
w |
다음 단어의 처음으로 이동 |
|
b |
이전 단어의 처음으로 이동 |
|
100G |
100행으로 이동 |
|
G (shift + g) |
문서의 맨 끝으로 이동 |
|
gg |
문서의 맨 앞으로 이동 |
|
Shift + 아래방향화살표 |
한 페이지 아래(뒤)로 이동 |
|
Shift + 윗방향화살표 |
한 페이지 위(앞)로 이동 |
|
u |
방금 실행했던 삭제 작업을 취소. |
|
Ctrl + r |
redo |
|
x |
현재 커서가 있는 위치에서 한 문자 삭제 |
|
5x |
현재 커서가 있는 위치에서 5개이 문자를 삭제 |
|
dw |
한 단어 삭제 |
|
4dw |
현재 커서가 있는 위치에서 4개의 단어가 삭제됨 |
|
dd |
한줄 삭제 |
|
5dd |
커서가 있는 라인부터 5개의 라인 삭제 |
|
:1,5d |
1 ~ 5행 삭제 |
|
:10,20d |
10 ~ 20행 삭제 |
|
yy |
현재 커서가 있는 줄을 버퍼에 복사 |
|
3yy |
현재 커서가 있는 줄부터 3줄을 버퍼에 복사 |
|
p |
현재 커서가 있는 뒤에 버퍼에 있는 내용을 붙여넣기 |
|
yG |
현재 줄부터 그 파일의 끝까지 버퍼에 복사 |
|
y20G |
현재 줄부터 파일의 20번째 줄까지 버퍼에 복사 |
|
:! cal |
현재 VI 에디터에서 다른 명령어를 실행할 때 사용 |
|
:! cat 11.txt |
11.txt 파일 내용을 화면에 보여주기 |
|
:r foo.txt |
r(read), 현재 커서가 위치한 바로 앞에 foo.txt 파일을 삽입한다. |
|
|
ESC키 |
입력모드에서 명령모드로 변경됨 |
EX모드 |
:q |
저장하지 않고 종료. 파일이 수정되었으면 q 로는 빠져나올 수 없음 |
:q! |
저장하지 않고 강제 종료 |
|
:wq |
저장하고 종료 |
'리눅스' 카테고리의 다른 글
리눅스 su 와 su - 의 차이 (3) | 2014.11.10 |
---|---|
파일내용 확인 : cat, head, tail, less (0) | 2014.11.07 |
리눅스 기본과 기본명령어 (0) | 2014.11.05 |
FTP 상위디렉토리 접근금지 (vsFTPd) - ftp chroot (2) | 2014.10.23 |
리눅스 shell 접속프로그램 허용 불가 (0) | 2014.10.22 |