본문 바로가기
코스웨어/10년 시스템제어

WinVi 편집기(윈도우에서 사용가능한 vi편집기) 및 몇가지 자주사용하는 명령어.

by 알 수 없는 사용자 2010. 5. 19.
728x90
반응형

* 처음 vi편집기 하던날 검색해서 조금 연습했던 것들입니다^^ 공유하면 좋을것같아서 올려요~!


1.



2.



보기에는 2번째 VI.EXE가 리눅스 콘솔(터미널)창이랑 비슷하게 생겼는데요.
저는 첫번째가 더 편하더군요..-_-;; 기능은 비슷비슷합니다!!
vi편집기 환경파일(~/.vimrc)에 적용시키는 명령어..를
vi 편집기 명령어 모드에서 사용해도 잘먹힙니다.
ex)
:set number
:set showmatch
:set autoindent 
아참.. 제가 좋아하는 set showmode는 안먹힙니다;;

vi사용법 익히기 ppt


(예전에 샀던 리눅스책에있는 vi편집기 명령어들이라.. 공부도 할겸...두서없이 그냥 적었습니다.
:q라던지 :q!라던지 입력모드(i)등은 안적습니다~!)
VI 편집기에서 사용하는 명령어

제일 먼저 이동을 배우더군요.

명령어모드에서
        ^
        k            k를 누르면 위로이동.
  < h     l >      h는 왼쪽..l 오른쪽.
        j             j는 아래로..
        v
k - 위
h - 오른쪽
l - 왼쪽
j - 아래
$ - 행의 마지막줄(End키랑 같다고 보면됩니다.)
^ - 행의 첫번째 비공백문자 (home 키랑 같다고 보면 됩니다.)
물론 방향키로 이동해도 되지만 익숙해지면 빠르다고해서 연습중입니다. ㅎㅎ

아 이동나온김에 이동에 관한 몇가지..
명령어모드에서 ..
:1 (콜론 숫자1) - 첫번째 줄로 이동.(혹시나 강의시간에 :0썻던기억이있어서 :0해보니 첫번째줄로 이동하더군요!)

여기까지는 아는건데 공부하다 보니 다른것도 있더군요!!
명령어모드에서..
숫자 누르고 대문자G(shift+g)누르면 그 줄로 이동합니다.
즉 :1 == 1 shift+g
:1 과 같은건 1 shift+g 입니다.

연습하다 명령어모드에서 바로 shift+g를 해보니 더 놀라운결과가 -_-;;
명령어모드(이하 )
shift+g  - 제일 마지막 줄로 이동합니다.
아 주의 해야할점은요 0 shift+g가 제일첫번째줄로이동이 아니라 제일마지막줄로 이동하더군요.
즉 shift+g == 0 shift+g 입니다.
(추가로 ctrl+g 누르면 현재 파일의 상태와 줄의정보등이 하단에 적힌답니다..)


/찾을단어  - 찾을단어를 쓴곳으로 이동합니다. (여기까지 알고있지만.. ?찾을단어도 있습니다.)
ex) /printf - 만약에 printf가 많이 있다면 n으로 검색하시면 됩니다. 소문자 n은 아래로검색 대문자 N은 위로 검색.
만약 printf를 제일 아래쪽부터 검색하실려면 ?printf 요 방법도있습니다. (요기.. /은 위에서 아래로 검색 ?은 밑에서 위로검색)

괄호의 짝 찾기.
'[','(','{'등의 짝을 찾기위해서 괄호의 위치에서 % 누르면 찾아갑니다.
----------------------------------------
---------------------------------------------------------------

디벙깅할때 괄호의 일치가 안맞을때 유용!!

다른것들도 몇개있는데 안쓸꺼같아서 요곳만 적어요~!

