본문 바로가기
리눅스

vi 사용법

by 웹디자인 2012. 7. 20.

vi사용법입니다. 보고 참고하세요.

[vi 1단계]

1. 명령행에서 vi test.txt 해서 vi를 시작합니다.

2. vi 에는 3가지 모드가 있습니다.한번씩 눌러보세요.이거눌렀다,저것 눌렀다...

(1)명령모드: ESC 키 vi 화면 좌측하단에 아무표시도 없습니다.

(2)입력모드: i 키 vi 화면 좌측하단에 -INSERT- 표시가 나타납니다.

(3)ex모드: Shift + : 키 vi 화면 좌측하단에 : 표시가 나타납니다.
.... (#!!!-ESC 키를 꼭 눌러서 명령모드로 바꾼후 해야합니다.)

3. i 키를 누르고(입력모드) 아무거나 2~3줄 입력합니다.

4. 방향키를 눌러 상하좌우로 커서를 움직여 보세요.

5. ESC 키(명령모드)를 누르고, Shift + : 키(ex모드)를 누르고 wq를 입력해 보세요.

6. 자판의 키를 누르면서 어떤일이 벌어지는지 감이 쬐금 올때까지만 계속해보시기 바랍니다.


##1단계에서 여러분이 알게된 명령어##

명령모드( ESC ) 화살표 방향키 커서 이동하기
입력모드( i )
ex모드( Shift + : ) wq 저장하고 종료하기

[vi 2단계]

1. 명령행에서 vi test.txt 해서 1단계서 만든것을 다시 엽니다.

2. 첫번째 라인에 커서를 위치시킵니다.

3. yy 를 누릅니다.(y를 두번 누르면 됩니다)-복사하기 명령입니다.

4. p 를 누릅니다.(3번이상 눌러봅니다)-복사한것 붙혀넣기 명령입니다.

5. x 를 누릅니다.(3번이상 눌러봅니다)-삭제명령입니다.그것도 한글자씩 삭제하기 명령.

6. u 를 누릅니다.(3번이상 눌러봅니다)-되살리기 명령입니다.

7. ESC 키(명령모드)를 누르고, Shift + : 키(ex모드)를 누르고 wq를 입력합니다.


##2단계에서 여러분이 알게된 명령어##

명령모드( ESC ) 화살표 방향키 커서 이동
yy 복사(한줄)
p 붙히기(커서아래에)
x 삭제(한글자)
u 되살리기
입력모드( i )
ex모드( Shift + : ) wq 저장하고 종료하기


[vi 3단계]

1. 명령행에서 vi test.txt 해서 2단계까지 작업한것을 다시 엽니다.

2. 첫번째 라인에 커서를 위치시킵니다.(화살표 방향키 이용)

3. i를 누르고 windows라고 입력합니다.enter키를 두세번 누른후 다시 windows라고 입력, 3번정도
이과정을 반복합니다.

4. ESC키를 눌러 명령모드로 바꾼후 커서를 windows라는 문구 맨앞에 위치시킨후 Shift + r을 누릅니다.
(vi 화면 하단에 -REPLACE-라는 문구가 나타날 것입니다.)

5. linuxvi 라고 입력해보세요.(기존 windows가 linuxvi라고 교체되는 것을 볼수 있을 것입니다.)

6. Shift + : 키(ex모드)를 눌러 명령모드로 바꾼후 set nu 라고 입력합니다.
(라인에 번호가 매겨집니다.)

7. ESC 키(명령모드)를 누르고, Shift + : 키(ex모드)를 누르고 wq를 입력합니다.


##3단계에서 여러분이 알게된 명령어##

명령모드( ESC ) 화살표 방향키 커서 이동
yy 복사(한줄)
p 붙히기(커서아래에)
x 삭제(한글자)
u 되살리기
R 교체
입력모드( i )
ex모드( Shift + : ) wq 저장하고 종료
set nu 라인에 번호매기기

[vi 4단계]

1. 명령행에서 vi test.txt 해서 3단계까지 작업한것을 다시 엽니다.

2. linuxvi 문구중 v자에 커서를 위치시킵니다.(화살표 방향키 이용)

3. i를 누르고 space bar 를 눌러 linux 와 vi 를 구분합니다.
....다시 ESC 키를 누른후 linux 맨앞에 커서를 위치시킵니다.

4. yw 를 누른후 p 를 두세번 천천히 눌러봅니다. (linux라는 단어가 계속 붙혀넣기 될것입니다.)

5. 자 이제 dw 를 눌러보세요.붙혀넣기 되었던 linux 단어가 삭제 될것입니다.)

