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

Slides:



Advertisements
Similar presentations
- C-style formatting - format() method.  file = open(‘file.txt’, [mode]) ◦ Mode  ‘r’: for reading (default)  ‘w’: for writing (truncate if already.
Advertisements

1. 2 최종 사용자. “ 이런 한글 깨지네.” Unicode 에 대해 전혀 모르는 개발자. UTF-8 을 쓰니 Unicode 완비되었다고 생각하는 사람. 세상에는 여러 종류의 인코딩이 존재하고 있다는 것을 아는 사람. UTF-8 이 곧 Unicode 가 아니라는 것을.
UNICODE Seminar – 한국에서 프로그래머 하기 By bleujin.
화면편집기(vi) 사용하기 ㅎㅎ 유닉스 편집기 vi의 사용 방법 vi의 환경설정 한빛미디어(주)
Distributed and Cloud Computing Lab. Embedded System Software 개발 환경 설정 Dept. of Computer Science and Engineering Sogang University, Seoul, KOREA 1.
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스/장난감 세미나
제3장 C 프로그래밍 환경.
2017년 스타트Up-청년취Up 매칭사업 개요 □ 사업목적 □ 지원내용 □ 청년인재 정의 □ 스타트업 정의
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
FTP 09 SPARCS 박철웅 [dothack].
리눅스 실습 정성훈.
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
에서 ( 탭 – [인기 다운로드 | 모든 다운로드] ) Visual Studio 2015
1. C 언어의 이해와 컴파일러 설치.
Kernel Porting Lecture #7.
누구나 쉽게 즐기는 C언어 콘서트 한남대학교 컴퓨터공학과 이 재 광 교수.
[beginning] Linux & vi editor
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
문자코드 변환 콘코던서 형태소분석기 한국어 정보의 전산처리
Linux/UNIX Programming
Linux/UNIX Programming
손에 잡히는 vim (4/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
㈜학술교육원 온라인논문투고시스템 투고자 메뉴얼.
리눅스 명령어 실습 임베디드 시스템 I.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
리눅스 기본 명령어 기본 명령어 명령어 기능 사 용 예 date 날짜 및 시간을 확인하고 생성.
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
Chapter 10. 포인터.
Beginning Linux Programming
1장. 프로그래밍 언어, C 프로그래밍.
UTF ENCODING (UTF-8,16,32) 발표자 - 김규호.
유니코드의 다양한 이해 Samsung Software Membership – 22기 백재현.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
▶ GTQ - Photoshop 어플리케이션 바 메뉴 표시줄 옵션바 4. 툴 패널 5. 총 30개의 패널
문자 디바이스 드라이버 임베디드 시스템.
2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수
문자 인코딩에 관하여 팀 E.E 강재문, 윤영호 백진후, 조남훈.
21. 숫자가 만드는 문자, 문자 코드 문자 정보 문자 정보를 이진수로 표현하는 방법을 이해한다.
Kernel Programming Environment
과거사 청산, 밝은 미래를 위하여 역사 청산 비교 분석-독일과 우리나라.
VI Editor 부서 : 연구소 이름 : 노재용.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
운영체제 RaspberryPi Sejin Oh.
Vim editor (1/4) 김선영 버 전: 버 전: 인사이트 출판사 가메출판사 저자홈페이지.
editing program files with vi 기본적인 Linux commands
6장 콘 셸 뇌를 자극하는 Solaris Bible.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
문자코드 변환 콘코던서 형태소분석기 한국어 정보의 전산처리
뇌를 자극하는 C 프로그래밍.
SK 글로벌의 분식회계 1조 김강미 안태호 천소현.
Execution with Unnecessary Privileges
바텍 그린 SCM 시스템 구축 사업 소개서.
GDB - GNU Debugger 김진용.
인코딩.
문서의 작성 정보과학부 이지연.
문자코드, 문자 입출력 한국어 정보의 전산 처리
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
OpenGL Project = Solar System = 김민지 박유나.
데이터 베이스의 내부 구조.
argc, argv 의 사용방법 #include <stdio.h>
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
Makefile
C.
3장 파일 다루기 한빛미디어(주).
Intelligent software Lab. 전재원
Presentation transcript:

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

Ch5. 파일 관련 기능 절반은 전체보다 낫다 - 헤시오도스

edit, find vim에서 다른 파일을 편집할려고 할때 명령어 설 명 :e [filename] 설 명 :e [filename] filename을 편집모드로 오픈한다. filename이 생략되면 현재 파일을 다시 오픈한다. :e #[count] count번째 파일을 오픈한다. count가 생략되면 바로 이전 파일이다. :find filename filename에 해당하는 파일을 검색하여 오픈한다. 매칭결과가 복수개이면 에러메시지를 출력한다. CTRL-^ 명령어 단축키로서 ":e #"과 동일하다. * <CTRL-^> 은 CTRL 키와 6번 키를 함께 누르는 것을 의미한다. 일반적으로 CTRL키와 함께하는 키는 대문자키로 표기하는 것을 원칙으로 한다.

multiple buffers vim file1 file2 file3 ...

quit 종료와 관련된 기능 명령어 설 명 :q[!] 현재 창(window)를 종료 설 명 :q[!] 현재 창(window)를 종료 !는 강제종료(저장하지 않고 종료할 때 유용함) :qa[!] (quit all) 모든 창을 종료 복수개의 창을 열고 있을 때 유용함 :wq 저장하면서 종료 :wqa 저장하면서 종료하되 모든 창에 대해서...

write, update 파일 저장 명령어 설 명 :w [filename] 설 명 :w [filename] filename이 지정되면 해당 파일에 쓰기를 지정 (복사본) filename이 생략되면 현재 파일에 쓰기를 지정 사본을 만든 경우에는 편집중인 파일은 원래 파일로... :sav file (saveas) 현재 파일을 다른 이름으로 저장한다. 편집중인 파일도 새로 저장된 파일로 교체된다. :up 변경된 점이 있는 경우만 ":w"명령어를 실행한다. :x up + quit (일반 모드에서는 ZZ)

write, update (con't) 파일 저장의 예 명령어 설 명 :10,50w history 설 명 :10,50w history 10~50번 행을 history라는 파일로 저장 :.,+10w history 현재행에서 아래로 10번행을 history라는 파일로 저장 :10,$w history 10~끝까지... :%w history 전체를 history파일로 저장, 즉 %는 있으나 없으나 결과가 같음

Window split, vertical split

split : horizontal <CTRL-W> s / :sp [file] 수평 분할 된 창

split : vertical <CTRL-W> v / :vs [file] 수직 분할 된 창

split : cmd 창 분할, 생성 명령 명령어 설명 :[#]sp [파일명] [#]CTRL-W s 상하로 창을 분할. 파일명을 생략하면 현재 파일을 의미합니다. #는 분할창의 크기 (생략시 이전 창의 절반 크기) :[#]vs [파일명] [#]CTRL-W v 좌우로 창을 분할합니다. :[#]new [#]CTRL-W n 상하로 분할하고, 위쪽에 새로운 창을 만듭니다. :[#]vnew 좌우로 창을 분할하고, 왼쪽에 새로운 창을 만듭니다. * vim 실행 옵션 : -o , -O

split : cmd (con't) 창 이동 관련 명령 명령어 설명 CTRL-W CTRL-방향키 CTRL-W 방향키 방향키에는 h, j, k, l이나 화살표 키를 사용할 수 있다. CTRL-W CTRL-W CTRL-W w 현재 창에서 오른쪽 방향으로 이동. 오른쪽 끝 창이면 아래로 내려간다. CTRL-W CTRL-P CTRL-W p 바로 이전에 사용한 창으로 이동.

split : cmd (con't) 창 크기 관련 명령 명령어 설명 CTRL-W = 모든 창의 크기를 동일하게 조절합니다. #크기만큼 크기를 키웁니다. #을 생략하면 1을 키웁니다. CTRL-W [#]- #크기만큼 크기를 줄입니다. #을 생략하면 1을 줄입니다.

split : diff vimd -d file1 file2 do, dp를 이용해서 get, put 가능

tabpage vim 7.x

tabpage vs split-window 분할 창의 단점 분할 할 때마다 원래 창의 크기가 줄어든다. => 탭페이지 기능이 필요!! 파일을 닫지 않고도 수정된 상태로 여러 파일을 열 수 있다.

tabpage cmd 탭 열기 vim 실행 옵션 : -p e.g.) vim -p file1 file2 file3 ... 명령어 설명 :[#]tabe[dit] file #번째 탭에 파일을 엽니다. #을 생략되면 현재 탭 뒤에 생성됩니다. 번호는 0번 부터 시작합니다. :[#]tabnew file #번째 위치에 비어있는 탭을 만듭니다. :[#]tabc[lose] #번째 탭을 닫습니다. #을 생략하면 현재 탭을 닫습니다.

tabpage cmd (con't) 탭 사이 이동 명령(tabnext, tabprev)은 key map이 편하다. key mapping은 뒤에서 다룸. 명령어 설명 :[#]tabn[ext] [#]gt [#]<CTRL-PageDown> 다음 탭으로 이동하며, 일반 모드의 gt와 동일합니다. #에 숫자를 지정하면 탭 번호가 지정됩니다. :[#]tabp[revious] [#]gT [#]<CTRL-PageUp> 이전 탭으로 이동하며 일반 모드의 gT와 동일합니다. #에 숫자를 지정하면 반복수가 지정됩니다. :tabm[ove] [#] #번째 탭으로 현재 탭을 이동시킵니다. (0부터 시작) #이 생략되면 가장 오른쪽으로 이동시킵니다.

netrw vim으로 디렉터리 열기 (browsing)

netrw (con't) <F1> : help

netrw (con't) 명령어 설명 <Enter> 파일을 현재 창에 열어줍니다. i 파일 표시 방법 변경(한줄, 파일 정보도 함께, 와이드 형식, 트리 방식) s 정렬 방식을 바꿔줍니다. (이름순, 시간순, 크기순) o 커서 위치의 파일을 수평 분할된 새 창으로 열어줍니다. v 커서 위치의 파일을 수직 분할된 새 창으로 열어줍니다. p 커서 위치의 파일을 미리보기 창으로 열어줍니다. (미리보기 창닫기는 <CTRL-W> z나 :pclose를 사용합니다.) t 새로운 탭으로 분할하여 열어줍니다. - 상위 디렉터리로 이동합니다.

buffers vim buffer = file 왜 버퍼라고 부르는가? :files 혹은 :buffers 아직 저장 전이면 이름이 없는(anonymous) 공간이므로... :files 혹은 :buffers 현재 버퍼 목록을 출력한다.

buffers : flags 파일 번호에 상태 플래그 기호 의미 % 현재 편집 중인 버퍼 # 바로 이전에 열었던 버퍼 혹은 다음에 열도록 예비된 버퍼 <CTRL-^>를 누르면 #이 표시된 파일이 열립니다. a 활성된 버퍼(현재 화면에 보이는 버퍼) 창 분할 기능을 쓰는 경우에는 여러 파일에 a 표시가 나타납니다. + 변경된 부분이 있는 버퍼

filename under the cursor 커서 아래의 파일명을 인식하여 오픈하는 기능 : gf (이동) , CTRL-^ (이전 파일로 되돌아가기) 이 기능은 특히 프로그래머에게 유용하다. # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi export TERM=xterm-256color alias vi=vim ? () { echo "$*" | bc -l; } 파일명 위에서 gf 명령

filename under the cursor (con't) C언어라면 #include 구문의 파일도 인식한다. /* helloworld.c */ #include <stdio.h> int main() { printf("Hello world\n"); return 0; } stdio.h 위에서 gf 명령

filename under the cursor (con't) 커서 위 파일 열기 명령어 명령어 설명 gf 커서 위치의 파일명을 인식해서 열어줍니다. <CTRL-W> f 커서 위치의 파일명을 분할된 창에 열어줍니다. <CTRL-W> gf 커서 위치의 파일명을 탭에 열어줍니다. <CTRL-^> 이전 파일로 되돌아 갑니다.

file encoding encoding(characterset)

fileencodings (fencs) set fencs=value e.g. fencs=ucs-bom,utf-8,korea e.g. fencs=ucs-bom,utf-8,iso-2022-jp BOM (Byte Order Mark) Unicode의 판별 마크 주로 생략하나, 관습적으로 옵션설정시 앞부분에...

character set : list fenc, fencs에 사용 가능한 문자 세트 encoding-values 도움말 참조 인코딩 형식 설명 utf-8, utf8 UTF-8 유니코드 형식 ucs-bom BOM 마크에 의한 유니코드 형식 korea 한글 지원(별칭) - 유닉스에서는 euc-kr, 윈도에서는 cp949로 자동 변환 euc-kr 한글 지원(유닉스에서만 사용 가능) cp949 한글 지원(유닉스, 윈도 모두 사용 가능) japan 일본어 지원(별칭) - 유닉스에서는 euc-jp, 윈도에서 cp932로 자동 변환 latin1, ansi 영문 ASCII 형식

fenc 현재 인코딩 형식 fenc를 변경한 뒤에 저장하면 다른 문자 세트로 변환 할 수 있다. 예를 들어 :set fenc=korea 로 변경 후 저장하면? 안녕하세요 Vim user. 이것은 한글입니다. Linux는 UTF-8이 기본 인코딩이므로 EUC-KR로 저장하면 화면 출력이 실패한다. $ cat hangul.txt ▒ȳ▒▒ϼ▒▒▒ Vim user. ▒̰▒▒ ▒ѱ▒▒Դϴ▒.