--------------------------------
각종 이동 및 검색 위치텔포 요약 -_-;
---------------------------------
이동은 h j k l 키 및 방향키.
$ == End    줄의 제일마지막으로.
^ == Home  줄의 첫단어로(비공백 첫문자라니깐 아마맞을듯? 틀리면 지적좀..)
:0 == :1 == 1 shift+g  소스의 제일 첫번째줄로
shift+g == 0 shift+g   소스의 제일 마지막줄로..
/찾을단어 - 찾을단어 검색(위에서 아래로검색)
n키와 N키로 검색할수있음.
?찾을단어 - 찾을단어 검색(아래에서 위로검색)
% - 괄호 짝 찾기.
-----------------------------------

삭제(전부 명령어모드에서)
한줄 삭제는 아시죠 dd
아래로 두줄삭제도 아시죠? 1dj 혹은 1d방향키아래.
위로 두줄삭제 1dk 혹은 1d방향키위로.
dw 오늘 배웠습니다. 워드 단위삭제. 단 아셔야할것은 공백포함 삭제입니다.
de 라는게 있더군요!! 공백제외한 한단어 삭제.

68 번째줄  hi system
69 번째줄  hi system 이있다면
68번째줄은 dw
69번째줄은 de 로 지운것입니다.
d$ = 커서가있는곳에서 줄끝까지 삭제.

d$의 예)
68번째줄은 dd로 삭제 (s에 커서가 있습니다.)
69번째줄 d$ 삭제(마찬가지로 s에 커서가있습니다.)

혹시나 해서 커서 위치에서 d^하니깐 요것도 먹히네요.
d^ - 커서위치부터 앞에내용 전부 삭제.
삭제한것을 되돌릴려면 u를 눌르면 되는건 아시죠(한번밖에안되돌림;;)
이상하게 삭제하셨고 복구가 힘들다면 과감히 :q! 해서 나갔따가 들어오시길 -_-;;; 저도 가끔씀..ㅋ

-----------------------------------------
삭제
-----------------------------------------
dd - 한줄 삭제
1d방향키 - 커서줄포함 방향키2줄삭제.
dw - 커서로부터 단어끝까지 삭제 공백포함.
de - 커서로부터 단어끝까지 삭제 공백 미포함.
d$ - 커서로부터 그줄끝까지 삭제.
d^ - 커서로부터 그줄젤앞까지 삭제.
ex) 마지막으로 삭제한것은 커서에서 p로 하시면 커서앞으로해서 잘라넣기가 됩니다.
커서뒤로 붙여넣기하실려면 대문자 P
-------------------------------------------

수정
cw - 한단어 수정.
(ce 랑 뭐가 틀린지 아직모르겠음..)

hi system에서 커서가 s에있는상태에서 명령모드에서 cw를 하게되면 커서로부터 한단어끝의 수정모드가 됨.
만약 siasdf 라는단어를 system으로 수정하고 싶다면 i커서에서 cw후 수정하면됨(i 안해도 글자수정됨!)
수정을 응용하면
[숫자] c 를하게되면 커서위치로 부터 [숫자]문자 만큼 수정.
응용해서 해보면

cw ,ce ,c$,c^도 다됨..
삭제 모드 참고하세요...(다 적고 싶지만 -ㅁ- 연습해보세요..)

이것말고도 오류 수정하는게 있는데
ex) :s/hi/hello ...  :s/hi/hello/g 
잘 안쓸것같음...



마지막으로 신기 한것 한가지...
명령모드에서
:!
하고 외부명령어를 적게되면 외부 명령어가 먹힙니다.
ex)
:!ls
:!ls -al
:!gcc -o main hexa.o main.o

-------------------------------------------

--------------------------------------------------
1번째 파일로 실행해봤으나.. 도스창이 순간 열렸다가 닫혀서 요고 테스트는 2번째 파일로 실행시켜봤습니다..
더 놀라운것은..
1번째 파일로 cl main.c를 해보니 먹히더군요.
집에 gcc나 cl컴파일이 깔려있으면 한번해보세요 재밌더군요!
저는 도서관리초기판으로 테스트해봤는데 됩니다.

-----------------------------------------------
----------------------------------------------

이거 이외에도 많이 있던데..
아직 해보지않았습니다~!

마지막에 :!외부명령어 <-- 요고는 우분투에서 가능할지 안해봤네요^^;
728x90