[68일차] VI 에디터

저요·2022년 11월 29일

2022 100th day challenge

목록 보기
68/97

서론

오늘 공부할 것은 vi 에디터이다. 리눅스나 유닉스를 처음 접하는 사람에게는 생소하고 어려워보이지만(내가 그랬다) 막상 사용하면 정말 편리하고 쉽다. 오늘은 이 vi에디터에 대해서 배운 것들을 간단하게 정리하기 위해 글 주제로 삼았다.

본론

vi란 'Visual display editor'를 뜻한다.

vi를 활용하는 방법을 더 자세하게 알아보자. 어떤 파일을 편집하고 싶다면 우린 먼저 파일을 열어 보아야 한다.
파일을 여는 방법은 vi [파일 이름] 로 파일을 열 수 있다.

파일을 열었을때 '~' 기호가 가득한 것을 볼 수 있다. 이것은 빈 줄을 뜻한다.

vi는 다른 편집기와 비교했을 때 가장 두드러지는 특징이 있는데, 그것은 프로그램 상태가 '명령 모드'와 '입력 모드'로 구분되어있다는 점이다. vi는 기본적으로 '명령 모드'로 실행이 되며, '입력 모드'로 전환하기 위해서는 입력 모드로 전환하기 위한 문자를 입력해야한다. 그리고 '입력 모드'에서 다시 '명령 모드'로 전환하고 싶으면 'ESC' 키를 눌러서 바꿀 수 있다.

입력모드 전환 명령어

  • a : 커서 위치의 다음 칸부터부터 끼워넣기(append)
  • A : 커서가 있는 줄의 끝에서부터 끼워넣기
  • i : 커서 위치부터 끼워넣기(insert)
  • I : 커서가 있는 줄의 맨 앞에서부터 끼워넣기
  • o : 커서 바로 아래에 줄을 만들고 끼워넣기(open line)
  • O : 커서 바로 위에 줄을 만들고 끼워넣기

커서 이동

  • h : 한칸 왼쪽으로 이동 l : 한칸 오른쪽으로 이동
  • j : 한줄 아래로 이동 k : 한줄 위로 이동
  • w : 다음 단어의 첫 글자로 이동 W : 다음 단어의 첫 글자로 이동
  • b : 이전 단어의 첫 글자로 이동 B : 이전 단어의 첫 글자로 이동
  • e : 단어의 마지막 글자로 이동 E : 단어의 마지막 글자로 이동
  • ^ : 그 줄의 첫 글자로 이동 $ : 그 줄의 마지막 글자로 이동
  • 0 : 그 줄의 처음으로 이동 < CR > : 다음 줄의 첫 글자로 이동
    • : 다음 줄의 첫 글자로 이동 - : 윗줄의 첫 글자로 이동
  • ( : 이전 문장의 첫 글자로 이동 ) : 다음 문장의 첫 글자로 이동
  • { : 이전 문단으로 이동 } : 다음 문단으로 이동

글 수정

  • r : 커서 위치의 한 글자 교체
  • R : 커서 위치부터 ESC를 누를때까지 다른 글자로 교체
  • s, cl : 커서 위치의 글자를 한개를 여러 글자로 교체
  • ch : 커서 바로 앞의 글자를 한개를 여러 글자로 교체
  • cw : 커서 위치의 한 단어를 교체
  • c0 : 커서 위치부터 줄의 처음까지 교체
  • C, c$ : 커서 위치부터 줄의 끝까지 교체
  • cc : 커서가 있는 줄을 교체
  • cj : 커서가 있는 줄과 그 다음 줄을 교체
  • ck : 커서가 있는 줄과 그 앞줄을 교체

글 삭제

  • x, dl : 커서 위치의 글자 삭제
  • X, dh : 커서 바로 앞의 글자 삭제
  • dw : 한 단어를 삭제
  • d0 : 커서 위치부터 줄의 처음까지 삭제
  • D, d$ : 커서 위치부터 줄의 끝까지 삭제
  • dd : 커서가 있는 줄을 삭제
  • dj : 커서가 있는 줄과 그 다음 줄을 삭제
  • dk : 커서가 있는 줄과 그 앞줄을 삭제

복사 & 붙이기

  • yw : 커서 위치부터 단어의 끝까지 복사
  • y0 : 커서 위치부터 줄의 처음까지 복사
  • y$ : 커서 위치부터 줄의 끝까지 복사
  • yy : 커서가 있는 줄을 복사
  • yj : 커서가 있는 줄과 그 다음 줄을 복사
  • yk : 커서가 있는 줄과 그 앞줄을 복사
  • p : 커서의 다음 위치에 붙여넣기
  • P : 커서가 있는 위치에 붙여넣기

기타

  • u : 작업 취소(undo)
  • U : 그 줄에 행해진 작업 모두 취소
  • Ctrl+r : 작업 재실행(redo)
  • . : 조금 전에 했던 명령을 반복
  • J : 현재 줄과 아래 줄을 연결
  • ~ : 대문자를 소문자로, 소문자를 대문자로 바꿈
  • % : 괄호의 반대쪽 짝으로 이동
  • Ctrl+l : 현재 화면을 지우고 다시 그림
  • Ctrl+g : 파일에 관한 정보를 표시

자 이제 파일 수정을 완료했다면, 파일을 저장하고 닫아야 한다. 먼저 ESC를 눌러 '입력 모드'에서 빠져나가 '명령 모드'로 돌아온다.

작업 끝내기

  • :w [file]< CR > : 이름등록 및 파일 저장
  • :w : 이름이 이미 등록되어있는 경우 그냥 파일 저장
  • :wq< CR > : 파일 저장 후 vi 종료
  • ZZ : 파일 저장 후 vi 종료
  • :q : vi 종료

참고

https://wiki.kldp.org/KoreanDoc/html/Vim_Guide-KLDP/Vim_Guide-KLDP.html

profile
웹개발

0개의 댓글