vi 편집기 사용법
vi 시작 | ||
vi filename | 파일열기, 작성 | |
vi +18 filename | 18행으로 파일 열기 | |
vi +/"string" fn | "string"의 처음 발생 단어부터 | |
vi -r filename | 손상된 파일 회복 | |
view filename | 읽기 전용으로 파일 열기 | |
커서명령(이동) | ||
h(←) | 왼쪽으로 커서 이동 | |
j(↓) | 아래로 커서 이동 | |
k(↑) | 위로 커서 이동 | |
l(→) | 오른쪽으로 커서 이동 | |
w | 한 단어 오른 쪽으로 커서 이동? | |
b | 한 단어 왼쪽으로 커서 이동? | |
Return | 한 행 아래로 커서 이동 | |
Back Space | 한 문자 왼쪽으로 커서 이동 | |
Space Bar | 한 문자 오른 쪽으로 커서 이동 | |
H | 화면의 맨위로 이동 | |
M | 화면의 중간으로 이동 | |
L | 화면의 맨 아래로 이동 | |
Ctrl + F | 한 화면 앞으로 이동 | |
Ctrl + D | 반 화면 앞으로 이동 | |
Ctrl + B | 한 화면 뒤로 이동 | |
Ctrl + U | 반 화면 뒤로 이동 | |
문자와 행 삽입 | ||
a | 커서 오른쪽에 문자 삽입 | |
A | 커서 오른쪽, 행의 끝에 문자 삽입 | |
i | 커서 왼쪽에 문자 삽입 | |
I | 커서 왼쪽, 행의 처음에 문자 삽입 | |
o | 커서 아래에 행 삽입 | |
O | 커서 위에 행 삽입 | |
텍스트 변경 | ||
cw (종료:ESC) | 단어변경 | |
cc (종료:ESC) | 행 변경 | |
C (종료:ESC) | 커서 오른쪽의 행 변경 | |
s (종료:ESC) | 커서가 위치한 문자열 대체 | |
r | 커서 위치의 문자를 다른 문자로 대체 | |
r - Return | 행 분리 | |
J | 현재 행과 아래 행 결합 | |
xp | 커서 위치 문자와 오른쪽 문자 교환 | |
~ | 문자형(대.소문자)변경 | |
u | 이전 명령 취소 | |
U | 행 변경 사항 취소 | |
:u | 이전의 최종 행 취소 | |
. | 이전 최종 명령 반복 |
텍스트 삭제 | ||
x | 문자 삭제 | |
dw | 단어 삭제 | |
dd | 행 삭제 | |
D | 커서 오른쪽 행 삭제 | |
:5,10 d | 5-10 번째 행 삭제 | |
텍스트 복사 및 이동 | ||
yy | 행 yank 또는 복사 | |
Y | 행 yank 또는 복사? | |
dd | 행 삭제 | |
P | yank되거나 삭제된 행 현재 행 위에 삽입 | |
p | yank되거나 삭제된 행 현재 행 아래에 삽입 | |
:1,2 co 3 | 1-2행을 3행 다음으로 복사 | |
:4,5 m 6 | 4-5행을 6행 위로 이동 | |
행 번호 설정 | ||
:set nu | 행 번호 표시 | |
:set nonu | 행 번호 숨기기 | |
행 찾기 | ||
G | 파일의 마지막 행으로 가기 | |
21G | 파일의 21번째 행을 가기 | |
탐사 및 대체 | ||
/string/ | string 탐색 | |
?string? | string 역방향 탐색 | |
n(N) | string의 다음(이전) 계속 탐색 | |
:g/search-string/s//replace-string/gc? | ||
각 발생 탐색 후 확인하고 대체 | ||
:s/srt/rep | 현재 행의 str을 rep로 대체 | |
:1,.s/str/rep/ | 1부터 현재 행의 str을 rep로 대체 | |
:%s/str/rep/g | ?파일 전체 str을 rep로 전부 대체 | |
화면정리 | ||
:Ctrl-1 | 불필요한 화면정리 후 다시 표시 | |
파일을 파일로 삽입 | ||
:r filename | 커서 다음에 파일 삽입 | |
:34 r filename | 파일을 34번째 행 다음에 삽입 | |
보관 및 종료 | ||
:w | 변경사항 보관 | |
:w filename | 버퍼를 파일로 보관 | |
:wq | 변경사항 보관 후 vi 종료 | |
ZZ | 변경사항 보관 후 vi 종료? | |
:q! | 변경사항 보관하지 않고 종료 |
반응형
'Linux' 카테고리의 다른 글
mysql 케릭터셋 (0) | 2010.11.02 |
---|---|
IPTABLE (0) | 2010.07.01 |
리눅스 커널 메모리 4G로 인식 안될 경우 처리 방법 하드웨어 구성 (0) | 2010.05.13 |
mysql 저장프로시저 (0) | 2010.04.19 |
mysql characterset (0) | 2010.04.19 |