Download presentation
Presentation is loading. Please wait.
Published byGabriel Alcaraz Serrano Modified 5년 전
1
손에 잡히는 vim (3/4) 김선영 sunyzero@gmail(dot)com 버 전: 2014-10
버 전: 인사이트 출판사 가메출판사 저자홈페이지
2
Ch5. 파일 관련 기능 절반은 전체보다 낫다 - 헤시오도스
3
edit, find vim에서 다른 파일을 편집할려고 할때 명령어 설 명 :e [filename]
설 명 :e [filename] filename을 편집모드로 오픈한다. filename이 생략되면 현재 파일을 다시 오픈한다. :e #[count] count번째 파일을 오픈한다. count가 생략되면 바로 이전 파일이다. :find filename filename에 해당하는 파일을 검색하여 오픈한다. 매칭결과가 복수개이면 에러메시지를 출력한다. CTRL-^ 명령어 단축키로서 ":e #"과 동일하다. * <CTRL-^> 은 CTRL 키와 6번 키를 함께 누르는 것을 의미한다. 일반적으로 CTRL키와 함께하는 키는 대문자키로 표기하는 것을 원칙으로 한다.
4
multiple buffers vim file1 file2 file3 ...
5
quit 종료와 관련된 기능 명령어 설 명 :q[!] 현재 창(window)를 종료
설 명 :q[!] 현재 창(window)를 종료 !는 강제종료(저장하지 않고 종료할 때 유용함) :qa[!] (quit all) 모든 창을 종료 복수개의 창을 열고 있을 때 유용함 :wq 저장하면서 종료 :wqa 저장하면서 종료하되 모든 창에 대해서...
6
write, update 파일 저장 명령어 설 명 :w [filename]
설 명 :w [filename] filename이 지정되면 해당 파일에 쓰기를 지정 (복사본) filename이 생략되면 현재 파일에 쓰기를 지정 사본을 만든 경우에는 편집중인 파일은 원래 파일로... :sav file (saveas) 현재 파일을 다른 이름으로 저장한다. 편집중인 파일도 새로 저장된 파일로 교체된다. :up 변경된 점이 있는 경우만 ":w"명령어를 실행한다. :x up + quit (일반 모드에서는 ZZ)
7
write, update (con't) 파일 저장의 예 명령어 설 명 :10,50w history
설 명 :10,50w history 10~50번 행을 history라는 파일로 저장 :.,+10w history 현재행에서 아래로 10번행을 history라는 파일로 저장 :10,$w history 10~끝까지... :%w history 전체를 history파일로 저장, 즉 %는 있으나 없으나 결과가 같음
8
Window split, vertical split
9
split : horizontal <CTRL-W> s / :sp [file] 수평 분할 된 창
10
split : vertical <CTRL-W> v / :vs [file] 수직 분할 된 창
11
split : cmd 창 분할, 생성 명령 명령어 설명 :[#]sp [파일명] [#]CTRL-W s
상하로 창을 분할. 파일명을 생략하면 현재 파일을 의미합니다. #는 분할창의 크기 (생략시 이전 창의 절반 크기) :[#]vs [파일명] [#]CTRL-W v 좌우로 창을 분할합니다. :[#]new [#]CTRL-W n 상하로 분할하고, 위쪽에 새로운 창을 만듭니다. :[#]vnew 좌우로 창을 분할하고, 왼쪽에 새로운 창을 만듭니다. * vim 실행 옵션 : -o , -O
12
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 바로 이전에 사용한 창으로 이동.
13
split : cmd (con't) 창 크기 관련 명령 명령어 설명 CTRL-W = 모든 창의 크기를 동일하게 조절합니다.
#크기만큼 크기를 키웁니다. #을 생략하면 1을 키웁니다. CTRL-W [#]- #크기만큼 크기를 줄입니다. #을 생략하면 1을 줄입니다.
14
split : diff vimd -d file1 file2 do, dp를 이용해서 get, put 가능
15
tabpage vim 7.x
16
tabpage vs split-window
분할 창의 단점 분할 할 때마다 원래 창의 크기가 줄어든다. => 탭페이지 기능이 필요!! 파일을 닫지 않고도 수정된 상태로 여러 파일을 열 수 있다.
17
tabpage cmd 탭 열기 vim 실행 옵션 : -p e.g.) vim -p file1 file2 file3 ... 명령어
설명 :[#]tabe[dit] file #번째 탭에 파일을 엽니다. #을 생략되면 현재 탭 뒤에 생성됩니다. 번호는 0번 부터 시작합니다. :[#]tabnew file #번째 위치에 비어있는 탭을 만듭니다. :[#]tabc[lose] #번째 탭을 닫습니다. #을 생략하면 현재 탭을 닫습니다.
18
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부터 시작) #이 생략되면 가장 오른쪽으로 이동시킵니다.
19
netrw vim으로 디렉터리 열기 (browsing)
20
netrw (con't) <F1> : help
21
netrw (con't) 명령어 설명 <Enter> 파일을 현재 창에 열어줍니다. i
파일 표시 방법 변경(한줄, 파일 정보도 함께, 와이드 형식, 트리 방식) s 정렬 방식을 바꿔줍니다. (이름순, 시간순, 크기순) o 커서 위치의 파일을 수평 분할된 새 창으로 열어줍니다. v 커서 위치의 파일을 수직 분할된 새 창으로 열어줍니다. p 커서 위치의 파일을 미리보기 창으로 열어줍니다. (미리보기 창닫기는 <CTRL-W> z나 :pclose를 사용합니다.) t 새로운 탭으로 분할하여 열어줍니다. - 상위 디렉터리로 이동합니다.
22
buffers vim buffer = file 왜 버퍼라고 부르는가? :files 혹은 :buffers
아직 저장 전이면 이름이 없는(anonymous) 공간이므로... :files 혹은 :buffers 현재 버퍼 목록을 출력한다.
23
buffers : flags 파일 번호에 상태 플래그 기호 의미 % 현재 편집 중인 버퍼 #
바로 이전에 열었던 버퍼 혹은 다음에 열도록 예비된 버퍼 <CTRL-^>를 누르면 #이 표시된 파일이 열립니다. a 활성된 버퍼(현재 화면에 보이는 버퍼) 창 분할 기능을 쓰는 경우에는 여러 파일에 a 표시가 나타납니다. + 변경된 부분이 있는 버퍼
24
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 명령
25
filename under the cursor (con't)
C언어라면 #include 구문의 파일도 인식한다. /* helloworld.c */ #include <stdio.h> int main() { printf("Hello world\n"); return 0; } stdio.h 위에서 gf 명령
26
filename under the cursor (con't)
커서 위 파일 열기 명령어 명령어 설명 gf 커서 위치의 파일명을 인식해서 열어줍니다. <CTRL-W> f 커서 위치의 파일명을 분할된 창에 열어줍니다. <CTRL-W> gf 커서 위치의 파일명을 탭에 열어줍니다. <CTRL-^> 이전 파일로 되돌아 갑니다.
27
file encoding encoding(characterset)
28
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의 판별 마크 주로 생략하나, 관습적으로 옵션설정시 앞부분에...
29
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 형식
30
fenc 현재 인코딩 형식 fenc를 변경한 뒤에 저장하면 다른 문자 세트로 변환 할 수 있다.
예를 들어 :set fenc=korea 로 변경 후 저장하면? 안녕하세요 Vim user. 이것은 한글입니다. Linux는 UTF-8이 기본 인코딩이므로 EUC-KR로 저장하면 화면 출력이 실패한다. $ cat hangul.txt ▒ȳ▒▒ϼ▒▒▒ Vim user. ▒̰▒▒ ▒ѱ▒▒Դϴ▒.
Similar presentations