vi 에디터
1 Cursor 위치를 변경하는 명령들
2 vi 명령들
3 자세한 정보를 가져 오려면...
명령을 잘 활용하는 방법은 'man' 명령을 이용하는 것입니다.
UNIX 명령에 좀 익숙 하신분들은 'man' 명령을 활용 하십시오.
1.
vi Cursor Positioning
- - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - -
:1G (go :
: /\ ^b (back :
: || /\ ^u (up :
|----------------------||--------------------||--------------------|
|H (home |
| k O (open |
|I i (insert /\ a (append P (put A |
| | |
|O <--------- h <------- you are here -------> l -------------->$|
| | |
|M (middle (backspace \/ (space bar p(put |
| j o (open |
| Y (yank /string |
| n repeat last search |
|L (last . repeat last command|
|----------------------||--------------------||--------------------|
: || \/ ^d (down :
: \/ ^f (forward :
:\$G (go :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
2. vi 명령들
1 Cursor를 옮기는 여러가지 방법
2 화면을 옮기는 여러가지 방법
3 한 화면 안에서 cursor를 옮기는 방법
4 한 line 안에서 cursor를 옮기는 방법
5 검색
6 vi를 빠져나가는 방법
7 삽입 mode
8 Yanking : (Copying
9 Deleting
10 Putting
11 Interactive edit : (search and replace
12 Global 명령
13 Reading in files
14 여러 화일의 edit
15 Miscellancenous commands
1 Cursor를 옮기는 여러가지 방법
k(-
/\
||
h(bs <----- -----> l(sp
||
\/
j(+
h,j,k 와 i 를 이용하영 간단히 키보를 누르면 cursor의 위치가 변
경됩니다.
(에 있는 키를 선택하여도 됩니다.
bs : BackSpace sp : SPace bar "
2 화면을 옮기는 여러가지 방법
^f - (FORWARD 화면을 one page 앞으로 옮김
^b - (BACKWARD 화면을 one page 뒤으로 옮김
^d - (DOWN 화면을 반 page 앞으로 옮김
^u - (UP 화면을 반 page 뒤으로 옮김
^ 는 키보드의 ctrl 를 나타내는 것입니다."
3 한 화면 안에서 cursor를 옮기는 방법
H - HOME, 한 화면의 top line으로 옮긴다.
M - MIDDLE, 한 화면의 중간으로 옮긴다.
L - LAST, 한 화면의 마지막 line으로옮긴다.
G - GOTO, 화일의 마지막 line으로 옮긴다.
nG - GOTO nth line the file (or :n
^G - GIVES file status
^ 는 키보드의 를 나타내는 것입니다."
4 한 line 안에서 cursor를 옮기는 방법
w - WORD, 한단어 앞으로
b - BACKWARD, 한단어 뒤로
e - END, 현재 cursor가 위치한 맨 뒤로
o - zero, line의 맨 앞으로 (or ^
$ - end, line의 맨뒤로"
5 검색
/pattern - scan (/ 'pattern'이라는글자를 현재 cursor가
위치한 곳의 다음 단어를 검색
?pattern - scan (? 'pattern'이라는 글자를 현재 cursor가
위치한 곳의 앞 단어를 검색
n - 앞쪽에서 입력했었던 문자 'pattern' 의 다음단어를 검색
N - 앞쪽에서 입력했었던 문자 'pattern' 의 다음 앞 단어를
검색"
6 vi를 빠져나가는 방법
:q! - 화일의 내용을 저장하지 않고 exit
:w - WRITE, vi를 빠져나가지 않으면서 내용을 저장
:wq - WRITE and QUIT, vi를 빠져나가면서 내용을 저장
ZZ - :wq의 명령과 같다."
7 삽입 mode
i - INSERT, cursor 위치 부터 문자 삽입
I - INSERT, line의 맨 앞부터 문자 삽입
a - APPEND, cursor 다음 위치 부터 문자 삽입
A - APPEND, cursor 위치한 line의 끝부터 문자 삽입
o - OPEN line, 현재의 line 다음에 line 삽입
O - OPEN line, 현재의 line 앞에 line 삽입
r - REPLACE, 한 문자만을 대치 (does not require ESC
R - REPLACE, ESC 키가 입력될때 까지 대치
cw - CHANGE word, cursor가 위치한 곳의 단어 끝까지 대치
(cnw - change n number of words
C - CHANGE, cursor가 위치한 곳에서 line 끝까지 대치
u - UNDOES, 마지막 명령의 취소
U - UNDOES, line전체를 원 상태로 복구
Note : INSERT mode 를 만든는 모든 문자(i, a, o,r, c, s <대문자 포
함>를 사용하는 경우 insert mode에서 입력 한 내용을 취소하고
자 하면, ESC 를 누르고 undo를 수행하는 u를 입력하면 된다.
Note : ESC (escape key 는 삽입(insert를 중지 시키고 명령어 mode로
돌아가는 키이다."
8 Yanking : (Copying
Y - YANKS (copies line을 사용자가 보이지 않는 buffer에 저장
yy - YANKS (copies line을 사용자가 보이지 않는 buffer에 저장
nY - YANKS n , n line을 사용자가 보이지 않는 buffer에 저장"
9 Deleting
x - deletes, 문자 하나를 삭제 (also 'd sp'
dw - DELETES words, 문자 하나를 삭제
D - DELETES, cursor가 있는 곳에서 부터 line끝 까지 삭제
dd - DELETES lines, line하나를 삭제 하고 보이지 않는 buffer
에 저장
ndd - DELETES n, n line을 삭제 하고 보이지 않는 buffer에 저장
(i.e., 10dd deletes 10 lines"
10 Putting
p - PUTS, cursor가 위치한 다음 line에 보이지 않는 buffer의
내용을 삽입
P - PUTS, cursor가 위치한 앞 line에 보이지 않는 buffer의
내용을 삽입
xp - cursor 가 위치한 문자와 다음 문자를 교환"
11 Interactive edit : (search and replace
/pattern - find, pattern이라는 문자를 검색
cw - change word, 단어를 대치 (cw. dw, r, s, etc.
n - find, 앞에서 검색했던 'pattern'이라는 문자를 검색
하는 반복 명령
N - find, 앞에서 검색했던 'pattern'이라는 문자를 역순
으로 검색 하는 반복 명령"
12 Global 명령
Global replacement
:1,\$s/string1/string2/g
1 line부터 끝까지 string1 를 string2 로 대치
e.g., :1,\$s/sun/SUN/
Global delete
:g/pattern/d
1 line부터 끝까지 pattern 을 제거
e.g., :g/###/d (to delete lines inserted by cc file.c | &
error-v"
13 Reading in files
:r file2 - cursor가 위치한 다음 line에 file2를 삽입"
14 여러 화일의 edit
:w - 다른 화일을 읽기전에 현재의 화일을 저장 (file1
:e file2 - 두번째 file을 edit하기 위해 load (file2
:w - 두번째 화일을 저장 (file2
:e # - original file 을 수정하기 위해 load (file1
example:w /* file1을 빠져 나가기전에 저장*/
:e file2 /* file2 load */
\"x4Y /* buffer 'x'에 file2의 top 4 line을
저장 */
:e # /* file1 을 load (no changes */
\"xP /* buffer 'x'에 저장 되어 있는 내용을
put */"
15 Miscellancenous commands
:! cmd - editor안에서 shell command를 수행 하고자 할때
~ - (tilde or 'wavy', 대문자를 소문자로 소문자를 대문자
로 교환
% - 한 line안에서 (,,{,},[,]를 검색
mx - 문자 x에 현재 위치를 표시
d'x - 문자 x에 표시된 위치 부터 현재 cursor 위치 까지 삭
제
^V - allows for insertion of control characters (e.g.,
^L
?string - scan (/ backward for 'pattern'
:n,m w file - n line에서 m line까지 내용을 file 이라는 이름
으록 (e.g., 15,25 w file
J - JOINS, cusor가 있는 line과 다음 line을 join
:set ai - editor 가 자동적으로 insert tabs을 삽입
:set list - special characters 를 보여줌
(i.e., non-printable characters
:set nows - stop wraparound search
:set ts=n - set tab stops to be other than the default (8
:set wm=n - set wrap margin (automatic carriage return insert
at n"
1 Cursor 위치를 변경하는 명령들
2 vi 명령들
3 자세한 정보를 가져 오려면...
명령을 잘 활용하는 방법은 'man' 명령을 이용하는 것입니다.
UNIX 명령에 좀 익숙 하신분들은 'man' 명령을 활용 하십시오.
1.
vi Cursor Positioning
- - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - -
:1G (go :
: /\ ^b (back :
: || /\ ^u (up :
|----------------------||--------------------||--------------------|
|H (home |
| k O (open |
|I i (insert /\ a (append P (put A |
| | |
|O <--------- h <------- you are here -------> l -------------->$|
| | |
|M (middle (backspace \/ (space bar p(put |
| j o (open |
| Y (yank /string |
| n repeat last search |
|L (last . repeat last command|
|----------------------||--------------------||--------------------|
: || \/ ^d (down :
: \/ ^f (forward :
:\$G (go :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
2. vi 명령들
1 Cursor를 옮기는 여러가지 방법
2 화면을 옮기는 여러가지 방법
3 한 화면 안에서 cursor를 옮기는 방법
4 한 line 안에서 cursor를 옮기는 방법
5 검색
6 vi를 빠져나가는 방법
7 삽입 mode
8 Yanking : (Copying
9 Deleting
10 Putting
11 Interactive edit : (search and replace
12 Global 명령
13 Reading in files
14 여러 화일의 edit
15 Miscellancenous commands
1 Cursor를 옮기는 여러가지 방법
k(-
/\
||
h(bs <----- -----> l(sp
||
\/
j(+
h,j,k 와 i 를 이용하영 간단히 키보를 누르면 cursor의 위치가 변
경됩니다.
(에 있는 키를 선택하여도 됩니다.
bs : BackSpace sp : SPace bar "
2 화면을 옮기는 여러가지 방법
^f - (FORWARD 화면을 one page 앞으로 옮김
^b - (BACKWARD 화면을 one page 뒤으로 옮김
^d - (DOWN 화면을 반 page 앞으로 옮김
^u - (UP 화면을 반 page 뒤으로 옮김
^ 는 키보드의 ctrl 를 나타내는 것입니다."
3 한 화면 안에서 cursor를 옮기는 방법
H - HOME, 한 화면의 top line으로 옮긴다.
M - MIDDLE, 한 화면의 중간으로 옮긴다.
L - LAST, 한 화면의 마지막 line으로옮긴다.
G - GOTO, 화일의 마지막 line으로 옮긴다.
nG - GOTO nth line the file (or :n
^G - GIVES file status
^ 는 키보드의 를 나타내는 것입니다."
4 한 line 안에서 cursor를 옮기는 방법
w - WORD, 한단어 앞으로
b - BACKWARD, 한단어 뒤로
e - END, 현재 cursor가 위치한 맨 뒤로
o - zero, line의 맨 앞으로 (or ^
$ - end, line의 맨뒤로"
5 검색
/pattern - scan (/ 'pattern'이라는글자를 현재 cursor가
위치한 곳의 다음 단어를 검색
?pattern - scan (? 'pattern'이라는 글자를 현재 cursor가
위치한 곳의 앞 단어를 검색
n - 앞쪽에서 입력했었던 문자 'pattern' 의 다음단어를 검색
N - 앞쪽에서 입력했었던 문자 'pattern' 의 다음 앞 단어를
검색"
6 vi를 빠져나가는 방법
:q! - 화일의 내용을 저장하지 않고 exit
:w - WRITE, vi를 빠져나가지 않으면서 내용을 저장
:wq - WRITE and QUIT, vi를 빠져나가면서 내용을 저장
ZZ - :wq의 명령과 같다."
7 삽입 mode
i - INSERT, cursor 위치 부터 문자 삽입
I - INSERT, line의 맨 앞부터 문자 삽입
a - APPEND, cursor 다음 위치 부터 문자 삽입
A - APPEND, cursor 위치한 line의 끝부터 문자 삽입
o - OPEN line, 현재의 line 다음에 line 삽입
O - OPEN line, 현재의 line 앞에 line 삽입
r - REPLACE, 한 문자만을 대치 (does not require ESC
R - REPLACE, ESC 키가 입력될때 까지 대치
cw - CHANGE word, cursor가 위치한 곳의 단어 끝까지 대치
(cnw - change n number of words
C - CHANGE, cursor가 위치한 곳에서 line 끝까지 대치
u - UNDOES, 마지막 명령의 취소
U - UNDOES, line전체를 원 상태로 복구
Note : INSERT mode 를 만든는 모든 문자(i, a, o,r, c, s <대문자 포
함>를 사용하는 경우 insert mode에서 입력 한 내용을 취소하고
자 하면, ESC 를 누르고 undo를 수행하는 u를 입력하면 된다.
Note : ESC (escape key 는 삽입(insert를 중지 시키고 명령어 mode로
돌아가는 키이다."
8 Yanking : (Copying
Y - YANKS (copies line을 사용자가 보이지 않는 buffer에 저장
yy - YANKS (copies line을 사용자가 보이지 않는 buffer에 저장
nY - YANKS n , n line을 사용자가 보이지 않는 buffer에 저장"
9 Deleting
x - deletes, 문자 하나를 삭제 (also 'd sp'
dw - DELETES words, 문자 하나를 삭제
D - DELETES, cursor가 있는 곳에서 부터 line끝 까지 삭제
dd - DELETES lines, line하나를 삭제 하고 보이지 않는 buffer
에 저장
ndd - DELETES n, n line을 삭제 하고 보이지 않는 buffer에 저장
(i.e., 10dd deletes 10 lines"
10 Putting
p - PUTS, cursor가 위치한 다음 line에 보이지 않는 buffer의
내용을 삽입
P - PUTS, cursor가 위치한 앞 line에 보이지 않는 buffer의
내용을 삽입
xp - cursor 가 위치한 문자와 다음 문자를 교환"
11 Interactive edit : (search and replace
/pattern - find, pattern이라는 문자를 검색
cw - change word, 단어를 대치 (cw. dw, r, s, etc.
n - find, 앞에서 검색했던 'pattern'이라는 문자를 검색
하는 반복 명령
N - find, 앞에서 검색했던 'pattern'이라는 문자를 역순
으로 검색 하는 반복 명령"
12 Global 명령
Global replacement
:1,\$s/string1/string2/g
1 line부터 끝까지 string1 를 string2 로 대치
e.g., :1,\$s/sun/SUN/
Global delete
:g/pattern/d
1 line부터 끝까지 pattern 을 제거
e.g., :g/###/d (to delete lines inserted by cc file.c | &
error-v"
13 Reading in files
:r file2 - cursor가 위치한 다음 line에 file2를 삽입"
14 여러 화일의 edit
:w - 다른 화일을 읽기전에 현재의 화일을 저장 (file1
:e file2 - 두번째 file을 edit하기 위해 load (file2
:w - 두번째 화일을 저장 (file2
:e # - original file 을 수정하기 위해 load (file1
example:w /* file1을 빠져 나가기전에 저장*/
:e file2 /* file2 load */
\"x4Y /* buffer 'x'에 file2의 top 4 line을
저장 */
:e # /* file1 을 load (no changes */
\"xP /* buffer 'x'에 저장 되어 있는 내용을
put */"
15 Miscellancenous commands
:! cmd - editor안에서 shell command를 수행 하고자 할때
~ - (tilde or 'wavy', 대문자를 소문자로 소문자를 대문자
로 교환
% - 한 line안에서 (,,{,},[,]를 검색
mx - 문자 x에 현재 위치를 표시
d'x - 문자 x에 표시된 위치 부터 현재 cursor 위치 까지 삭
제
^V - allows for insertion of control characters (e.g.,
^L
?string - scan (/ backward for 'pattern'
:n,m w file - n line에서 m line까지 내용을 file 이라는 이름
으록 (e.g., 15,25 w file
J - JOINS, cusor가 있는 line과 다음 line을 join
:set ai - editor 가 자동적으로 insert tabs을 삽입
:set list - special characters 를 보여줌
(i.e., non-printable characters
:set nows - stop wraparound search
:set ts=n - set tab stops to be other than the default (8
:set wm=n - set wrap margin (automatic carriage return insert
at n"