vi 에디터 명령/사용법

0
1033
/**
 * vi 에디터 명령/사용법
 */
 
※ 삽입 명령
a 커서 뒤에 입력
A 라인 끝에 입력
i 커서 앞에 입력
I 라인시작 부분에 입력
o 커서 있는 라인 밑에 입력
O 커서가 있는 라인 위에 입력

※ 커서 이동 명령
h 왼쪽으로 커서 한 칸 이동
H 화면의 처음으로 이동
L 오른쪽으로 한 칸 이동
L 화면 끝으로 이동
e 다음 단어의 마지막으로 이동
E 커서를 공백으로 구분된 다음 단어 끝으로 이동
b 한 단어 뒤로 이동
B 커서를 공백으로 구분된 이전 단어로 이동
w 커서를 한 단어 뒤로 이동
W 커서를 공백으로 구분된 다음 단어로 이동
k 커서를 한 라인 위로 이동
j 커서를 한 라인 아래로 이동
O 커서를 라인의 시작으로 이동
$ 커서를 라인의 끝으로 이동
Enter 커서를 다음 라인 시작으로 이동
- 커서를 전 라인의 시작으로 이동
Ctrl + F 다음 화면으로 이동
Ctrl + D 화면의 반만 앞으로 이동
Ctrl + B 전 화면으로 이동
Ctrl + U 화면의 반만 뒤로 이동
G 커서를 텍스트 마지막 라인으로 이동
숫자G 커서를 숫자 라인만큼 이동
M 커서를 화면 중간 라인으로 이동
“ 커서를 전 위치로 이동
( 문장의 시작으로 이동
{ 문단의 시작으로 이동
) 문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동
} 문단 끝으로 이동

※ 방향키를 이용한 커서 이동 명령
<-, Del 왼쪽으로 커서 한 칸 이동
PageUp 화면 위로 이동
->, Space 오른쪽으로 한 칸 이동
PageDown 화면 아래로 이동
↑ 윗 줄로 커서 이동
Enter 다음 줄 첫 칸으로 이동
↓ 아래 줄로 커서 이동
Esc 다음 줄 첫 칸으로 이동
Home 줄 처음 칸으로 이동

※ 삭제 명령
x 커서가 있는 문자 삭제
X 커서가 있는 문자 앞에 있는 문자 삭제
dw 커서가 있는 단어 삭제
db 커서가 앞에 있는 단어 삭제
dW 공백으로 구분된 뒷 단어 삭제
dB 공백으로 구분된 앞 단어 삭제
dd 커서가 있는 라인 삭제
D 커서가 있는 라인의 나머지 삭제
d) 문장의 나머지 삭제
d} 문단의 나머지 삭제
dG 파일의 나머지 삭제
dH 화면의 시작까지 삭제
dL 화면의 나머지 삭제
J 커서와 다음 단어의 공백을 모두 삭제

※ 바꾸기 명령
r 커서에 있는 문자 대치
R 입력 모드로 한 문자씩 덮어씀
s 커서가 있는 문자 삭제 후 입력 모드로 전환
S 커서가 있는 줄을 삭제 후 입력 모드로 전환
cb 커서가 있는 앞 문자 삭제 후 입력 모드
cW 공백으로 구분된 뒷 단어를 삭제 후에 입력 모드
cB 공백으로 구분된 앞 단어 삭제 후 입력 모드
cc 커서가 있는 라인을 삭제하고 입력 모드
C 커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환
cO 커서에서부터 라인의 시작까지 텍스트 바꾸기
c 특정 텍스트 바꾸기
c) 문장의 나머지 바꾸기
c} 문단의 나머지 바꾸기
cG 파일의 나머지 바꾸기
cm 표시까지 모든 것 바꾸기
cL 화면의 나머지 바꾸기
ch 화면의 시작까지 바꾸기

