Vim editor (1/4) 김선영 sunyzero@gmail(dot)com 버 전: 2014-10 버 전: 2014-10 인사이트 출판사 http://blog.insightbook.co.kr 가메출판사 http://www.kame.co.kr 저자홈페이지.

Slides:



Advertisements
Similar presentations
WINDOWS 98 활용 (2) 네트워크 프린터 연결 (1) 시작메뉴 => 설정 => 프린터 ‘ 프린터 추가 ’ 더블클릭 하면 프린터 추가 마법사 실행.
Advertisements

Linux1 Linux 개요 Linux 방문하여 홈페이지 등록하기 Vi 편집해 보기. Linux2 개요  Linux 란 ? 1991 Linus Benedict Torvalds 가 만든 Unix 의 한 버전 GNU(GNU is Not Unix) » 프로그램이나 정보의.
09:00-09:50 한 마음찬양 사도신경 대표기도 성경봉독 생명의 말씀 찬 송 헌금기도 축도 09:50-10:00 새친구, 등반 알립니다. 10:00-10:30분반공부 (12 과 )
Tcl/Tk 민 인학 한국 Tcl/Tk 커뮤니티.
SPARCS 12 yumgyun. 이런게 아닙니다  vim -> vi improve!  유닉스 계열에서 전통적으로 널리 사용도던 vi 의 improve 즉 undo, syntax coloring, split windows 등의 기능을 포함시킨 vi 의 보강된.
담 당 자 : 김봉한 과장 전 화 번 호 : ( 내선 103) 핸드폰번호 : 이 메 일 : 아이닥터 원격제어 솔루션 및 기타 서비스 제안서.
G202G202 G201G201.
메모장 다루기 A. 메모장 실행법 시작>모든 프로그램> 보조 프로그램>메모장 Notepad
화면편집기(vi) 사용하기 ㅎㅎ 유닉스 편집기 vi의 사용 방법 vi의 환경설정 한빛미디어(주)
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스/장난감 세미나
TCP/IP 네트워크 제 26 장 Telnet과 Rlogin 정보통신연구실.
데이터 파일 구성 셀(cell) : 행과 열이 교차하는 부분으로서 특정 변수에 대한 특정 케이스(응답자)의 응답치가 입력됨.
리눅스 실습 정성훈.
뇌를 자극하는 Windows Server 2012 R2
컴퓨터 네트워크 실습.
Unix(Linux) shell programming
크로스 컴파일 환경 구축.
[INA470] Java Programming Youn-Hee Han
2006년 3월 20일 황의권, 지용인, 최종윤 서울대학교 컴퓨터공학부
[beginning] Linux & vi editor
03 SQL*Plus SQL*Plus SQL*Plus 사용 환경 명령어 SQL*Plus 형식 명령어
Linux/UNIX Programming
컴퓨터 네트워크 실습.
손에 잡히는 vim (4/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
Geek OS.
제2장 유닉스/리눅스 사용.
Linux Compile.
Internet Protocol and Programming
OrCad Capture 정원근.
EHA PXA255 스네이크 게임 내장형 하드웨어 A 2009년 7월 16일.
Beginning Linux Programming
제 4 강 운영체제 개요 및 리눅스 실습.
워드프로세서 필기 (구 1급) 6일차 강 사 : 박영민.
발로 하는 파이썬 세미나 안녕하세요. 저는 발로 하는 파이썬 세미나를 발표할….
손에 잡히는 vim (3/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
MINITAB for Six Sigma.
DataBase 연결 및 사용방법
1 2 계속 생산해역등급관리 엑셀업로드 가이드 1. 생산해역등급관리 – 위생자료결과관리(해수)
HW 1 : 운영체제 기본 이해 (3월 30일 금까지) 1장 창틀 채우기 (텍스트 파일에 설명하거나 그림 파일로 제출)
UNIX Internet Server의 대부분을 차지 대표적인 공급업체
IS lab. 김건영 Sed, 정규표현식 IS lab. 김건영
2장 일반 사용자를 위한 유닉스 실습 컴퓨터 : multi.incheon.ac.kr 또는
2018 봄학기 Pusan National University School of CSE
제 20 장 오라클에서 회복 및 백업 기능.
컴퓨터 : 지적 도구 PARSONS/OJA 컴퓨터 사용하기: 기본개념 Page 1 1.
예제 1 이 예제에서는 Solidify, Replace, Free From 에 대하여 알아보도록 하자.
Visual C# VS2010 IDE Tips & Tricks
Appendix A 구조적 시스템 개발 방법론.
VI Editor 부서 : 연구소 이름 : 노재용.
Internet Protocol and Programming
Python.
editing program files with vi 기본적인 Linux commands
Image Styler 발표자 : 백승현 신홍범.
6장 콘 셸 뇌를 자극하는 Solaris Bible.
운영체제의 종류 장승빈.
Unix 방문(접속하여 로그인) 하기 수퍼 유저 되어 사용자 계정 만들기 Unix의 아파치 웹 서버에 홈페이지 등록하기
파워포인트 단축키 모음 범주 명령/기능 단축키 오피스 공통 단축키 파일 열기 Ctrl + O O 열려진 창들 간의 전환
자동 매크로 만들기 매크로 실행하기 매크로 편집하고 응용하기
Command line tools 한국어 정보의 전산 처리
주어진 가락에 이어 가락을 지어 봅시다 6학년 2학기 16. 가을맞이 (2/2) 음 악 제작의도 맨 처음 보이는 초기화면입니다
-자료형과 연산- IS lab. 김건영 Python -자료형과 연산- IS lab. 김건영
Excel 일차 강사 : 박영민.
문서의 작성 정보과학부 이지연.
Internet Protocol and Programming
시스템 인터페이스 Lab#6 C 쉘 프로그래밍 실습.
제8장 C 쉘 창병모
2/4박자 리듬치며 노래 부르기 음악 3학년 3.구슬비 (1/3 ) 수업계획 수업활동 [제작의도]
치매 그리고 나 ^.^ ……… 파워특강 신세계병원장 의학박사 정신과전문의 김 한 주 1.
2장 내 슬라이드 처음 만들기 실용컴퓨터 파워포인트.
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
Presentation transcript:

vim editor (1/4) 김선영 sunyzero@gmail(dot)com 버 전: 2014-10 버 전: 2014-10 인사이트 출판사 http://blog.insightbook.co.kr 가메출판사 http://www.kame.co.kr 저자홈페이지 http://sunyzero.tistory.com

Ch1.vim의 배경과 설치 항상 과거를 돌아보라. 그러면 뭔가 배울 수 있을 것이 다. - 폴 새뮤얼슨

vi vi (visual editor) UNIX / Linux 에서 가장 많이 사용하는 에디터 1976년 BSD의 Bill Joy가 개발 (Sun Microsystem 창업자) ed (line editor)를 사용하던 시절에는 천재들만 프로그래밍을 할 수 있었다. 왜냐하면 자신이 선언한 함수, 변수를 모조리 외우고 있어야만 프로그래밍이 가능했기 때문이다.

vim - vim improved vi 에 추가적인 확장 기능 부여 (Amiga로부터...) 리눅스에서는 vi 대신에 vim 이 사용되어짐 (vim 은 vi 의 기능을 모두 포함) 단 root 유저가 사용하는 vim은 최소화된 vim 에디터로서 static linking된 바이너리임 (라이브러리 디렉터리가 데미지를 입어도 구동할 수 있도록…) 대부분의 UNIX에서도 complementary package 로 제공되어짐 Amiga 500 (1987) 부잣집 도련님의 상징!

vim : platform vim은 다양한 플랫폼을 지원한다. Linux, UNIX, Mac OSX, Windows ... 빨리 익숙해지려면 Windows gvim을 메모장 대신에 사용하는 것이 좋다.

vi / vim alias alias를 통해 vi=vim으로 구동시킬 수 있다. login 시에 자동으로 설정되도록 하려면... ~/.bashrc 에 설정해둔다. (debian은 ~/.bash_aliases) alias를 적용하고 싶지 않을 경우는 prefix로 \ 를 사용하면 된다. $ alias vi=vim # .bashrc (.bash_aliases on Debian) ...생략... alias vi=vim

Ch2.Vim 입문 시작이 반이다. - 아리스토텔레스

vim의 시작 vim [filename] vi의 기본 작동 모드 특정 파일명을 열면서 시작 파일명이 "-" 일 경우에는 -stdin- 을 의미함 vi의 기본 작동 모드 일반모드, 입력모드, 명령행모드 vim은 여기에 비주얼 모드등이 추가된다. $ vim mytext.txt $ find . -name "*.txt" | vim -

modes 전통적인 vi 는 3가지 모드를 가짐 vim 은 추가 모드를 가짐 일반모드: normal mode (or command mode) 입력모드: insert mode 명령행모드: command-line mode (or colon mode) vim 은 추가 모드를 가짐 비주얼모드: visual mode 마우스를 대신하는 드래그 모드 (아래아 한글의 F3키와 유사)

modes (con't) 모드 전환

modes : key * 처음엔 가장 많이 사용하는 i와 o 키를 주로 외워두자. 명령어 설명 a, A a(append)는 현재 커서 위치에서 한 칸 뒤로 이동한 후 입력 모드로 전환 A는 현재 행의 끝으로 이동한 후, 입력 모드로 전환됩니다. i, I i(insert)는 현재 커서 위치에서 입력 모드로 전환됩니다. I는 현재 행의 맨 앞으로 이동 후, 입력 모드로 전환됩니다. o, O o(open line)는 현재 행 아래에 새로운 행을 하나 만든 후 입력 모드로 전환 O는 현재 행 위에 새로운 행을 하나 만든 후 입력 모드로 전환됩니다. R 수정(replace) 모드로 작동하므로 모든 글자는 덧쓰여집니다. * 처음엔 가장 많이 사용하는 i와 o 키를 주로 외워두자.

modes : insert : a / A , i / I 대소문자에 따라 차이가 있다.

modes : commandline : exit 강제 종료 명령 : ! 를 뒤에 더한다.

modes (con't) normal mode가 필요한 이유 = Text-based에서는 GUI menu가 없으므로 short-cut으로 구현해야..

Practice 아래 박스 내용을 clientlist.txt 로 저장한다. 1. vim clientlist.txt 1304, Yona Yahav, M, 42, MP1 1294, Kebin Robinson, M, 41, CP1 1601, Steven Choi, M, 34, CP3 1314, TW Yoon, F, 46, CP1 1315, Rina Suzuki, F, 36, MP1 1600, Robert Kim, M, 32, CP3 1297, Rarry Robinson, M, 38, CP2 1. vim clientlist.txt 2. i 를 눌러 입력 모드로 전환한다. 3. 위 코드의 내용을 입력한다. 4. <ESC>를 눌러 입력 모드를 종료하여, 일반 모드로 전환한다. 5. :w 명령으로 파일을 저장한다. 6. :q 로 vim을 종료한다.

cursor 화살표키 대신에 h,j,k,l을 사용해본다. 지금 사용되는 106키 키보드는 과거에는 없던 물건이다. 따라서 vi 계열은 ten-key가 없는 곳에서 이동명령을 사용할 수 있게 hjkl에 이 동 기능을 맵핑해두었다. 부가서비스로 손목을 최소한으로 이동하게하는 효과가 있다. 무릇 IT종사자는 좀 게을러야 발전이 생긴다. = 꼼수가 만들어진다.

cursor : UNIX keyboard 과거의 유닉스 키보드의 모습을 간직한... Happy Hacking Keyboard와 103 Key 한글 키보드의 비교

cursor : movement 명령어 설명 [#]h 좌로 #칸 이동, #의 생략 시는 1칸 [#]j 아래로 #칸 이동, #의 생략 시는 1칸 [#]k 위로 #칸 이동, #의 생략 시는 1칸 [#]l 우로 #칸 이동, #의 생략 시는 1칸 ^ 행의 맨 앞으로 이동 $ 행의 맨 끝으로 이동

scroll PgUp, PgDown도 없다고 생각하자.

goto # line 특정 라인으로 이동할 때 scroll을 사용하는 것은 비효율 line number를 직접 입력하자. 명령어 설명 [#]gg #행으로 이동합니다. #이 생략되면 1을 의미합니다. [#]G #행으로 이동합니다. #이 생략되면 마지막 행을 의미합니다. :# #행으로 이동합니다. 명령어 설명 <CTRL-G> :file 현재 문서 위치 정보를 하단 상태 바에 표시합니다.

buffer : delete, cut 삭제 vi 에서의 삭제 = 임시 버퍼에 잘라내기 3dd라고 명령하면? 명령어 설명 x 현재 행을 삭제 D 현재 컬럼 위치에서 현재 행의 끝부분까지 삭제 (d$와 동일) J 아래 행을 현재 행의 끝에 붙임 (아래 행의 앞부분 공백은 제거됨) 3dd라고 명령하면?

buffer : del. newline character

buffer : paste 5p라고 명령하면? 명령어 설명 p :pu 현재 행에 붙여 넣습니다(put). 개행 문자가 포함된 경우에는 현재 행의 아래에 붙여 넣습니다. P 현재 행의 위쪽에 붙입니다. (대문자) 5p라고 명령하면?

buffer : copy 명령어 설명 yy :y Y 현재 행을 레지스터에 복사(yank)합니다.

buffer : undo / redo 이전 명령어 반복 : . (dot) 설명 u undo 기능입니다. 바로 이전에 행한 명령 한 개를 취소합니다. CTRL-R redo 기능입니다. 바로 이전에 취소했던 명령을 다시 실행합니다. 이전 명령어 반복 : . (dot) = normal mode에서 IHello (대문자 i + Hello) 라고 타이핑 후에 <ESC>를 누른다. == dot 키를 누르면 어떤 일이 발생하는가? (문서 중간에서 명령하면?)

cmd : range 명령행 모드에서 범위를 지정해서 명령 특정 행 범위의 삭제에 편리 명령어 설명 :20d 20번 행을 삭제합니다. :10,25d 10~25번 행을 삭제합니다. :10,$d 10~마지막 행까지 삭제합니다. :%y 문서 전체를 복사합니다. %는 1,$와 동일합니다. :.,+20y 현재 행부터 아래로 스무 행을 복사합니다. :-10,+5d 현재 행부터 위로 10행, 아래로 5행, 총 열여섯 행을 삭제합니다. :40pu 40번 행에 레지스터의 내용을 붙여넣습니다.

cmd : range (con't) 범위 연산 meta character 기호 의미 . 현재 행을 의미합니다. $ 마지막 행을 의미합니다. +# 현재 위치에서 #만큼 아래 행을 의미합니다. -# 현재 위치에서 #만큼 위 행을 의미합니다. % 문서(파일) 전체를 의미합니다.

visual mode mouse의 drag 기능을 대신 매우 직관적이고 편리하다. (vim 확장 기능) 명령어 설명 v (소문자) 일반 비주얼 모드로 현재 커서 위치에서 블록을 지정합니다. V (대문자) visual line mode로, 현재 커서가 위치한 행에서 행 단위로 블록을 지정 CTRL-V visual block mode로, 열(column) 단위로 블록을 지정합니다. (<CTRL-V>가 예약되어 사용할 수 없는 경우는 <CTRL-Q>로 대신할 수 있다.)* * 윈도 환경에서는 CTRL-V가 붙이기로 사용될때 CTRL-Q로 대체할 수 있다.

visual mode에서 cursor key는 그대로 사용할 수 있다. 예를 들어 GG를 누르면 행 끝으로 이동한다.

visual line mode

visual block mode 특정 컬럼 전체를 삭제할 때 편리하다. (단 컬럼의 길이가 같다면...) = 각 컬럼의 길이가 다르다면 recording 기능을 사용하는 것이 좋다.

visual mode에서 colon을 누르면 자동으로 range가 설정된다. visual mode : range visual mode에서 colon을 누르면 자동으로 range가 설정된다.

visual block : column editing ESC를 두번 눌러야만 한다. CTRL-V , 에디팅(I, A, R, c ...) , ESC*2 ESC를 2번 타이핑해야만 column editing이 완료된다. I : insert , A : append c : change ~ : switch case E.g. 특정 열에 문자열을 삽입하는 경우 특정 열에 문자열을 교체하는 경우

Practice - column editing 아래와 같은 형태로 편집하려면? 이태리 장인처럼 한줄 한줄 편집하지는 말고...

visual mode gv o previous highlighted text 영역 불러오기