1)커서의 위치를 움직이는 명령(Move commands)
N에 *가 있는 경우 숫자를 사용할 수 있고, -의 경우 사용할 수 없다.
N |
명령어 |
기능 |
* |
h or ^H or |
커서를 한칸(N칸) 왼쪽으로 이동시킨다. |
* |
j |
커서를 한행(N행) 아래로 이동시킨다. |
* |
l or |
커서를 한칸(N칸) 오른쪽으로 이동시킨다. |
* |
k or ^P |
커서를 한행(N행) 위로 이동시킨다. |
* |
$ |
커서가 위치한 행(N번째 행)의 끝으로 이동한다. |
- |
^ |
커서가 위치한 행의 처음으로 이동한다. |
* |
+ or |
다음행(N행 아래)의 처음으로 이동한다. |
- |
0 |
커서가 위치한 행의 처음으로 이동한다. |
* |
| |
N번째 column으로 이동한다. |
* |
f |
오른쪽으로 N번째 char를 찾는다. |
* |
F |
왼쪽으로 N번째 char를 찾는다. |
* |
w |
커서부터 오른쪽 N번째 단어의 첫부분. |
* |
W |
커서부터 오른쪽 N번째 WORD(tab,space,linefeed 뒤에 있는 단어)의 첫부분. |
* |
{ |
N개의 paragraphs 앞으로. |
- |
n |
가장 최근의 `/'|`?' 를 반복한다. |
- |
N |
n을 반대방향으로의 수행. |
- |
% |
Braket( { } or [ ] or ( ) )을 찾고 그것의 match를(괄호가 닫힌 쌍)찾는다. |
2)찾기(Searching)
/<</SPAN>문자열> |
다음으로 <</SPAN>문자열>이 나오는 위치로. |
?<</SPAN>문자열> |
/를 반대방향으로 수행. |
:[x,y]g/<</SPAN>문자열>/<</SPAN>명령어> |
x에서 y까지 <</SPAN>문자열>을 찾고(globally) <</SPAN>명령어>를 실행한다. |
:[x,y]v/<</SPAN>문자열>/<</SPAN>명령어> |
x에서 y까지 문자열과 match되지 않는 라인에 <</SPAN>명령어>를 실행한다. |
3)취소(Undoing changes)
u |
가장 최근에 한 작업을 취소한다. |
U |
만약 작업을 한 라인에서 벗어나지 않았다면, 그 라인에서 한 작업들을 모두 취소한다. |
:q! |
Save하지 않고 vi를 끝낸다. |
:e! |
현재 편집중인 화일을 버리고 다시 편집한다. |
4) 문자열 삽입(Appending text)
1. 를 누르면 삽입 작업이 끝난다.
2. N에 *가 있는 경우 숫자를 사용할 수 있고, -의 경우 사용할 수 없다.
* |
a |
커서의 오른쪽에 쓰기 시작한다. |
* |
A |
커서가 위치한 라인의 맨 끝에 쓰기 시작한다. |
* |
i |
커서의 위치부터 쓰기 시작한다. |
* |
I |
커서가 위치한 라인의 맨 처음부터 쓰기 시작한다. |
* |
o |
커서가 위치한 라인 밑에 새로운 라인을 만들고 거기에 쓰기 시작한다. |
* |
O |
커서가 위치한 라인 위에 새로운 라인을 만들고 거기에 쓰기 시작한다. |
* |
. |
앞에 실행했던 명령을 N번 반복한다. |
5) 문자열 삭제(Deleting text)
지운 것은 모두 buffer에 저장할 수 있다. 일단 지우는 명령을 실행하기 전에 "를 치고 a-z 중간의 한 문자를 치면 지운 것이 그 문자에 해당하는 buffer에 저장되게 된다. 참고로 Undo buffer는 가장 최근에 바꾼 것만 저장하게 되고, 1-9에 해당하는 buffer는 가장 최근의 9라인을 지운 것을 저장하게 된다.
* |
x |
커서 오른쪽의 N개의 문자를 지운다. |
* |
X |
커서 왼쪽의 N개의 문자를 지운다. |
* |
d |
커서가 위치한 곳에서부터 로 인해 움직인 위치까지 지운다. |
* |
dd |
커서의 위치로부터 밑으로 N개의 라인을 지운다. |
- |
D |
커서의 위치로부터 오른쪽의 문자를 모두 지운다. |
* |
. |
최근에 실행했던 명령을 N번 반복한다. |
6) 문자열 수정(Changing text)
를 누르면 바꾸는 작업이 끝난다.
* |
r |
커서의 위치로부터 N개의 문자를 로 바꾼다. |
* |
R |
라인의 나머지를 덮어쓴다. |
* |
s |
N개의 문자를 교체한다. |
* |
S |
N개의 라인을 교체한다. |
* |
c |
커서의 위치로부터 의 위치까지 바꾼다. 예를 들어 cw는 한 단어를 바꾸는 명령이다. |
* |
cc |
N개의 라인을 바꾼다. |
* |
C |
라인의 나머지 부분을 바꾼다. |
- |
~ |
대문자와 소문자를 각각 소문자와 대문자로 바꾼다. |
* |
J |
N개의 라인을 연결한다. |
* |
. |
가장 최근의 명령을 N번 반복한다. |
- |
& |
가장 최근의 `ex'의 교체명령을 반복한다. |
- |
:[x,y]s/ // |
x번째 라인에서 y번째 라인까지 의 문자열을 이라는 문자열로 교체한다. 는 여러가지 옵션인데, c는 확인을 요하는 옵션이고 g는 무조건 교체하라는 옵션이다. |
7) 저장, 다른 화일의 편집, vi를 끝내기
:q |
Buffer가 변하지 않은 경우 vi를 끝낸다. |
:q! |
강제로 vi를 종료한다. |
^Z |
vi를 종료한다. |
:w |
화일에 저장한다. |
:w <</SPAN>화일명> |
<</SPAN>화일명>으로 저장한다. |
8)다른 명령계통으로의 전환 및 shell 명령어의 사용.
(Switch and shell commands)
Q |
vi에서 ex 명령으로 전환한다. |
: |
ex명령어를 vi상에서 사용할 수 있게 한다. |
:vi |
ex 에서 vi로 전환한다. |
:sh |
잠시 shell환경으로 나간다. 다시 vi로 돌아오려면 exit를 치면 된다. |
'OS > Linux' 카테고리의 다른 글
리눅스 명령어 모음 (1) | 2011.04.22 |
---|