6. 아무라인에나 커서를 위치시킵니다.

7. dd를 눌러보세요.(한라인통째로 삭제가 될것입니다.
.. 이것이 바로 한줄 통째 복사 명령어인 .yy의 반대명령어입니다.)

8. ESC 키(명령모드)를 누르고, Shift + : 키(ex모드)를 누르고 q!를 입력하세요.
.. (이명령을 주고 vi 를 빠져 나오면 방금했던 작업들이 저장되지 않습니다.)

##4단계에서 여러분이 알게된 명령어##

명령모드( ESC ) 화살표 방향키 커서 이동
yy 복사(한줄)
yw 복사(한단어)
p 붙히기(커서아래에)
x 삭제(한글자)
dw 삭제(한단어)
dd 삭제(한라인)
u 되살리기
R 교체
입력모드( i )
ex모드( Shift + : ) wq 저장하고 종료
q! 저장않고 종료
set nu 라인에 번호매기기

[vi 5단계]

1. 명령행에서 vi test.txt 해서 4단계까지 작업한것을 다시 엽니다.

2. 첫번째 라인에 커서를 위치시키고 3yy를 누릅니다(3줄이 한꺼번에 복사되어집니다.).

3. p를 3번이상 눌러보세요.

4. 3dd 를 누릅니다.(3줄씩 한꺼번에 지워지는 것을 볼수 있습니다.)

5. / (Slash) 를 누른후 (검색모드입니다.vi 화면하단에 / 표시가 나타납니다.)
.. linux라고 입력한후 enter 를 치세요다.그러면 linux 라는 단어가 있는곳으로 이동합니다.
.. 그다음 linux라는 단어로 이동하고자 할때는 n 을 누르면 됩니다.
.. 다시 역으로 올라가고자 하려면 Shift + n 을 누르면됩니다.
.. (#!!! - / 대신 ? 을 누르면 현재 커서위치부터 위쪽으로 검색해 올갑니다.

6. ESC 키(명령모드)를 누르고, Shift + : 키(ex모드)를 누르고 w test2.tst를 입력합니다.

7. vi 에서 빠져나온후 ls 명령을 내려보면 test2.txt 라는 파일이q 새로생긴것을 알 수있습니다.

##5단계에서 여러분이 알게된 명령어##

명령모드( ESC ) 화살표 방향키 커서 이동
yy 복사(한줄)
nyy 복사(n 라인만큼)
yw 복사(한단어)
p 붙히기(커서아래에)
x 삭제(한글자)
dw 삭제(한단어)
dd 삭제(한라인)
ndd 삭제(n 라인만큼)
u 되살리기
R 교체
/ 검색
입력모드( i )
ex모드( Shift + : ) wq 저장하고 종료
wq test2.txt test2.txt 파일명으로 저장
q! 저장않고 종료
set nu 라인에 번호매기기

[vi PowerUP 6단계]

1. 명령행에서 vi powerupvi.txt 해서 세로운 파일을 여세요.

2. 첫번째 라인에 커서를 위치시키고 입력모드( i )에서linuxvi linuxvi linuxvi linuxvi linuxvi라고
입력하고 명령모드로 전환(ESC)후 이것을 복사(yy)하여 붙혀넣기(p)해서 5줄을 만듭니다.

3. j,k,h,l 순으로 마구마구 눌러보면서 커서가 어떻게 움직이나 잘 보세요.

4. w를 한번 두번 세번 마구마구 눌러보세요.한단어씩 이동하죠.
자.그럼 이젠 b를 한번 두번 세번 마구마구 눌러보세요.역시 한단어씩 이동하는데 아까와 반대로
움직이죠.지금은 한칸씩 이동이나 단어단위 이동이나 별차이 없이 느껴지실지도 모르지만 라인수
많아지고 한라인이 무진장 긴문장을 접하고 그 가운데 있는 문자를 수정해야 할경우 큰도움을 볼것
입니다...:)

5. ex모드로( shift + : ) 전환후 : w linuxvi.txt 라고 명령해 보세요.

6. 명령모드(ESC)로 전환후 커서를 마지막라인으로 이동시킨후 o(알파벳입니다.숫자 0 가 아니고,,)를
.. 누르고, windows windows windows windows windows 라고 입력하고 명령모드로 전환(ESC)후
이것을 복사(yy)하여 붙혀넣기(p)해서 5줄을 만듭니다.

