VI, VIM
VI, VIM은 리눅스에서 기본 편집기다
vi가 업그레이드 되어 vim이 된거라 vi, vim 두 명령어 모두 실행은 vim으로 실행된다
VI 모드
명령모드: 에디터 실행시 먼저 접하는 모드
명령어로 이용해 수정, 삭제, 복사, 붙이기, 탐색이 가능하다
[:] 입력 후 w(저장), q(종료), i(취소), wq!(저장종료)를 할 수 있다(!를 붙이면 강제를 의미)
[i,a,o,I,A,O] 입력하면 입력 모드로 전환된다
입력모드: 실제로 문서에 입력할 수 있는 모드
작성 후 [esc]를 누르면 명령모드로 전환된다
명령모드 -> 입력모드 -> 명령모드
비정상 종료시
vi를 비정상 종료하게 되면 swp 파일이 생성된다
파일을 다시 실행 할때 경고가 발생하는데 y 누르고 넘어가거나 ls -a로 숨은파일에 swp 파일 확인하고 삭제해주면 된다
VI 들여쓰기 설정
# 설정파일 생성
cd ~
vi .vimrc
# .vimrc파일에 설정 추가
set smartindent
set tabstop=4
set expandtab
set shiftwidth=4
vi편집기 명령어 모음
명령모드 |
|
|
|
명령어 |
설명 |
명령어 |
설명 |
i(커서), a(커서 다음), o(현재 줄) |
입력모드 진입 |
:w |
저장 |
(n)x |
한 문자 삭제 |
:q |
종료 |
dw |
한 단어 삭제(띄어쓰기까지) |
:f 파일명.txt |
파일이름 변경 |
u |
명령취소 (ctrl + z) |
set nu set nonu |
라인번호 보기/끄기 |
(n)dd |
잘라내기 (ctrl + x) |
/문자열 |
커서 앞쪽으로 문자 탐색 |
yy |
복사 (ctrl + c) |
?문자열 |
커서 뒤쪽으로 문자 탐색 |
p |
붙여넣기 (ctrl + v) |
숫자 |
해당 라인으로 이동 |
h(좌), j(아래), k(위), l(우) |
커서이동 |
|
|
0 |
커서가 라인 맨 앞 (Home) |
|
|
$ |
커서가 라인 맨 뒤 (End) |
|
|
1G, gg |
파일 맨 앞 |
|
|
M |
파일 중간 |
|
|
G |
파일 맨 끝 |
|
|
( |
문장 시작 |
|
|
) |
문장 끝 |
|
|
{ |
문단 시작 |
|
|
} |
문단 끝 |
|
|
삽입 명령 |
|
|
|
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 |
커서를 화면 중간 라인으로 이동 |
“ |
커서를 전 위치로 이동 |
( |
문장의 시작으로 이동 |
{ |
문단의 시작으로 이동 |
) |
문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동 |
} |
문단 끝으로 이동 |
삭제 명령 |
|
|
|
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 |
화면의 시작까지 바꾸기 |
|
|
이동 |
|
|
|
p |
삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입 |
P |
삭제나 복사된 텍스트를 커서가 잇는 문자나 라인 앞에 삽입 |
dw p |
커서가 있는 단어를 삭제한 후 이를변경한 커서가 있는 것 뒤에 삽입 |
dw P |
커서가 잇는 단어를 삭제 후 이를 변경한 커서 있는 곳 앞으로 삽입 |
d p |
지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동 |
d) P |
문장의 나머지로 이동 |
d} p |
문단의 나머지로 이동 |
dG P |
파일의 나머지로 이동 |
dH p |
회면 시작 부분으로 이동 |
dL P |
화면의 나머지를 이동 |
복사 |
|
|
|
yw |
커서가 있는 단어를 복사 |
yb |
커서가 있는 앞 단어를 복사 |
yW |
공백으로 구분된 뒷 단어 복사 |
yB |
공백으로 구분된 앞 단어를 복사 |
y |
특정한 다음 텍스트 복사 |
yy |
커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동 |
y) |
문자의 나머지 복사 |
y} |
문단의 나머지 복사 |
yG |
파일의 나머지 복사 |
yH |
화면의 시작까지 복사 |
yL |
화면의 나머지 복사 |
|
|
검색 |
|
|
|
/patter n |
텍스트에서 앞으로 패턴 검색 |
>patter |
텍스트에서 뒤로 패턴 검색 |
n |
앞 또는 뒤로 이전 검색 반복 |
N |
반대 방향으로 이전 검색 반복 |
/ |
전 검색을 앞으로 반복 |
? |
전 검색을 뒤로 반복 |
vi 에디터 종료 마치기 명령 |
|
|
|
|
|
|
:q |
그대로 종료하기 |
|
|
|
|
|
:q! |
변경된 내용을 저장하지 않고 강제로 종료하기 |
|
|
|
|
|
:wq |
변경된 내용을 저장하고 종료하기 |
|
|
|
|
|
:x |
:wq와 동일한 명령 |
|
|
|
|
|
ZZ |
:wq와 동일한 명령 |
|
|
|
|
|
삽입 명령 |
|
|
|
|
|
|
a |
커서 뒤에 입력 |
|
|
A |
라인 끝에 입력 |
|
I |
커서 앞에 입력 |
|
|
I |
라인시작 부분에 입력 |
|
o |
커서 있는 라인 밑에 입력 |
|
|
O |
커서가 있는 라인 위에 입력 |
|
방향키를 이용한 커서 이동 명령 |
|
|
|
|
|
|
<-, Del |
왼쪽으로 커서 한 칸 이동 |
|
|
PageUp |
화면 위로 이동 |
|
-> SpaceBar |
오른쪽으로 한 칸 이동 |
|
|
PageDown |
화면 아래로 이동 |
|
↑ |
윗 줄로 커서 이동 |
|
|
Enter |
다음 줄 첫 칸으로 이동 |
|
↓ |
아래 줄로 커서 이동 |
|
|
Esc |
다음 줄 첫 칸으로 이동 |
|
Home |
줄 처음 칸으로 이동 |
|
|
|
|
|
다른 키를 이용한 커서 이동 명령 |
|
|
|
|
|
|
H |
왼쪽으로 커서 한 칸 이동 |
|
|
k |
윗 쪽으로 커서 이동 |
|
l |
오른쪽으로 한 칸 이동 |
|
|
j |
아래쪽으로 커서 이동 |
|
e |
다음 단어의 마지막 칸으로 이동 |
|
|
E |
공백으로 구분된 뒷 단어의 마지막 칸으로 이동 |
|
b |
앞 단어의 앞 칸으로 이동 |
|
|
B |
공백으로 구분된 앞 단어의 앞 칸으로 이동 |
|
W |
다음 단어의 앞 칸으로 이동 |
|
|
W |
공백으로 구분된 뒷 단어의 앞 칸으로 이동 |
|
그 외의 키를 이용한 커서 이동 명령 |
|
|
|
|
|
|
Ctrl + F |
다음 화면으로 이동 |
|
|
Ctrl + D |
반 화면 위로 이동 |
|
Ctrl + B |
전(앞) 화면으로 이동 |
|
|
Ctrl + L |
반 화면 아래로 이동 |
|
O |
줄이 시작되는 첫 칸으로 이동 |
|
|
- |
이전 줄의 시작 부분으로 이동 |
|
$ |
줄이 끝나는 마지막 칸으로 이동 |
|
|
+ |
다음 줄의 시작 부분으로 이동 |
|
( |
문장의 시작으로 이동 |
|
|
{ |
문단의 시작으로 이동 |
|
) |
문장의 끝으로 이동하여 다음 단어의 시작 첫 칸으로 커서 이동 |
|
|
} |
문단의 끝으로 이동 |
|
G |
문서의 마지막 줄로 이동 |
|
|
“ |
이전의 커서 위로 이동 |
|
nG |
n번째 줄로 이동 |
|
|
M |
화면 중간 줄에 커서 이동 |
|
삭제 명령 |
|
|
|
|
|
|
x |
커서가 있는 문자 삭제 |
|
|
X |
커서가 있는 문자 앞에 있는 문자 삭제 |
|
dw |
커서가 있는 단어 삭제 |
|
|
db |
커서 앞에 있는 단어 삭제 |
|
dW |
공백으로 구분된 뒷 단어 삭제 |
|
|
dB |
공백을 구분된 앞 단어 삭제 |
|
dd |
커서가 있는 라인 삭제 |
|
|
D |
커서가 있는 라인의 나머지 삭제 |
|
d) |
문장의 나머지 삭제 |
|
|
d} |
문단의 나머지 삭제 |
|
dG |
파일의 나머지 삭제 |
|
|
dH |
화면의 시작까지 삭제 |
|
dL |
화면의 나머지 삭제 |
|
|
J |
커서와 다음 단어 사이의 모든 공백 삭제 |
|
바꾸기 명령 |
|
|
|
|
|
|
R |
커서에 잇는 문자 대치 |
|
|
R |
입력 모드로 한 문자식 덮어 씀 |
|
s |
커서가 있는 문자 삭제 후 입력 모드로 전환 |
|
|
D |
커서가 있는 줄을 삭제한 후 입력 모드로 전환 |
|
cb |
커서가 있는 앞 문자 삭제 후 입력 모드 |
|
|
cW |
공백으로 구분된 뒷 단어를 삭제한 후 입력 모드 |
|
cB |
공백으로 구분된 앞 단어 삭제 후 입력 모드 |
|
|
cc |
커서가 있는 라인을 삭제하고 입력 모드 |
|
C |
커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환 |
|
|
cO |
커서에서부터 라인의 시작까지 텍스트 바꾸기 |
|
c |
특정 텍스트 바꾸기 |
|
|
c) |
문장의 나머지 바꾸기 |
|
c} |
문단의 나머지 바꾸기 |
|
|
cG |
파일의 나머지 바꾸기 |
|
cH |
화면의 시작까지 바꾸기 |
|
|
cL |
화면의 나머지 바꾸기 |
|
텍스트 이동 |
|
|
|
|
|
|
p |
삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입 |
|
|
P |
삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입 |
|
dw p |
커서가 있는 단어를 삭제한 후 이를 원하는 곳 커서 뒤로 삽입 |
|
|
dw P |
커서가 있는 단어를 삭제한 후 이를 변경한 커서가 있는 곳으로 삽입 |
|
d p |
지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동 |
|
|
d) P |
문장의 나머지로 이동 |
|
d} p |
문단의 나머지로 이동 |
|
|
dG P |
파일의 나머지로 이동 |
|
dH P |
화면 시작 부분으로 이동 |
|
|
dL P |
화면의 나머지를 이동 |
|
복사 |
|
|
|
|
|
|
yw |
커서가 있는 단어를 복사 |
|
|
yb |
커서가 잇는 앞 단어를 복사 |
|
yW |
공백으로 구분된 뒷 단어 복사 |
|
|
yB |
공백으로 구분된 앞 단어를 복사 |
|
y |
특정한 다음 텍스트 복사 |
|
|
yy |
커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동 |
|
y) |
문자의 나머지 복사 |
|
|
y} |
문단의 나머지 복사 |
|
yG |
파일의 나머지 복사 |
|
|
yH |
화면 시작까지 복사 |
|
yL |
화면의 나머지 복사 |
|
|
|
|
|
검색 |
|
|
|
|
|
|
/pattern |
텍스트에서 앞으로 패턴 검색 |
|
|
>pattern |
텍스트에서 뒤로 패턴 검색 |
|
n |
앞 또는 뒤로 이전 검색 반복 |
|
|
N |
반대 방향으로 이전 검색 반복 |
|
/ |
전 검색을 앞으로 반복 |
|
|
? |
전 검색을 뒤로 반복 |
|
옵션 |
|
옵션약어 |
기능 |
|
|
디폴트 |
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 |
|
[출처] [vi editor] 명령어 |작성자 아키라
출처: <http://blog.naver.com/PostView.nhn?blogId=akira54055&logNo=60035061839&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView>
옵션 |
|
옵션약어 |
기능 |
|
|
디폴트 |
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 |