원문 링크 : 리눅스/유닉스 에디터 ‘vi’ (2) – VI 활용
VI 활용
커서 움직이기
글자 단위 이동 k 위쪽으로 j 아랫쪽으로 h 왼쪽으로 l 오른쪽으로 줄 단위 이동 ^ 줄의 맨앞으로 (빈칸무시) 0 줄의 맨앞으로 $ 줄의 맨뒤로 % 짝을 이루는 기호 확인하기 + 다음줄의 첫번째 글자로 – 윗줄의 첫번째 글자로 n| 현재줄의 n 번째 열로 (n은 임의의 숫자) H 화면상에 처음줄로 M 화면상의 중간줄로 L 화면상의 마지막줄로 nH 화면상의 처음줄로부터 n 줄 밑으로 nL 화면상의 마지막줄로부터 n 줄 위로 G 맨 마지막줄로 (go) nG n 번째줄로 gg 맨 마지막줄로 ngg n 번째줄로 n n 번째줄로 단어 단위 이동 w 한단어 오른쪽으로 (word) b 한단어 왼쪽으로 (back) e 현재 단어의 끝으로 이동 (end) E 현재 단어의 끝으로 이동 (구두점 무시 – 영문자에 해당 – ? . !.) ) 다음 문장의 시작으로 ( 이전 문장의 시작으로 } 다음 문단의 시작으로 { 이전 문단의 시작으로 ]] 다음 섹션의 시작으로 [[ 이전 섹션의 시작으로 화면단위 이동 Control – F 한화면 밑으로 이동 Control – B 한화면 위로 이동 Control – D 반쪽화면 밑으로 이동 Control – U 반쪽화면 위로 이동 Control – E 커서는 현재위치 그대로 화면만 한줄씩 위로 이동 Control – Y 커서는 현재위치 그대로 화면만 한줄씩 아래로 이동 z 커서의 위치와 함께, 화면상의 맨위로 nz n번 라인을 화면상의 맨위로 z. 커서의 위치와 함께, 화면상의 중간으로 z- 커서의 위치와 함께, 화면상의 맨아래로 ## Control – G 현재 편집문서의 정보 보여주기 ## Control – L 화면 재표시 (글자가 깨졌을경우) ## Control – R 화면 재표시 (글자가 깨졌을경우) 편집하기 복사, 붙이기, 합치기
편집하기
복사, 붙이기,
합치기y : 복사하기 yy 한줄복사 2yy 두줄복사 nyy n줄 복사 (n 은 임의의숫자) yw 한단어 복사 y2w 두단어 복사 y$ 그줄 끝까지 복사 y0(y^) 그줄 처음까지 복사 yG 문서의 끝까지 복사 Y 한줄복사 (yy 와 동일) 마지막 명령어의
반복. 마지막에 수행한 명령어를 반복한다. 2. 명령어를 2번 반복한다. p : 붙이기 p 아래로(오른쪽으로) 붙이기 2p 아래로(오른쪽으로) 두번 붙이기 P 위로(왼쪽으로) 붙이기 2P 위로(왼쪽으로) 두번 붙이기 J : 두줄 합치기 J 현재줄을 윗줄에 붙이기 (두줄 합치기) 3J 세줄합치기 지우기, 복구
하기, 바꾸기d : 지우기 dd 한줄지우기 2dd 두줄지우기 ndd n줄지우기 (n 은 임의의숫자) dw 한단어 지우기 d2w 두단어 지우기 d$ 그줄 끝까지 지우기 d0(d^) 그줄 처음까지 지우기 dG 문서 끝까지 지우기 D 그줄 끝까지 지우기(d$ 와 동일) u : 복구하기 u 한번복구하기 2u 두번복구하기 c : 바꾸기 cc 한줄바꾸기 2cc 두줄바꾸기 ncc 여러줄 바꾸기 (n 은 임의의숫자) cw 한단어 바꾸기 ce 한단어 바꾸기 (공백 제외) c2w 두단어 바꾸기 c$ 그줄 끝까지 바꾸기 c0(c^) 문서 끝까지 바꾸기 C 그줄 끝까지 바꾸기 (c$ 와 동일) r : 한글자 바꾸기 r 한글자 바꾸기 2r 두글자 바꾸기 (r 명령어는 insert 모드로 바뀌지 않는다.) R : 바꾸면서 덮어 쓰기 s : )한글자 지우고 insert 모드로 (cl 와 동일) – S : 한줄지우고 insert 모드로 (cc 와 동일) ~ : 대문자 <-> 소문자 바꾸기 (영문자에만 해당) 지우기와 바꾸기의 차이점은 바꾸기 명령어 후에 vi 편집모드로 바뀐다. 찾기 /pattern pattern라는 단어 찾기 (위에서 아래로) ?pattern pattern라는 단어찾기 (아래로 위에서) / : 찾기반복 – 위에서 아래로 n : 찾기반복 – 위에서 아래로 ? : 찾기반복 – 아래에서 위로 N : 찾기반복 – 아래에서 위로 fx : 현재줄에서 x문자 찾기 (x 는 한개의 글자) Fx : 현재줄에서 반대방향으로 x문자 찾기 (x 는 한개의 글자) tx : 현재줄에서 x문자를 찾아서 바로전에 커서놓기 Tx : 현재줄에서 반대방향으로 x문자를 찾아서 바로후에 커서놓기 ; : 현재줄에서 한글자 찾기반복 ‘ : 현재줄에서 한글자 찾기반복 (반대방향으로) 찾기와 편집
명령의 응용d/simple simple 이라는 단어가 나올때까지 지우기 d/^scully 줄의 맨앞에 scully 라는 단어가 나올때까지 지우기 y/yahoo yahoo 라는 단어가 나올때까지 복사하기 편집모드 지정하기 i : insert 현재커서위치 10i* * 문자를 10개 집어넣기 25i=- =- 를 25개 반복하기 I : 현재커서가 위치한 줄의 맨처음에 a : append 현재커서위치 바로 다음에 A : 현재커서가 위치한 줄의 맨끝에 o : open 현재커서위치 바로 아래줄에 O : Open 현재커서위치 바로 윗줄에 위치 기억하기 mx : mark 현재의 커서위치를 x 라는 문자로 기억 `x : 기억된 x 위치로 이동 “ : 이동하기 전의 위치로 (제자리) ‘x : 기억된 x 위치의 맨 앞으로 이동 ” : 이동하기 전 위치의 맨앞으로 이동 버퍼 이용하기 “xyy : x 라는 이름의 버퍼에 한줄 복사 하기 “xp : x 라는 이름의 버퍼에 저장된 내용을 붙이기 잠시 쉬었다
가기:= 현재 줄번호 보여주기 :/pattern/ = pattern 이 위치한 줄번호 보여주기