[linux] How to use vi-editor

2021. 12. 8. 14:11Linux

목표 : vi-editor를 이용해서 간단한 코드 작성을 한다.

 

1. vi-editor가 뭐야?

   ->vi-editor는 리눅스에서 가장 일반적으로 사용할 수 있는 화면 편집기이다.

2. vi-editor 의 특징

  ->모드형 편집기이다!

3. 모드형/비모드형 편집기는 무엇인가?

  ->

     1) 모드형 편집기는 입력모드와 명령모드로 구분되어있다.(앞으로 다루게 될 vi가 모드형 편집기이다.)

     입력모드 : 텍스트를 입력하는 모드

     명령모드 : 텍스트를 수정하거나 삭제하고 복사 붙여넣기 등 편집을 하는 모드

 

     2) 비모드형 편집기는 입력모드 명령모드가 구분되어있지 않다.(윈도우 환경에서 사용하는 메모장)

        : 편집기능을 Ctrl 이나 Alt 같은 특수키로 사용

figure1. 모드형 편집기와 비모드형 편집기

  4. 모드형 편집기에서 입력모드, 명령모드, 마지막 행모드 전환하는 법

      1) 명령모드 → 입력모드 : i,I,a,Ao,O  (각 키의 동작은 5. 에서 자세히 설명)

      2) 입력모드 → 명령모드 : ESC key

      3) 마지막행 모드 : 특별 명령을 처리하는 모드로 검색, 바꾸기 저장 등을 다룬다.

figure2. vi 동작모드

  

4-1. 입력모드

          i : 커서 앞으로 이동하여 입력모드로 전환

          I : 커서가 위치한 행의 첫 칼럼으로 이동하여 입력모드로 전환

          a : 커서 뒤로 이동하여 입력모드로 전환

          A : 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력모드로 전환

          o : 커서가 위치한 행의 뒤 행을 추가하고 입력모드로 전환

          O : 커서가 위치한 행의 앞 행을 추가하고 입력모드로 전환

4-2. 명령모드

          H : 커서를 화면의 맨 윗 행으로 이동한다.

          M : 커서를 화면의 중간 행으로 이동한다.

          L : 커서를 화면의 마지막 행으로 이동한다.

          s : 커서 위치부터 ESC입력까지 수정한다.

          x : 커서 위치의 글자를 삭제한다.

         dd : 커서 위치의 행을 삭제한다.

          D : 커서 위치부터 행의 끝까지 삭제한다.

          u : 명령 취소undo

         yy : 커서가 위치한 행을 복사한다.

          p : 커서가 위치한 행의 아래에 붙여넣는다.

          /문자열 : 문자열을 아래 방향으로 검색

          ?문자열 : 문자열을 위 방향으로 검색

          se nu : 현재 파일의 행 번호 표시

          se nonu : 행번호 표시 삭제

 

 

     

+ 그 외 필수적으로 알아야할 cmd

ls = show list 

tree dir1/ = dir1에 있는 file 및 directory 들을 보여준다.

rm hello.c =  remove hello.c    // 옵션) rm* = 모든 파일 remove, rm -r dir1/ = dir1를 remove
pwd = present work directory
cd project= change directory to "project"
mkdir project = make directory "project" cat hello.c =  hello.c파일 내부를 볼 수있다.
gcc -o hello hello.c  = hello.c파일을 컴파일 해서 hello 라고 만든다.
./hello = hello 실행
cd ../  한 디렉토리 위로 올라감

:se nu =  show line number
:se nonu = no number  

save  =  :w!
save exit  =  :wq!
not save exit  =  :q

 

 

+ 탭이 갖는 공백의 크기를 설정하는 법

 cd 로 home 으로 이동한 뒤에 vi .exrc 파일 만들고

 

set ts =4 //(원하는 공백길이 만큼)

set ai

 

를 기입하고 

vi를 나와서 touch .exrc 입력 : 재부팅하지 않아도 설정변경사항 실행

'Linux' 카테고리의 다른 글

[linux] Raspberry Pi 4 Model B Initial setting -2  (0) 2021.12.08
[linux] Raspberry Pi 4 Model B Initial setting -1  (0) 2021.12.06