510 likes | 681 Views
Vim seminar. SPARCS 12 yumgyun. 이런게 아닙니다 @@. 1. vim 이란 ?. vim -> vi improve! 유닉스 계열에서 전통적으로 널리 사용도던 vi 의 improve 즉 undo, syntax coloring, split windows 등의 기능을 포함시킨 vi 의 보강된 프로그램이다. 1. vi 란 ?. 유닉스 환경의 대표적인 editor 빌 조이 Visual editor ( 그 전엔 line editor)
E N D
Vim seminar SPARCS 12 yumgyun
1. vim이란? • vim -> vi improve! • 유닉스 계열에서 전통적으로 널리 사용도던 vi 의 improve 즉 undo, syntax coloring, split windows 등의 기능을 포함시킨 vi 의 보강된 프로그램이다.
1. vi란? • 유닉스 환경의 대표적인 editor • 빌 조이 • Visual editor (그 전엔 line editor) • GUI보다 능숙해질 경우 매우 빠른 능률
1. 다시 vim이란? • vi의 확장판 중 가장 널리 쓰임 • 1991년 Bram Moolenaar • 대부분 Linux의 기본 에디터 • -Emacs, Nano, ed • 여러 OS에서 사용 가능 • - iOS, Android 까지도
2. 실습 • 무작정 시작해봅시다@_@ • Putty를 키세요
Vim의 3가지모드 • 입력모드 • 파일모드 • 명령모드
2-1. 입력모드 2-2. 명령모드 2-3. 파일모드 2-4. 그 외 유용한 기능들
2-1. 입력모드 • 내용 입력이 가능한 상태 • 명령 상태에서 a, o, i등을 입력(삽입) • 명령 상태에서 c, R 등을 입력(수정) • ESC키를 누르면 명령상태로 전환
직접 해봅시다. • i hello <Esc> I aa <Esc> A bb <Esc> a c <Esc> o hi <Esc> O hiiiiii <Esc> s aa <esc> O a <Esc> S b <Esc>
2-2. 명령모드 • 편집에 필요한 각종 명령이 가능한 상태 • 처음 vim을 실행했을 때나 ESC키를 입력 • 이동, 수정, 삭제, 검색 등의 작업
2-2. 커서이동 • W - 다음 단어의 맨 처음으로 커서이동 • E - 다음 단어의 맨 마지막으로 커서이동 • B • 이전 단어의 맨 처음으로 커서이동 대문자는 공백기준 소문자는 의미기준 “의미” 기준이라는 것은 “ ” . / % <> 등등을 기준으로 구분
2-2. 커서이동 • 0 : 현재 줄의 처음으로 이동 • ^ : 현재 줄의 첫 글자로 이동 • $ : 현재 줄의 마지막 글자로 이동
2-2. 커서이동 • H : 현재 화면의 맨 위로 커서 이동 M : 현재 화면의 가운데로 커서 이동 L : 현재 화면의 맨 아래로 커서 이동 • gg: 파일 맨 처음으로 이동 [줄 번호] + gg : 해당 줄로 이동 G : 파일 맨 마지막으로 이동
직접 해봅시다. • ggyy j p j dd
2-2. 편집(visual) • 잘라내기 : x, d, c • 복사 : y
2-2. 블록접기 • 블록으로 선택한 영역을 접어 놓음 • zf : 영역 접기 • zo, zO : 접은 영역 열기 • zc, zC : 접은 영역 접기 • zr, zR : 접은 영역 모두 펼치기 • zm, zM : 접은 영역 모두 접기 • zd : 접기 영역 삭제
2-2. 편집(그 외) • ~ : 대소문자 변환 • r : 현재 글자 수정(한 글자) • R : “바꾸기” 상태로 전환(현재 글자 이후로 ESC키를 누르기 전까지 수정) • s, cl : 현재 글자를 여러 글자로 수정 • c + <이동키> : 현재 위치부터 <이동키>까지 움직인 부분을 교체 • cc : 현재 위치의 줄을 교체
직접 해봅시다. • hello sparcs • abcdefghi • 입력 후 복사해서 5번 붙여넣기(10줄만들기) • 그 후 8번째 줄을 bye sparcs로 수정
2-2. 검색 • f + [글자] : 다음 [글자]가 나오는 위치로 커서 이동 • t + [글자] : 다음 [글자]가 나오는 위치 바로 직전으로 커서 이동 • /[RE] : 파일에서 [RE] 검색 (뒤쪽으로) • ?[RE] : 파일에서 [RE] 검색 (앞쪽으로) • n : 다음 찾기 • N : 이전 찾기
2-2. 그 외 • U : 실행취소(Undo) • ^R : 다시 원래대로(Redo) • zz : 파일 저장 후 종료
2-3. 파일모드 • 명령 상태에서 : 키 입력 • 파일 저장, 읽기, 각종 치환, vim 설정
2-3. 검색+ 치환 • 정규 표현식 • Vim의 매우 강력한 기능 중 하나 • 찾기 : ':/패턴/‘ • 치환 : ‘:[범위]s/[oldpattern]/[newpattern]/’
2-3. 각종 셋팅 • :set nu : (number) 줄 번호 표시 nonu: 줄 번호 지우기 ai: (autoindent) 자동 들여쓰기 noai: 자동 들여쓰기 해제 mouse=a : 마우스로 커서 선택 가능 mouse=c : 마우스로 커서 선택 불가능 paste : (마우스)붙여넣기 상태 nopaste: 붙여넣기 상태 해제
2-3. SHELL 명령 사용 • :![command] : [command] 결과를 실행 -> 이거보다 사실 ctrl+z로 vim을 정지하는 것이 편리 -> 복구 fg
2-4. 그 외 유용한 기능들 • 반복동작, 창나누기, 여러 파일 편집…
2-4. 반복동작 • 명령어 앞에 수를 붙여서 반복 동작의 회수를 지정 • [수] + d, d + [수] : 반복 삭제 • [수] + p : 반복 붙여넣기
2-4. 창나누기 • :sp : (split) 수평으로 분할 • :vs, :vsp : (vsplit) 수직으로 분할 • Ctrl + ww : 창 간 이동 • Ctrl + wh/j/k/l : 각 방향의 창으로 이동 • Ctrl + w= : 창 크기 같게 하기
2-4. 공백처리 • :set tabstop=4 탭의 공백 개수 • :set expandtab탭의 공백을 스페이스로 치환
2-4. 여러 개의 파일 편집 • 여러 개의 파일을 동시에 열어서 편집 • 한 화면에 나오진 않지만 vim에서 전환 가능 • 파일간 복사, 잘라내기, 붙이기 등이 가능 • $ vim [FileName1] [FileName2] … • :n : 다음 파일 편집 • :N : 이전 파일 편집
2-4. 탭생성 • 여러 파일을 관리할 때 탭으로 표시 :tabnew [FileName] : 새 탭 생성(파일이름생략가능) :tabn : (tabnext) 다음 탭으로 이동 :tabp : (tabprevious) 이전 탭으로 이동 :tabfir : (tabfirst) 처음 탭으로 이동 :tabl : (tablast) 마지막 탭으로 이동
2-4. 자동완성 • Ctrl+P
2-4. vimdiff • 두 파일의 다른 점을 vim으로 보여줌 • $ vimdiff [FileName1] [FileName2] … • :do : 다른 창의 내용으로 현재 내용 바꾸기 • :dp : 현재 창의 내용을 다른 창으로 넣기 • ]c : 다음 다른 부분으로 이동 • [c : 이전 다른 부분으로 이동
3. 더 배우고 싶으면.. 방법1. vimtutor