1 / 34

VIM Seminar

VIM Seminar. 이윤석 ( gangok@sparcs ). VI. Text Editor 1976 년 Bill Joy 라는 사람이 개발 line editer 와 구별되는 VIsual editor 라는 뜻에서 유래 현재는 복제품 ( 혹은 개량품 ) 의 형태로 많이 사용되고 있음. VIM. VI Improved VI 복제품 중 가장 많이 사용됨 1991 년 Bram Moolenaar 라는 사람이 개발 리눅스에서 가장 많이 사용되며 , 대부분의 OS 에서 사용가능함

tamah
Download Presentation

VIM Seminar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VIM Seminar 이윤석(gangok@sparcs)

  2. VI • Text Editor • 1976년 Bill Joy라는 사람이 개발 • line editer와 구별되는 VIsual editor라는 뜻에서 유래 • 현재는 복제품(혹은 개량품)의 형태로 많이 사용되고 있음

  3. VIM • VI Improved • VI 복제품 중 가장 많이 사용됨 • 1991년 Bram Moolenaar라는 사람이 개발 • 리눅스에서 가장 많이 사용되며, 대부분의 OS에서 사용가능함 • (심지어 아이폰, 안드로이드에서도!!)

  4. (*`Д´)//

  5. 일단 VIM을 켜 봅시다!

  6. VIM 실행시키기 • $vim • $vim [파일 이름] • [파일 이름]에 해당하는 파일이 없을 경우 임시 생성 • vim 대신 vi를 입력해도 상관없음

  7. 뭐든지 입력해보자!

  8. 뭐든지 입력해보자! • i를 누른뒤 텍스트를 입력

  9. 입력모드와 명령모드 • 입력모드 : 텍스트를 입력 • 명령모드 : 명령을 내림 • vim을 처음 켜면 명령모드로 시작됨 • 명령모드 -> 입력모드 : 정해진 명령어를 입력 • 입력모드 -> 명령모드 : esc키를 누름 • 뭔가 잘못된 것 같으면 무조건 esc키를 누르자

  10. 명령어에 대해서 알아보자!

  11. 1. 커서 이동(방향키) • h, j, k, l • h : 왼쪽 • j : 아래쪽 • k : 위쪽 • l : 오른쪽 • 헷갈리죠? 쓰다 보면 외워진대요

  12. 2. 입력 모드로 들어가는 명령 • 소문자 i: 현재커서위치에서부터입력시작 • 소문자 a: 현재커서뒤쪽에서부터입력시작 • 대문자 I: 현재 줄 맨 앞쪽에서부터입력시작 • 대문자 A: 현재 줄 맨 뒤쪽에서부터입력시작 • 소문자 o: 현재 줄 다음부터입력시작 • 대문자 O: 현재 줄 이전부터입력시작

  13. 3. 불러오기, 저장, 종료 • :e [파일 이름] //불러오기 • :w //저장 • :w [파일 이름] • :q //종료 • :wq //저장하며 종료 • :wq [파일 이름] • 위 명령 뒤에!를 붙이면 강제로 수행하라는 의미가 됨 • Ex) :w! :q! :wq!

  14. 너무 복잡하죠?

  15. 너무 복잡하죠? • 모든 명령을 처음부터 다 외울 필요 없음 • 꼭 필요하다 싶은 것만 외우고 있다가, 뭔가 있었으면 좋겠다 싶은 기능이 있거든 찾아볼 것!

  16. 4. 커서 이동(고급) • w : 다음 단어 • b : 이전 단어 • $ : 줄 마지막으로 • ^ : 줄 처음으로 • gg : 파일 처음으로 • G : 파일 마지막으로

  17. 5. 블록 지정 • v : 블록지정 • V : 줄단위 블록지정 • Ctrl + v : 사각형 블록지정 • esc로 취소

  18. 6. 복사, 붙여넣기 등(블록 지정 상태) • y : 복사 • d,c : 잘라내기(삭제) • p : 붙여넣기

  19. 7. 복사, 붙여넣기 등(블록 미지정) • yy : 커서가 있는 줄 복사 • Y + [숫자]+ y : 커서가 있는 줄 부터 [숫자] 줄 만큼 복사 • Ex) y3y • dd : 커서가 있는 줄 삭제(잘라내기) • d + [숫자]+ d : 커서가 있는 줄 부터 [숫자] 줄 만큼 삭제 • p : 다음에 붙여넣기 • P : 이전에 붙여넣기

  20. 8. 실행취소 • u : 실행취소(undo) • Ctrl + r : 실행취소 취소(redo)

  21. 9. 찾기 • / + [내용] : 뒤로 가면서 [내용] 찾기 • ? + [내용] : 앞으로 가면서 [내용] 찾기 • :set hlsearch : 검색어에 하이라이트 • :set nohlsearch : 검색에어 하이라이트 주지 않기 • n : 다음 검색어(정방향) • N : 이전 검색어(역방향)

  22. 9.5 찾아 바꾸기 • :%s/[찾을 단어]/[바꿀 단어]/[옵션] • 옵션으로 g는 모두 바꾸기, c는 바꿀 때 마다 물어보기 • Ex) :%s/void/blank/g • % 대신 줄 번호를 입력하여 해당 영역에 대해서만 찾아 바꾸기도 가능 • Ex) :1,30s/void/blank/g • 찾기와 찾아 바꾸기는 정규식으로 동작함

  23. 9.5-2 정규식 • String의 검색, 치환, 추출을 위한 패턴 • 여러 가지 환경에서 사용되나 사용법은 대동소이함 • 예 - 전화번호 형식, 이메일 형식 등

  24. 9.5-2 정규식(2) • 우리 학번 : \d\{8} => 여덟자리 숫자 • 리눅스 아이디 : [A-Za-z][0-9A-Za-z]* • 첫 자리는 문자, 그 다음부터 숫자 ㅇㅋ • 이메일주소 : \w\+@\w\+\.\w\+ • + => 글자 적어도 1개 이상 ~ 무한대 • 즉, 글자들@글자들.글자들 • 아라에 사용되는 카이스트 이메일 : • ^\s*\w\+@kaist\.ac\.kr\s*$

  25. 9.5-2 정규식(3) • http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html • or google ‘정규식’ 검색

  26. 기타 알아두면 좋은 내용1. 창 나누기 • Ctrl+w, n: 가로로 화면나누기 • :vs • Ctrl+w, v: 세로로 화면 나누기 • :sp • Ctrl+w, h/j/k/l: 나뉘어진 창 사이를이동 • :set mouse=an : 마우스 사용 가능 • :q : 현재 창 닫기

  27. 기타 알아두면 좋은 내용 2. Folding

  28. 기타 알아두면 좋은 내용 2. Folding(2) • zf: 지정된 영역 folding 만들기 • zo or zO : folding 열기 • zc or zC : folding 닫기 • zr or zR : folding 모두 열기 • zm or zM : folding 모두 닫기 • zd : folding 삭제

  29. 기타 알아두면 좋은 내용3. Macro $ vi macro_sample i1.<ESC>qayyp<Ctl+a>q98@a q<reg>(some macro)q //macro 저장 @<reg> @@ //macro 실행 :register //register 보기 “5p //5번 register paste

  30. 기타 알아두면 좋은 내용4. .vimrc 환경 설정 파일

  31. 기타 알아두면 좋은 내용5. vimdiff • $ vimdiff: 두개의파일을 비교하는 모드 • Ex) $ vimdiff a.txt b.txt • do : 다른 윈도우의 변경 사항을 현재 윈도우로 가져오기 • dp: 현재 윈도우의 변경 사항을 다른 윈도우로 넣기 • ]c : 다음 변경 사항으로 이동 • [c : 이전 변경 사항으로 이동

  32. 차근차근 배워보고 싶으면.. • $ vimtutor • vim 튜토리얼

  33. 과제 • orig_vim파일을 수정하여 final_vim과 똑같이 만들기 • 일일이 타이핑해도 되지만 가능하면 오늘 배운 기능들을 사용해 보기(do, dp제외) • cp /home/gangok/vim_seminar/*_vim ~ • vimdifforig_vimfinal_vim

More Related