[Centos 7] Vi Editor

2022. 11. 15. 16:52리눅스(Linux)

What is VI editor?
$ Emacs와 함께 유닉스 환경에서 많이 쓰이는 문서 편집기
$ 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 제작
$ 줄 단위 편집기가 아닌 한 화면을 편집하는 Visual editor 이라는 뜻에서 유래
$ 명령, 실행(EX), 입력 모드가 있음

 

Mode

  vi [ 문서 편집기 ] ★ 글자 쓰고 지우는게 제일 중요!! ★

 

명령모드 : 최초 vi편집기 실행시 기본상태 [커서이동, 복사, 삭제]

입력모드 : 실제 문서편집이 가능한모드 화면 하단에 ---INSERT--- 표시

실행모드 : 명령어 수행이나 저장, 종료, 검색 기능들을 수행

 

명령모드 ----> 입력모드 [ a , i , o ]

입력모드 ----> 명령모드 [ esc ]

 

명령모드 ----> 실행모드 [ : , / , ? ]

실행모드 ----> 명령모드 [ esc ]

 

입력모드
$ 버퍼에 내용을 입력할 수 있는 모드
$ 명령 상태에서 a, i, o 등의 키를 누르면 진입
$ 하단에 --INSERT-- 라고 표시됨
$ R을 누른 경우에는 --REPLACE-- 라고 표시됨

 

명령모드
$ Vi의 기본모드
$ Vi가 처음 실행되거나, 입력 모드 또는 실행 모드에서 ESC 키를 누른 경우
$ 커서이동, 문자열 수정, Copy & Paste 등
$ 엔터키를 누를 필요 없이 각각의 명령에 따른 버튼을 누르면 바로 실행됨

 

$커서이동 

커서이동

※ 위에 키가 힘들면 그냥 키보드의 화살표를 이용해서 작업

커서이동(단어단위)
커서이동(행 단위)

0 :  ---> Windows에 Home Key와 같은 기능

$ :  ---> Windows에 End Key와 같은 기능

커서이동(문서단위)

H (High) : 화면에 표시되어있는 내용 맨처음으로 이동

M (Middle) : 화면에 표시되어있는 내용 중간으로 이동

L (Low) : 화면에 표시되어있는 내용 맨마지막으로 이동

* 화면에 표시되어있다라는 말은 Putty창에 보이는 만큼만을 말한다.

 

$ 마크이동
   - 책갈피 기능
   -  설정방법
              EX1) m? : ?는 a~z, A~Z 중 하나
   - 이동방법
              EX1) back quote + ? : 마크된 정확한 위치로 이동
              EX2) quote + ? : 마크된 줄의 처음으로 이동
              EX3) „‟: 원래 위치로 되돌아 감

 

명령모드

i : 현재커서의 위치에서 입력모드로 전환

a : 우측으로 한칸이동 후 입력모드로 전환

o (소문자) : 아래로 빈줄하나 생성 후 입력모드로 전환

O (대문자) : 위로 빈줄하나 생성 후 입력모드로 전환

 

명령모드

x (소문자) : 커서가 위치하고있는 글자를 삭제

(Windows에 delete와 같은 기능)

X (대문자) : 커서왼쪽의 글자를 삭제

(Windows에 Backspace Key와 같은 기능)

 

dd : 한줄 삭제

yy : 한줄 복사

** dd와 yy는 앞쪽에 숫자값을 붙여 활용이 가능하다 

(ex) 3dd : 3줄삭제 , 8yy : 8줄복사

 

p (소문자) : 복사한 값을 커서아래쪽에 붙여넣기

P (대문자) : 복사한 값을 커서위쪽에 붙여넣기

 

u : 되돌리기 ---> Windows에 ctrl+z 와 같은 기능

 

명령모드에서 실행모드로 전환 [ / , ? , : ]

:(콜론) 가장 많이 사용되며, 명령어 및 각종 실행모드의 기능을사용할때 무조건 

:(콜론)을 먼저입력 후 작업을 시작

 

EX 실행 모드
$ 검색

$ /
   - 패턴이 검색 된 후 n 키를 통해 아래 방향으로 계속 찾기
   - 패턴이 검색 된 후 N 키를 통해 위 방향으로 계속 찾기

 

$ ?
   - 패턴이 검색 된 후 N 키를 통해 아래 방향으로 계속 찾기
   - 패턴이 검색 된 후 n 키를 통해 위 방향으로 계속 찾기

 

$ 치환

   - 범위는 n 혹은 n,n 혹은 % 를 넣을 수 있다
   - g 옵션을 주면 적용되는 라인의 모든 부분 변경
   - g 옵션을 주지 않으면 처음 찾은 부분만 변경

 

$ Shell 명령어

$ 파일관련

 

$ 파일 및 실행 관련

$ ETC

"inittab" [Modified] line 10 of 19 --52%-- col 1 → 한번이라도 xi 수정하면  [Modified] 표시

 

 

설정파일
$ /usr/share/vim
   - vim 설정파일이 위치한 디렉터리
$ /etc/vimrc
   - 시스템에 로그인 하는 모든 사용자가 공통적으로 적용받는 vim설정파일
$ 사용자 개별 설정파일
   - /usr/share/vim/vim70/vimrc_example.vim 을 사용자의 홈 디렉터리에 .vimrc 로 복사한 후 수정한다

# cp /usr/share/vim/vim70/vimrc_example.vim ~사용자