# VI 편집기
- 입력 모드
글자를 입력하기 위해서는 입력모드로 가야하는데, 'i'를 입력하면, 하단에 --INSERT--가 나오면서, 글자를 입력할 수 있는 입력모드로 바뀝니다.
입력 모드로 들어가는 대표적인 방법은 i 키를 누르는 것이지만, 이외에도 몇 가지 방법이 더 있습니다.
- i : Insert, 현재 커서의 위치에 글자를 삽입
- I : Insert, 커서가 있는 줄(line)의 맨 앞에 글자를 삽입
- a : Append, 현재 커서 위치의 다음 칸에 글자를 추가
- A : Append, 커서가 있는 줄(line)의 맨 뒤에 글자를 추가
- o : Open line, 현재의 줄 다음에 새로운 줄을 삽입
- O: Open line, 현재의 줄 앞에 새로운 줄을 삽입
★ 영/한 변환은 Shift+Spacebar를 입력하면 됩니다.
- 명령 모드(ESC 모드)에서 사용되는 몇가지 기호
- 다음과 같은 기호는 기본적인 것으로 필수적으로 알아두시기 바랍니다.
- G : 화일의 맨끝으로
- ^ : 현재줄의 맨앞 (빈칸무시)으로
- 0 : 현재줄의 맨앞으로
- $ : 현재줄의 맨 뒤로
- % : 짝을 이루는 기호 확인
- w : 다음 단어로
- b : 이전 단어로
- e : 현재 단어의 끝 글자
- 커서 움직이기
- 명령모드 상태에서 커서를 마음대로 움직일 수 있습니다.
글자 단위 이동
- h : 커서를 한칸 왼쪽으로 이동하는 명령
- j : 커서를 한줄 아래로 이동하는 명령
- k : 커서를 한줄 위로 이동하는 명령
- l : 커서를 한칸 오른쪽으로 이동하는 명령
- Backspace : 커서를 한칸 왼쪽으로 이동하는 명령
- Space : 커서를 한칸 오른쪽으로 이동하는 명령
줄 단위 이동 - ^ : 빈칸을 무시하고, 커서를 현재 줄의 첫글자로 이동하는 명령
- 0 : 커서를 현재줄의 처음으로 이동하는 명령
- $ : 커서를 현재줄의 맨끝으로 이동하는 명령
- % : 짝을 이루는 기호 확인하기
- + : 커서를 다음줄의 처음으로 이동하는 명령
- - : 커서를 이전 줄의 처음으로 이동하는 명령
- Return : 커서를 다음줄의 처음으로 이동하는 명령
- n| : 현재줄의 n 번째 열로 (n은 임의의 숫자)
- H(Home) : 커서를 화면상에 처음줄로 이동하는 명령
- M(Middle) : 커서를 화면상에 중간줄로 이동하는 명령
- L(Last) : 커서를 화면상의 마지막줄로 이동하는 명령
- nH : 화면상의 처음줄로부터 n 줄 밑으로 이동(n은 임의의 숫자)
- nL : 화면상의 마지막줄로부터 n 줄 위로(n은 임의의 숫자)
- g(Go) : 파일의 마지막 줄로 이동하는 명령
- nG : n번째 줄로 건너뛰는 명령
- gg : 맨 마지막줄로
- ngg : n 번째줄로
- n : n 번째줄로
- 편집하기
복사, 붙이기, 합치기
- y (Yank) : 복사하기
- yy : 한 줄 전체의 내용을 복사한다
- 2yy : 두줄복사
- nyy : 현재 줄 이하로 n개의 줄을 복사한다 (n은 임의의 숫자, 2yy는 2줄 복사)
- ynw : n개의 단어를 복사한다(y2w는 두 개의 단어를 복사)
- yw : 한단어 복사
- y2w : 두단어 복사
- y$ : 현재 위치에서 그 줄의 끝까지 복사한다
- y0(y^) : 현재 위치에서 그 줄의 처음까지 복사한다
- yG : 현재 위치에서 파일의 끝까지 복사한다(G는 파일의 마지막 줄)
- Y : 한 줄 전체의 내용을 복사한다 (yy 와 동일)
※ 마지막 명령어의 반복 - . : 마지막에 수행한 명령어를 반복한다.
-2. : 명령어를 2번 반복한다.
- p (Put or Paste) : 붙이기
- p : 버퍼에 저장된 내용을 커서의 오른쪽으로 붙여 넣는다.
- 2p : 아래로(오른쪽으로) 두번 붙이기
- np : n번만큼 p 명령을 반복. 2p라면 버퍼의 내용을 두 번 붙여넣는다
- P : 위로(왼쪽으로) 붙이기
- 2P : 위로(왼쪽으로) 두번 붙이기
- nP : 버퍼에 저장된 내용을 커서의 왼쪽으로 붙여넣는다. 사용법은 p와 같다
- xp : 두 문자를 바꾸는 명령
- deep : 두 단어를 바꾸는 명령
- ddp : 두 줄을 바꾸는 명령
- J(Join) : 여러 줄의 내용을 한 줄로 합친다
- J : 현재줄을 윗줄에 붙인다. (두줄 합치기)
- nJ : n개의 줄을 합쳐 한 줄로 만든다. 커서는 원본 문서의 마지막 줄의 첫번째 위치(합쳐진 줄에서는 중간)에 놓인다. 5J는 5줄로 이루어진 내용을 한 줄로 만든다
지우기, 복구하기, 바꾸기 - dnw : n개의 단어를 지운다
- d$ : 커서가 있는 위치에서 그 줄의 끝까지 지우기
- D : 커서부터 줄의 끝까지 삭제합니다. (d$ 와 동일)
- d (Delete) : 지우기
- dd : 현재커서가 위치한 줄의 전체를 삭제합니다.
- 2dd : 두줄지우기
- ndd : n줄지우기 (n 은 임의의숫자)
- dw : 한단어 지우기
- d2w : 두단어 지우기
- d0(d^) : 그줄 처음까지 지우기
- dG : 커서가위치한 곳으로 부터 문서 끝까지 지우기
- d move : 커서가 위치한 곳부터 move까지 삭제
- dlG : 커서가 위치한 곳으로부터 편집버퍼의 맨앞까지 삭제.
- :lined : 지정한 줄을 삭제
- :line, lined : 지정한 범위를 삭제
- u (Undo) : 되살리기 명령으로 버퍼에 저장되어 있는 원래의 내용을 복구
- u : 한번복구하기
- 'nu' : (n은 임의의 숫자) 형식으로 사용하며, n 단계까지의 명령을 복구할 수 있다
- 2u : 두번복구하기
- c (Change) : 바꾸기
- cc : 한줄 바꾸기
- 2cc : 두줄 바꾸기
- ncc : n개의 줄 바꾸기(n은 임의의 숫자)
- cw : 한단어 바꾸기
- ce : 공백을 제외하고 한단어를 바꾸기
- c2w : 두단어 바꾸기
- c$ : 그 줄 끝까지 바꾸기
- c0(c^) : 현재 위치에서 파일의 끝까지 바꾼다
- c : 그 줄 끝까지 바꾸기 (c$)와 동일
- cmove : 커서부터 move까지 변경
- r (Replace) : 한글자 바꾸기
- 2r : 두글자 바꾸기
※ r 명령어는 insert 모드로 바뀌지 않는다.
- R : 바꾸면서 삽입이 아닌 수정(modify) 모드로 들어간다. 윈도에서 Insert 키를 누르고 수정 상태로 들어가는 것과 같다
- s : 한글자 지우고 insert 모드로 - cl 와 동일
- S : 한줄지우고 insert 모드로 - cc 와 동일
- ~ : 대문자 < - > 소문자 바꾸기 - 영문자에만 해당
※ 지우기와 바꾸기의 차이점은 바꾸기는 명령어 후에 vi 편집모드로 바뀐다.
- 찾기
- /요 : 현재 위치에서 아래쪽 방향으로 '요'라는 단어를 찾는다
- ?요 : 현재 위치에서 위쪽 방향으로 '요'라는 단어를 찾는다
- / : 단어 찾기를 반복한다(웨에서 아래쪽 방향으로)
- n : 단어 찾기를 반복한다(아래쪽 방향으로)
- ? : 단어 찾기를 반복한다 (아래족에서 위쪽 방향으로)
- N : 단어 찾기를 반복한다 (위쪽 방향으로)
- fx : 현재줄에서 x문자 찾기 - x 는 한개의 글자
- Fx : 현재줄에서 반대방향으로 x문자 찾기 - x 는 한개의 글자
- tx : 현재줄에서 x문자를 찾아서 바로전에 커서놓기
- Tx : 현재줄에서 반대방향으로 x문자를 찾아서 바로후에 커서놓기
- ; : 현재 줄에서 글자 찾기를 반복한다(뒤로)
- ' : 현재 줄에서 글자 찾기를 반복한다(앞으로)
※ 찾기와 편집명령의 응용
- d/simple : simple 이라는 단어가 나올때까지 지우기
- d/^scully : 줄의 맨앞에 scully 라는 단어가 나올때까지 지우기
- y/yahoo : yahoo 라는 단어가 나올때까지 복사하기
- 편집모드 지정하기
- i : insert 현재커서위치
- I : 현재커서가 위치한 줄의 맨처음에
- a : append 현재커서위치 바로 다음에
- A : 현재커서가 위치한 줄의 맨끝에
- o : open 현재커서위치 바로 아래줄에
- O : Open 현재커서위치 바로 윗줄에
'빅데이터과정 > WORKSHOP 2 ' 카테고리의 다른 글
#26_140718_WSHOP2_RECOVERY CATALOG (0) | 2014.07.18 |
---|---|
#26_140718_WSHOP2_FLASH RECOVERY AREA (0) | 2014.07.18 |
#26_140718_WSHOP2_RETENTION (0) | 2014.07.18 |
#26_140718_WSHOP2_BASH PROFILE (0) | 2014.07.18 |
#26_140718_WSHOP2_RMAN 명령의 유형 (0) | 2014.07.18 |