※ 복사
yw 커서가 있는 단어를 복사
yb 커서가 있는 앞 단어를 복사
yW 공백으로 구분된 뒷 단어 복사
yB 공백으로 구분된 앞 단어를 복사
y 특정한 다음 텍스트 복사
yy 커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동
y) 문자의 나머지 복사
y} 문단의 나머지 복사
yG 파일의 나머지 복사
yH 화면의 시작까지 복사
yL 화면의 나머지 복사

※ 텍스트 이동
p 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입
P 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입
dw p 커서가 있는 단어를 삭제한 후 이를 원하는 곳 커서 뒤로 삽입
dw P 커서가 있는 단어를 삭제한 후 이를 변경한 커서가 있는 곳으로 삽입
d p 지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동
d) P 문장의 나머지로 이동
d} p 문단의 나머지로 이동
dG P 파일의 나머지로 이동
dH P 화면 시작 부분으로 이동
dL P 화면의 나머지를 이동

※ vi 에디터 종료 마치기 명령
:q 그대로 종료하기
:q! 변경된 내용을 저장하지 않고 강제로 종료하기
:wq 변경된 내용을 저장하고 종료하기
: x :wq와 동일한 명령
ZZ :wq와 동일한 명령

※ 검색
/pattern 텍스트에서 앞으로 패턴 검색
>pattern 텍스트에서 뒤로 패턴 검색
n 앞 또는 뒤로 이전 검색 반복
N 반대 방향으로 이전 검색 반복
/ 전 검색을 앞으로 반복
? 전 검색을 뒤로 반복

※ 문자열 치환
:s/old/new 현재 행의 처음 old를 new로 교체
:s/old/new/g 현재 행의 모든 old를 new로 교체
:10,20s/old/new/g 10행부터 20행까지 모든 old를 new로 교체
:-3,+4s/old/new/g 현재 커서 위치에서 3행 위부터 4행 아래까지 old를 new로 교체
:%s/old/new/g 문서 전체에서 old를 new로 교체
:%s/old/new/gc 문서 전체에서 old를 new로 확인하며 교체
:g/pattern/s/old/new/g Pattern이 있는 모든 행의 old를 new로 교체
:g/pattern/s//new/g :%s/old/new/g와 동일

옵션
옵션약어
기능
디폴트

autoindent
ai
들여 쓰기 가능, 탭으로 들여 쓰기 범위 지정
off

autoprint
ap
줄이 바뀔 때 현재 줄을 화면상에서 출력
on

errobells
ed
명령 에러가 발생시 삑 소리나게 함
off

number
nu
줄 번호를 나타나게 함
off

report
report
편집시 메시지를 보낼 편집 변화 크기 지정
5

showmatch
sm
가로 닫기 괄호를 사용할 때 일치하는 가로 열기 괄호를 보여줌
off

wam
wam
저장하지 않고 vi 종료할 때 경고 메시지를 뿌려 줌
on

ignorecase
ic
검색 패턴에 사용되는 대소문자 구별하지 않음
on

tabstopp=n
ts=n
탭 공백을 n 수만큼 지정
8

wrapmargin=n
wm=n
텍스트 오른쪽 여백을 n 수만큼 지정
0

※ Mark 사용
mx 현재 위치를 x 이름의 마크로 저장

“ 이전에 마크한 위치로 이동
`x 마크한 위치(행, 열)로 이동

‘’ 이전에 마크한 줄로 이동
‘x 마크한 줄로 이동

※ Named Buffer 사용
“ayy 현재 줄을 “a 버퍼에 복사

“Ayy 기존의 버퍼에 현재 줄을 버퍼에 추가
“ap “a 버퍼에 복사된 데이터를 붙여 넣기
☞ ‘a’ 부터 ‘z’ 까지 사용가능

※ 여러 문서 편집
vi filename1, filename2 … vi 로 여러 파일 열기
:n vi로 open한 여러 파일중 다음 파일로 전환

:N vi로 open한 여러 파일중 이전 파일로 전환
:4n 여러 파일중 4개 파일 skip후 파일 Open

:args 현재 열린 모든 파일중 현재 편집중인 파일 표시

 

회신을 남겨주세요

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.