본문 바로가기

IT/Server

[Linux] Ubuntu Linux vi 에디터 명령어 모음


유닉스 최고의 에디터 vi ~!

 

vi 에디터는 크게 명령 모드와 편집 모드로 나눌 수 있고, 명령 모드에는 vi 명령 모드와 ex 명령 모드가 있다.

 

vi 시작 시, vi 명령 모드로 시작하며, 특정 키를 눌러, 편집 모드 및 ex 명령 모드로 전환할 수 있다. vi 명령 모드로 돌아오기 위해서는, Esc(Escape)키를 누르면 된다.

 

 

- 커서 이동


  h : ← 이동

  j : ↓ 이동

  k : ↑ 이동

  l : → 이동

 

  backspace : 커서가 있는 행에서 커서를 왼쪽으로 옮김

  space : 커서가 있는 행에서 커서를 오른쪽으로 옮김

 

  + : 다음 행 으로 커서 이동

  -  : 이전 행 으로 커서 이동

 

  0 :  현재 행의 처음으로 커서 이동

 

  $ : 현재 행의 끝으로 커서 이동

 

  ^ : 현재 행의 첫 문자로 커서 이동(공백 무시)

  w: 단어 단위로 커서 이동 (왼쪽 -> 오른쪽 , -> 아래)

  b : 단어 단위로 커서 이동 (오른쪽 -> 왼쪽 , 아래 -> )

 


 

- 화면 이동

 

  Ctrl + F : 한 화면 아래로 이동 ( -> 아래)

  Ctrl + B : 한 화면 위로 이동 (아래 -> )

  Ctrl + D : 반 화면 아래로 이동 ( -> 아래)

   Ctrl + U : 반 화면 위로 이동 (아래 -> )

 

 


- 특정 줄로 이동

 

  nG : n 라인으로 커서 이동(n은 라인 넘버)

  1G : 첫 번째 라인으로 커서 이동

  G : 마지막 라인으로 커서 이동

  :n : n 라인으로 커서 이동(n은 라인 넘버)

 



- 탐색

 

  /문자열 : 문자열을 찾아서 해당 문자열이 존재하면 커서 를 문자열로 이동(주로 위 -> 아래 검색)

 

  ?문자열 : 문자열을 찾아서 해당 문자열이 존재하면 커서 를 문자열로 이동(주로 아래 -> 위 검색)

 

 

 

- 입력모드

 

  i : 커서 앞으로 문장 삽입

  I : 행의 시작 부분에서 문장 삽입

  a : 커서 뒤로 문장 삽입

  A : 행의 끝 부분에서 문장 삽입

  o : 커서가 위치한 행의 아래에 문장 삽입

  O : 커서가 위치한 행의 위에 문장 삽입

 

 


- 수정, 삭제

 

  r : 커서가 있는 문자를 변경

  R : 커서가 있는 부분부터 글자 덮어서 씀

  s : 한 글자를 삭제 한 후 문장 삽입

  S : 커서가 있는 문장을 삭제하고 문장 삽입

  C : 커서 위치에서 행 끝까지 문자를 덮어 씀

  cc : 현재 행 삭제 후 문장 입력

  cw : 커서가 있는 문자 삭제 후 문장 입력

  x : 커서가 있는 한 글자 삭제

  X : 커서 앞 한 글자 삭제

  D : 커서가 있는 부분의 뒷 부분의 행을 삭제

  dd : 커서가 있는 한 행 삭제

 

 


- 대치

 

  :s/패턴/스트림 : 현재 행의 처음 패턴(문자열)을 스트림으로 바꿈

  :n s/패턴/스트림 : n 행의 패턴(문자열) 을 스트림으로 바꿈  

 

 


- 수행 취소

 

  u : 한 문자 씩 실행 취소

  U : 한 행 씩 실행 취소

 


 

- 복사/붙여넣기

 

  nY : 커서가 있는 행 부터 n행 만큼 복사

  yy : 커서가 있는 행 복사

  p : 커서 아래 복사된 문자열 붙임

  P : 커서 위에 복사된 문자열 붙임

 

 


- 파일에 저장

 

  :w : vi 파일을 저장

  :w 파일이름 : 파일이름으로 저장

  :wq : 저장 후 강제 종료

  ZZ : 저장 후 종료

 

 


- 다른 파일 편집

 

  :e 파일이름 : vi 를 종료하지 않고 해당 파일 편집

  :e! 파일이름 : 현재 편집하고 있는 파일 다시 부르기

  :e# : 이전 파일 편집 하기

 

 


- 줄 번호 붙이기

 

  :set number : 편집기의 라인 표시

  :se nu : 편집기의 라인 표시

  :se non : 편집기의 라인 표시 없애기

 

 


- 쉘 명령어

 

  :! 명령 : vi 편집기 내에서 외부 명령을 실행

 

 


grep 명령어

 

 - 텍스트 문서에서 해당 문자를 찾음

 

   grep [문자] [텍스트파일]

 

   -n 옵션 : 라인 표시 출력

   -w 옵션 : 해당 문자가 있는 행 전체 출력

 

  [grep good test.txt]

  [grep -n good test.txt]

  [grep -w good test.txt]