7. ex모드로( shift + : ) 전환후 : w linux-windows.txt 라고 명령해 보세요.

8. :wq 하고 저장후 나와서 ls해 보시면 powerupvi.txt 이외에 linuxvi.txt와 linux-windows.txt파일이
추가로 생긴것을 볼 수 있으실 겁니다.

##powerup 6단계에서 여러분이 알게된 명령어##

명령모드( ESC ) j 아래로 이동
k 위로 이동
h 좌로 이동
l 우로 이동
w 한단어씩 정방향으로 이동
b 한단어씩 역방향으로 이동
입력모드( o ) 현재라인 아래 입력모드
ex모드( Shift + : ) w 새로운 이름으로 파일저장하기

[vi PowerUP 7단계]

1. 명령행에서 vi linux-windows.txt 해서 세로운 파일을 여세요.

2. linuxvi 의 마지막 라인의 끝으로 이동후 J (대문자)를 눌러 봅니다.라인 붙히기 입니다.

3. 이제 0(아라비아 숫자)를 눌러 보세요.라인 맨앞으로 이동 할 것입니다. 이젠 $ 를 눌러보세요.
라인의 맨끝으로 이동 할 것입니다.이두가지 명령역시 w,b와 잘 사용하면 프로그램 코딩시
한라인이 엄청길때 원하는 위치로 방향키나,j.k.h.l 보다 신속히 원하는 위치로 이동시켜 주기
때문에 무척 편리하게 쓰실 수 있을 것입니다.

4. 이젠다시 1G를 눌러 보세요.글구 $G를 눌러 보세요.계속 번갈아 가면서 눌러 보세요..
어떤 변화가 있나..이것은 파일의 처음과 끝으로의 이동입니다.
라인수가 작을때나 별쓰임새가 없지만 http.conf와 같이 라인수가 1000라인 이상 넘어가는
파일등에서 간혹 마지막 부분의 설정파일을 보면서 고쳐야 할경우이나 마지막 부분에 뭔가 작업을
해야 할경우 매우 유용합니다..pageup/pagedown 보다 빠르죠.단칼이니까..-_-''

5. 자 위에서 pageup/pagedown키로 한화면씩 이동한다고 했죠.근데 제가 모시고 있는 심사부님말로는 진정한 vi의 고수는 옆에서 봤을때 키보드에서 손이 움직이는 모습이 보이지 않아야 한다라는 가르침을 주시더군요. 결국 vi의 고수들은 자판의 오른쪽에 위치하여 손의 움직임이 보이게 하는
방향키나 pageup/pagedown 키를 만지지 않아야 한다는 것이죠...-_-''..따라서 손의 움직임을
보이게 하는 pageup/pagedown키 대신 손의 움직임을 최소화 시켜줄 단축키를 알아보죠.
다음 단계에서...vi 고수라..

6. ex모드( shift + : )로 전환후 : set nu 해서 라인수가 나오게 합니다.
그리고 : 5 라고 명령후 커서위치를 확인합니다. : 1 이라고 명령후 커서위치를 확인합니다.
이 명령어 쓰임은 보통은 http.conf등과 같은 설정화일을 변경후 데몬을 다시구동시킬때 잘못된
구문이 있을시엔 문제가 있는 라인수가 나오게 됩니다.이때 바로 이명령어를 유용하게 쓰는 겁니다.
파일을 열고 : 에러라인수를 입력하면 바로 그곳으로 커서가 이동하죠.
유용하게 활용하시고 벌레 많이 잡으세요.....:)

7.저장하고 종료합니다.

##powerup 7단계에서 여러분이 알게된 명령어##

명령모드( ESC ) j 아래로 이동
k 위로 이동
h 좌로 이동
l 우로 이동
w 한단어씩 정방향으로 이동
b 한단어씩 역방향으로 이동
J 라인 붙히기
0 (아라비아 숫자) 라인 맨앞으로 이동
$ 라인 맨끝으로 이동
1G 파일의 첫라인으로 이동
$G 또는 G 파일의 끝라인으로 이동
pageup키 한화면 위로 이동
pagedown키 한화면 아래로 이동
입력모드( o ) 현재라인 아래 입력모드
ex모드( Shift + : ) w 새로운 이름으로 파일저장하기
n(원하는 아라비아 숫자) 이동하고자 하는 라인위치로 이동

 

댓글