http://blog.naver.com/yhyuckj74/50013459569
삽입 명령 | |||
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 |
커서가 있는 라인 위에 입력 |
| |||
방향키를 이용한 커서 이동 명령 |
| ||||||
<-, |
왼쪽으로 커서 한 칸 이동 |
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 에디터 (출처:http://compedu.inue.ac.kr/%7Echlee56/wowlinux/vi.htm) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
여러개 파일을 동시에 열고 싶을 때,
:n은 다음문서, :N은 이전문서로 간다.
vi에는 세가지 모드가 있습니다. Command, Insert, ex 모드랍니다.
한칸씩 이동하는 것은 화살표키로도 가능하지만, vi명령을 사용할 경우 '3h'와 같이 사용하여, '오른쪽으로 3칸이동'과 같은 명령을 수행할 수 있다.
~/.exrc
와 같은 형식으로 씁니다.
|
vi 명령어
vi에디터는 세가지 모드가 존재하며, 입력(input), 명령(command), ex(last line)모드이다. 이에 우선 명령어 모드는 파일의 편집작업을 하는 것으로 글자를 지우고, 바꾸고, 복사하고, 다른 곳으로 옮기는 등의 작업을 할 수 있다. 이러한 명령어 모드의 명령어들은 영어단어의 첫글자로 만들어졌으며 대소문자를 구분한다. 입력모드의 경우에는 에디터 상에서 글을 입력하는 모드이다. 삽입 모드가 아닌 경우에는 입력이 불가하며, vi에디터는 명령어 모드로 시작된다. 마지막으로 ex모드의 경우에는 명령어 모드의 확장이라고 볼 수도 있는데, 마지막에 정리를 하거나, 저장을 하기 위해 사용되는 모드로 대체적으로 :나 /, ? 이 사용된다.
그럼 구체적인 명령어를 살펴보면,
command line 명령어 |
내 용 |
vi file |
vi를 시작하여 지정한 파일 편집 |
vi -r file |
읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집 |
view file |
읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집 |
vi -r |
되살릴 수 있는 모든 파일 이름 보여주기 |
vi -r file |
vi를 시작하여 지정한 파일 되살리기 |
편 집 명 령 |
내 용 |
i |
입력 모드로 전환, 커서 위치 앞에서 삽입 |
a |
입력 모드로 전환, 커서 위치 뒤에서 삽입 |
I |
입력 모드로 전환, 현재 줄의 앞에 삽입 |
A |
입력 모드로 전환, 현재 줄의 끝에 삽입 |
o |
입력 모드로 전환, 현재 줄의 아래에 전개 |
O |
입력 모드로 전환, 현재 줄의 위에 전개 |
:e file |
지정한 파일의 편집 |
:e! file |
지정한 파일의 편집, 자동 점검의 생략 |
r |
단지 한 글자만 변경(입력 모드로 바뀌지 않음) |
R |
입력하는 대로 겹쳐 써서 변경 |
s |
삽입에 의해 한 단어의 변경 |
C |
커서의 위치로부터 줄 끝까지 삽입에 의한 변경 |
cc |
전체 줄을 삽입에 의한 변경 |
S |
전체 줄을 삽입에 의한 변경 |
cmove |
커서부터 move까지 삽입에 의해 변경 |
~ |
대,소문자 바꾸기 |
u |
편집 버퍼를 수정했던 마지막 명령을 취소 |
U |
현재 줄을 저장 |
. |
편집 버퍼를 수정했던 마지막 명령 반복 |
x |
커서가 있는 문자 삭제 |
X |
커서의 왼쪽 문자 삭제 |
D |
커서부터 줄의 끝까지 삭제 |
dd |
현재 줄의 전체 삭제 |
dmove |
커서부터 move까지 삭제 |
dG |
커서부터 편집 버퍼의 끝까지 삭제 |
d1G |
커서부터 편집 버퍼의 맨 앞까지 삭제 |
:<line>d |
지정한 줄의 삭제 |
:<line>,<line>d |
지정한 범위의 삭제 |
:<line>co<target> |
지정한 줄을 복사하여 target 줄 밑에 삽입 |
:<line>, <line>co<target> |
지정한 범위를 복사하여 target 줄 밑에 삽입 |
:<line>m<target? |
지정한 줄로 이동하여 target 줄 밑에 삽입 |
:<line>, <line>m<target> |
지정한 범위로 이동하여target 줄 밑에 삽입 |
<n>!!command |
n번 줄에서 command의 실행 |
!move command |
커서부터 move까지 command 실행 |
!move fmt |
커서부터 move까지 줄들을 형식 맞추기 |
:w |
원래의 파일로 데이터를 저장 |
:w file |
지정한 파일로 데이터를 저장 |
:w>> file |
지정한 파일에 데이터를 추가 |
:wq |
데이터를 저장하고 종료 |
:q! |
데이터를 저장하지 않고 종료 |
:set number |
내부 줄 번호 디스플레이 |
:set nonumber |
내부 줄 번호 디스플레이 않기 |
p |
마지막으로 지워진 것을 커서의 뒤/아래에 삽입 |
P |
마지막으로 지워진 것을 커서의 앞/위에 삽입 |
xp |
두 문자를 바꿈 |
deep |
두 단어를 바꿈 |
ddp |
두 줄을 바꿈 |
/rexp |
지정된 정규 표현식에 대해 앞으로 이동 |
/ |
이전의 패턴에 대해 앞으로 검색을 반복 |
?rexp |
지정된 정규 표현식에 대해 뒤로 이동 |
? |
이전의 패턴에 대해 뒤로 검색을 반복 |
n |
/나 ?명령에 대해 같은 방향으로 반복 |
N |
/나 ?명령에 대해 반대 방향으로 반복 |
:ab short long |
short를 long에 대한 약어로 변경 |
:ab |
현재 약어 목록을 표시 |
:una short |
약어 short를 표시 |
r<Return> |
문자를 뉴라인으로 변경 |
J |
아래 line을 현재 line과 합치기 |
:set wm=n |
오른쪽으로 n문자 위치에서 자동적으로 줄 나눔 |
h or <Left key> |
커서를 한 칸 왼쪽으로 이동 |
j or <Down key> |
커서를 한 줄 아래로 이동 |
k or <Up key> |
커서를 한 줄 위로 이동 |
l or <Right key> |
커서를 한 칸 오른쪽으로 이동 |
<Backspace> |
커서를 한 칸 왼쪽으로 이동 |
<Space> |
커서를 한 칸 오른쪽으로 이동 |
- |
커서를 이전 줄의 처음으로 이동 |
+ |
커서를 다음 줄의 처음으로 이동 |
<Return> |
커서를 다음 줄의 처음으로 이동 |
0 |
커서를 현재 줄의 맨 앞으로 이동 |
$ |
커서를 현재 줄의 맨 끝으로 이동 |
^ |
커서를 현재 줄의 첫글자(공백이나 탭이 아닌)로 이동 |
w |
커서를 다음 단어의 첫 글자로 이동 |
e |
커서를 다음 단어의 끝 글자로 이동 |
b |
커서를 이전 단어의 첫 글자로 이동 |
W |
w와 같음(문장 부호 무시) |
E |
e와 같음(문장 부호 무시) |
B |
b와 같음(문장 부호 무시) |
( |
다음 문장의 처음으로 이동 |
) |
이전 문장의 처음으로 이동 |
{ |
다음 문단의 처음으로 이동 |
} |
이전 문단의 처음으로 이동 |
H |
커서를 화면 맨 위로 이동 |
M |
커서를 중간으로 이동 |
L |
커서를 맨 아래로 이동 |
^f |
한 화면 아래로 이동 |
^b |
화면 위로 이동 |
^d |
반 화면 아래로 이동 |
^u |
반 화면 위로 이동 |
n^d |
n줄만큼 아래로 이동 |
n^u |
n줄만큼 위로 이동 |
:!command |
vi를 중단하고 지정한 셸 명령을 실행 |
:!! |
vi를 중단하고 이전의 셸 명령을 실행 |
:sh |
vi를 중단하고 셸을 실행 |
:!csh |
vi를 중단하고 새로운 C-셸을 실행 |
:s/<pattern>/<replace>/ |
현재 줄의 치환 |
:<line>s/<pattern>/<replace>/ |
지정한 줄의 치환 |
:<line>,<line>s/<pattern>/<replace>/ |
정한 범위의 치환 |
:%s/<pattern>/<replace>/ |
모든 줄의 치환 |
:<line>r file |
file의 내용을 지정한 줄 다음에 삽입 |
:r file |
file의 내용을 현재의 줄 다음에 삽입 |
:<line>r !command |
command의 결과를 지정한 줄 다음에 삽입 |
:r !command |
command의 결과를 현재의 줄 다음에 삽입 |
:r !look pattern |
지정한 pattern으로 시작된 단어 삽입 |
. |
뉴라인을 제외한 모든 단일 문자와 대응 |
* |
영 또는 그 이상의 선행 문자와 대응 |
^ |
줄의 시작과 대응 |
$ |
줄의 끝과 대응 |
\< |
단어의 시작과 대응 |
\> |
단어의 끝과 대응 |
[ ] |
묶여진 문자중의 하나와 대응 |
[^ ] |
묶여진 문자를 제외한 아무것하고나 대응 |
\ |
이어지는 기호를 문자 그대로 해석 |
<n>G |
줄번호 n으로 건너뛰기 |
1G |
편집 버퍼의 첫 줄로 건너뛰기 |
G |
편집 버퍼의 마지막 줄로 건너뛰기 |
:map g lG |
g가 lG와 같도록 매크로 정의 |
|
'OS > Linux' 카테고리의 다른 글
리눅스 한글 입력 (0) | 2009.11.28 |
---|---|
우분투] 설치 후 초기화 과정 (0) | 2009.11.28 |
vi를 사용할 때 주의사항 (2) | 2009.11.08 |
vi편집기 환경설정(vimrc) (0) | 2009.11.08 |
시스템정보 명령어 (0) | 2009.10.21 |